【RED-V】运行 RT-Thread 操作系统

网友投稿 333 2022-11-30

【RED-V】运行 RT-Thread 操作系统

准备工作

BSP

目前 RT-Thread 官方仓库还没有提供 Sparkfun RED-V 开发板的 BSP 包,想尝试的小伙伴可以先克隆我的!

仓库地址:​​Freedom Studio 集成的 riscv64-unknown-elf-gcc 编译工具链。因此,在开始之前,您还需要安装 ​​Freedom Studio​​ 集成开发环境。

特别地,如果您想在 Freedom Studio 导入并编译工程,可能需要下载 v2019.08.1 版本才行。

​​FreedomStudio-2019-08-1-lin64​​​​FreedomStudio-2019-08-1-win64​​​​FreedomStudio-2019-08-1-mac64​​

Linux

如果您和我一样使用 Linux 系统,可以直接通过命令行进行编译。只需要修改该 BSP 的 rtconfig.py 配置文件中编译工具链路径。

if CROSS_TOOL == 'gcc': PLATFORM = 'gcc' EXEC_PATH = r'/opt/FreedomStudio/SiFive/riscv64-unknown-elf-gcc-8.3.0-2020.04.1/bin/'

并确保 Makefile 中的 scons 配置正确即可。

#scons := python ${SCONS}\scons.pyscons = sconsall: @$(scons)clean: @$(scons) -c

Windows

假设工具链的默认位置为 ​​SiFive/riscv64-unknown-elf-gcc-8.3.0-2019.08.0/bin/​​ 目录。运行 Env 工具,根据实际情况,输入以下命令设置环境变量:

set RTT_EXEC_PATH=工具链的路径set path=%path%;工具链的路径

例如:

set RTT_EXEC_PATH=C:\FreedomStudio-2019-08-1-win64\SiFive\riscv64-unknown-elf-gcc-8.3.0-2019.08.0\binset path=%path%;C:\FreedomStudio-2019-08-1-win64\SiFive\riscv64-unknown-elf-gcc-8.3.0-2019.08.0\bin

从 Env 工具打开 IDE

在 Env 中使用 cd 命令切换到 FreedomStudio 解压后的目录中,再执行 ​​FreedomStudio.exe​​ 文件启动 IDE。例如:

cd C:\FreedomStudio-2019-08-1-win64FreedomStudio.exe

导入工程

以下步骤适用于 Windows 和 Linux 系统(MacOS 没有测试过)。

编译

当窗口输出 ​​Build Finished​​​ ,左侧文件列表出现 ​​rtthread.elf​​ 文件时,即为编译成功。

另外,如果使用 Linux 命令行编译,当配置好 BSP 后,直接在 sparkfun-redv 目录执行 scons 即可完成编译。

rudy@Latitude-3400:~/workspace/Projects/rt-thread/bsp/sparkfun-redv$ sconsscons: Reading SConscript files ...scons: done reading SConscript files.scons: Building targets ...scons: building associated VariantDir targets: buildCC build/applications/led/led.oCC build/applications/main.oCC build/drivers/board.oCC build/drivers/drv_gpio.oCC build/drivers/drv_usart.oCC build/drivers/interrupt.o...LINK rtthread.elfriscv64-unknown-elf-objcopy -O binary rtthread.elf rtthread.binriscv64-unknown-elf-objcopy -O ihex rtthread.elf rtthread.hexriscv64-unknown-elf-size rtthread.elf text data bss dec hex filename 73113 288 6279 79680 13740 rtthread.elfscons: done

运行 RT-Thread

如果您通过 Linux 命令行编译成功,只需要将 rtthread.hex 拖曳进 HiFive U 盘即可。如果想通过 FreedomStudio 下载、调试,请参照如下步骤。

配置 Debug 参数

使用 type-c usb 数据线连接电脑与开发板。右键列表中的 ​​rtthread.elf​​​ 文件,选择 ​​Debug As->1 As JLink launch​​。

运行结果

下载程序之后,连接串口(115200-N-8-1),可以看到 RT-Thread 的输出信息:

可以看到板载的蓝色 LED 灯以 1Hz 频率闪烁,按下 Tab 键可以查看 RT-Thread 内置的命令。

msh >RT-Thread shell commands:give_me_five - Show the SiFive logomemcheck - check memory datamemtrace - dump memory trace informationclear - clear the terminal screenversion - show RT-Thread version informationlist_thread - list threadlist_sem - list semaphore in systemlist_event - list event in systemlist_mutex - list mutex in systemlist_mailbox - list mail box in systemlist_msgqueue - list message queue in systemlist_mempool - list memory pool in systemlist_timer - list timer in systemlist_device - list device in systemhelp - RT-Thread shell help.ps - List threads in the system.free - Show the memory usage in

执行 ​​ps​​ 查看系统线程运行情况:

msh >psthread pri status sp stack size max used left tick error-------------------- --- ------- ---------- ---------- ------ ---------- ---tshell 20 running 0x00000140 0x00001000 22% 0x00000007 000tidle0 255 ready 0x000000f0 0x00000400 23% 0x00000016 000main 85 ready 0x00000140 0x00000800 20% 0x00000013 -02

执行 ​​list_device​​ 查看系统设备:

msh >list_devicedevice type ref count-------------------------------- -------------------- ----------dusart Character Device 2

另外,该 BSP 还内置了一个 ​​give_me_five​​ 命令:

好啦!关于 RT-Thread 和 RISC-V 的更多内容,我们后面再一起探索。今天就先到这里啦~

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Maven项目web多图片上传及格式验证的实现
下一篇:我的2020——一颗红心,两手准备
相关文章

 发表评论

暂时没有评论,来抢沙发吧~