简介
在物联网和嵌入式系统的开发中,RT-Thread操作系统凭借其小巧、高效和灵活的特点,受到了越来越多开发者的青睐。然而,对于很多刚刚接触RT-Thread的开发者来说,购买和使用开发板可能会成为一个门槛。本文将详细介绍如何在QEMU虚拟机的Vexpress-A9平台上运行RT-Thread,帮助开发者在没有实际硬件开发板的情况下,轻松体验和学习RT-Thread的强大功能。
1.开发环境准备
开发环境:RT-Thread源码 + env-windows2.0工具 + VS Code
资源下载:Windows环境 使用VS Code开发RT-Thread(https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/application-note/setup/qemu/vscode/an0021-qemu-vscode?id=%E4%BD%BF%E7%94%A8-vs-code-%E5%BC%80%E5%8F%91-rt-thread)
env-windwos使用教程: Env 用户手册 (rt-thread.org)
https://www.rt-thread.org/document/site/#/development-tools/env/env
使用rt-thread主线代码的小伙伴记得要更新env-windows工具哈 — 资源下载链接中就可以直接下载
2.编译
进入目标文件夹:rtthread/bsp/qemu-vexpress-a9
点击鼠标右键:点击ConEmu Here打开env
如果工具栏中没有出现ConEmu Here说明没有按照Env用户手册的指定步骤配置哈
打开env之后执行scons -j16命令进行编译
env-windows中已经帮我们配置好了工具链(默认arm-none-eabi-gcc)因此我们无需再额外下载其它的工具
路径:env-windows\tools\gnu_gcc\arm_gcc\mingw
scons 命令:执行当前文件夹下的SConscript脚本
-j16 参数:使用16个核心加速编译(不够16个核心的则用cpu已有的核心数进行编译)
出现如下的编译信息说明就是编译成功了
3.运行
在env中执行命令qemu.bat
同样的env-windows中集成了qemu,因此我们可以直接在env命令行中直接使用qemu的命令
路径:env-windows\tools\qemu
我们的RT-Thread就成功运行起来啦!!!
可以尝试输入help指令查看能执行哪些命令
4.调试
4.1方式一(推荐)
更换调试器配置文件:qemu-vexpress-a9/.vscode/launch.json
将文件内容更换为:(也可能已经不用换了,如果大家发现文件内容不一样并且进不了调试就以这里配置信息的为准)
更换完成后在env命令行中执行指令qemu-dbg.bat
执行后会出现如下界面:
然后我们进入到vscode中按下F5即可进入调试模式啦!
结果如下图:
4.2方式二
这种方式呢比较古老,使用起来没那么方便,但是上述配置实在走不通的时候,我们至少能有个对策。
同样的,我们先在env命令行执行qemu-dbg.bat
然后另外在当前工作文件夹下再开启一个env命令行,执行arm-none-eabi-gdb rtthread.elf
我们就进入到了gdb的调试状态中
再执行target remote:1234
我们就可以进入到第一条指令的断点处了
不过我并不清楚为什么第一条指令的地址会在0x60000000处,我们多执行几条下一步指令就可以跳转到第一条指令啦
总结
好啦,这次的技术分享就介绍到这里,如果大家在学习过程中有疑问,或者对于这个教程的步骤说明有哪些建议或不满,请积极在评论区指出,我也会积极对您进行回复并改正的。
当然,RT-Thread🍑宝也提供了多款高性价比硬件产品,淘宝店铺搜索【睿赛德科技】欢迎选购
——————End——————
想要在RT-Thread平台或社区投放内容?或想参与相关直播活动及赛事?RT-Thread已开放对接窗口,请通过邮件与我们取得联系,期待合作!