簡介
在物聯(lián)網(wǎng)和嵌入式系統(tǒng)的開發(fā)中,RT-Thread操作系統(tǒng)憑借其小巧、高效和靈活的特點,受到了越來越多開發(fā)者的青睞。然而,對于很多剛剛接觸RT-Thread的開發(fā)者來說,購買和使用開發(fā)板可能會成為一個門檻。本文將詳細(xì)介紹如何在QEMU虛擬機(jī)的Vexpress-A9平臺上運(yùn)行RT-Thread,幫助開發(fā)者在沒有實際硬件開發(fā)板的情況下,輕松體驗和學(xué)習(xí)RT-Thread的強(qiáng)大功能。
1.開發(fā)環(huán)境準(zhǔn)備
開發(fā)環(huán)境:RT-Thread源碼 + env-windows2.0工具 + VS Code
資源下載:Windows環(huán)境 使用VS Code開發(fā)RT-Thread
env-windwos使用教程: Env 用戶手冊 (rt-thread.org)
使用rt-thread主線代碼的小伙伴記得要更新env-windows工具哈 — 資源下載鏈接中就可以直接下載
2.編譯
進(jìn)入目標(biāo)文件夾:rtthread/bsp/qemu-vexpress-a9
點擊鼠標(biāo)右鍵:點擊ConEmu Here打開env
如果工具欄中沒有出現(xiàn)ConEmu Here說明沒有按照Env用戶手冊的指定步驟配置哈

打開env之后執(zhí)行scons -j16命令進(jìn)行編譯
env-windows中已經(jīng)幫我們配置好了工具鏈(默認(rèn)arm-none-eabi-gcc)因此我們無需再額外下載其它的工具
路徑:env-windows\tools\gnu_gcc\arm_gcc\mingw
scons 命令:執(zhí)行當(dāng)前文件夾下的SConscript腳本
-j16 參數(shù):使用16個核心加速編譯(不夠16個核心的則用cpu已有的核心數(shù)進(jìn)行編譯)
出現(xiàn)如下的編譯信息說明就是編譯成功了

3.運(yùn)行
在env中執(zhí)行命令qemu.bat
同樣的env-windows中集成了qemu,因此我們可以直接在env命令行中直接使用qemu的命令
路徑:env-windows\tools\qemu

我們的RT-Thread就成功運(yùn)行起來啦!!!
可以嘗試輸入help指令查看能執(zhí)行哪些命令

4.調(diào)試
4.1方式一(推薦)
更換調(diào)試器配置文件:qemu-vexpress-a9/.vscode/launch.json
將文件內(nèi)容更換為:(也可能已經(jīng)不用換了,如果大家發(fā)現(xiàn)文件內(nèi)容不一樣并且進(jìn)不了調(diào)試就以這里配置信息的為準(zhǔn))

更換完成后在env命令行中執(zhí)行指令qemu-dbg.bat
執(zhí)行后會出現(xiàn)如下界面:

然后我們進(jìn)入到vscode中按下F5即可進(jìn)入調(diào)試模式啦!
結(jié)果如下圖:

4.2方式二
這種方式呢比較古老,使用起來沒那么方便,但是上述配置實在走不通的時候,我們至少能有個對策。
同樣的,我們先在env命令行執(zhí)行qemu-dbg.bat
然后另外在當(dāng)前工作文件夾下再開啟一個env命令行,執(zhí)行arm-none-eabi-gdb rtthread.elf
我們就進(jìn)入到了gdb的調(diào)試狀態(tài)中

再執(zhí)行target remote:1234
我們就可以進(jìn)入到第一條指令的斷點處了

不過我并不清楚為什么第一條指令的地址會在0x60000000處,我們多執(zhí)行幾條下一步指令就可以跳轉(zhuǎn)到第一條指令啦

總結(jié)
好啦,這次的技術(shù)分享就介紹到這里,如果大家在學(xué)習(xí)過程中有疑問,或者對于這個教程的步驟說明有哪些建議或不滿,請積極在評論區(qū)指出,我也會積極對您進(jìn)行回復(fù)并改正的。
-
開發(fā)板
+關(guān)注
關(guān)注
26文章
6340瀏覽量
119378 -
ARM架構(gòu)
+關(guān)注
關(guān)注
15文章
185瀏覽量
39273 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1627瀏覽量
45046 -
qemu
+關(guān)注
關(guān)注
0文章
57瀏覽量
5966
發(fā)布評論請先 登錄
如何在windows和linux平臺使用RT-Thread QEMU BSP,并運(yùn)行RT-ThreadGUI示例
如何在PSoC62 Evaluation kit開發(fā)板上運(yùn)行RT-Thread呢?
RT-Thread Smart 入門指南
如何使用RT-Thread Studio創(chuàng)建支持HPM6750開發(fā)板的RT-Thread項目
如何在Window及Ubuntu平臺使用QEMU運(yùn)行 RT-Thread qemu-vexpress-a9 BSP工程
RT-Thread編程指南
RT-Thread開發(fā),如何有效學(xué)習(xí)RT-Thread的五個步驟
AB32VG1 RT-Thread 開發(fā)環(huán)境搭建
RT-Thread Studio驅(qū)動SD卡
基于RoboMasterC型開發(fā)板的RT-Thread使用分享(一)
RT-Thread qemu mps2-an385 bsp移植制作 :環(huán)境搭建篇
RT-Thread啟動流程?RT-Thread如何支持不同開發(fā)板?
rt-studio潘多拉開發(fā)板最新rt-thread不能運(yùn)行解決辦法
【QEMU系列】不用開發(fā)板運(yùn)行RT-Thread指南-RISC-V架構(gòu)
【QEMU系列】不用開發(fā)板運(yùn)行RT-Thread指南-ARM架構(gòu)
評論