本期開發(fā)者:朱彥祖
RT-Thread 資深工程師,HPM6700/6400元老級開發(fā)者及骨灰級用戶,先輯生態(tài)社區(qū)常駐優(yōu)秀開發(fā)者,江湖人稱杭州吳彥祖。
背景
最近在使用先輯HPM6750開發(fā)一款運動控制器,搭載RT-Thread實時操作系統(tǒng),使用RT-Thread Studio進行開發(fā)。RT-Thread是一個偉大的操作系統(tǒng),但是,RT-Thread Studio使用起來還是有些許不方便的地方。
這時候,如果找到一個更好用的能夠用來開發(fā)RT-Thread的IDE就好了,想到RT-Thread的scons命令能夠?qū)斍暗?span style="color:rgb(0,0,0);">RT-Thread項目生成其他IDE對應(yīng)的工程。例如,在有模板文件的前提下,scons—target=mdk5可以生成keil工程,scons—target=ses可以生成segger工程
開發(fā)方法
這里,我們生成RT-Thread的cmake工程,并使用JetBrains的CLion編譯器進行開發(fā)。下面講解一下具體的步驟:
1、安裝RT-Thread Studio、CLion。按照如下官方教程下載sdk包。
邁向應(yīng)用 | 先楫 RT-Thread BSP v1.4.0 正式發(fā)布
2、 配置環(huán)境變量
下一步開始配置環(huán)境變量HPM_SDK_BASE和GNURISCV_TOOLCHAIN_PATH,前者為SDK的根目錄路徑,后者為toolchain的根目錄路徑。我這里SDK用的是1.4版本,工具鏈為rv32imac-ilp32-multilib-win。
3、創(chuàng)建一個新工程
使用RT-Thread Studio新建項目:
BSP用最新的即可,我這里用的是1.5.0。調(diào)試器、接口選項默認就可以,因為我們后續(xù)并不會用RT-Thread Studio進行調(diào)試。
工程建立好之后,我們點擊小錘子編譯,編譯成功就可以往下繼續(xù)了,如果你使用的也是RT-Thread 5.0.2并且編譯報錯,可以點擊RT-Thread Settings,勾選上舊版本兼容性支持:
重新編譯,不出意外應(yīng)該到這里編譯都能通過。
4、生成CMake工程
右鍵工程,點擊“打開env終端”
輸入命令:scons –target=cmake
執(zhí)行完命令后,刷新一下工程,可以發(fā)現(xiàn)工程根目錄下面多了一個CmakeLists.txt,說明CMake工程已經(jīng)生成成功了。
5、CLion配置工程
使用CLion打開工程根目錄,會彈出CMake配置提示(如果沒有提示,點擊右上角設(shè)置 > Settings > Build,Execution,Deployment > CMake進行配置):
這里默認為Toolchain為gcc,Generator為Ninja,我們直接點擊右下角OK即可,如果你這里Generator為unix或者其他,需要配置為Ninja。
進入工程界面之后,點擊右上角設(shè)置 > settings > Build,Execution > Deployment > Toolchains,新建一個system類型的工具鏈并命名為gcc,修改C/C++編譯器和GDB的路徑為先輯sdk中toolchain的可執(zhí)行文件路徑,我這里用的toolchain為SDK1.4的rv32imac-ilp32-multilib-win。
點擊ok,回到工程界面,我們可以看到上方已經(jīng)有了按鈕。
點擊進行編譯。
6、配置FPU和優(yōu)化
打開工程根目錄下的CMakeLists.txt文件,在CMAKE_C_FLAGS/MAKE_CXX_FLAGS/MAKE_ASM_FLAGS/MAKE_EXE_LINKER_FLAGS后面的標志中加入“-mabi=ilp32f -march=rv32imafc”:
優(yōu)化等級的修改直接修改標志中的”-Og”字段為你想要的優(yōu)化等級,例如,改成”-O3”即可開啟最大優(yōu)化等級。
7、燒錄運行
我這里用的是Jlink燒錄調(diào)試。
我們點擊上方左邊的rtthread.elf > Edit Configurations。點擊左上角加號,點擊Embeded GDB Server,按下圖所示進行配置。Executable binary直接下拉選擇rtthread.elf,GDB Server選擇你自己的Jlink安裝目錄中的執(zhí)行文件,GDB Server args根據(jù)自己的芯片名稱和燒錄接口修改,我這里設(shè)備是HPM6750xVMX,接口為jtag。
配置成功后返回工程界面,按住上方小蜘蛛進行debug,CLion不會在main函數(shù)入口停一下,而是直接運行,打開串口發(fā)現(xiàn)如下信息,RT-Thread運行成功。
至此,RT-Thread可以在CLion進行編譯開發(fā)和燒錄。
8、后續(xù)開發(fā)
RT-Thread因其組件和軟件包生態(tài)的豐富廣受廣大開發(fā)者的青睞,后續(xù)如果需要進行組件的配置以及軟件包的移植,可以使用RT-Thread Studio中修改RT-Thread Settings進行相關(guān)配置,然后重新生成一下CMake工程,然后用CLion進行個人的開發(fā)。
-
運動控制器
+關(guān)注
關(guān)注
2文章
445瀏覽量
25148 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7091瀏覽量
124958 -
BSP
+關(guān)注
關(guān)注
1文章
91瀏覽量
26742 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1370瀏覽量
41512 -
先楫半導(dǎo)體
+關(guān)注
關(guān)注
10文章
249瀏覽量
2573
發(fā)布評論請先 登錄
RT-Thread設(shè)備驅(qū)動開發(fā)指南基礎(chǔ)篇—以先楫bsp的hwtimer設(shè)備為例

RT-Thread驅(qū)動開發(fā)指南進階篇-動手驅(qū)動先楫未適配的外設(shè)LCD

超越自我,逐夢全球|RT-Thread開發(fā)者大會圓滿落幕!
2020·RDC·RT-Thread開發(fā)者大會圓滿落幕!
牛人志|19歲開發(fā)者是如何成長為RT-Thread 杰出貢獻者的?

RT-Thread 4.1.0的CMake構(gòu)建教程
【online】2022 RDC RT-Thread開發(fā)者大會議程發(fā)布!
2022年最后1場,RT-Thread開發(fā)者項目分享會報名啦~
上海線下培訓(xùn):RT-Thread×先楫 HPM5300 for RT-Thread ,高性能 RISC-V 平臺開發(fā)快速上手

線下活動|先楫HPM5300 for RT-Thread ,高性能 RISC-V 平臺開發(fā)快速上手

先楫半導(dǎo)體亮相2023 RDC RT-Thread開發(fā)者大會
先楫半導(dǎo)體亮相2023 RDC RT-Thread開發(fā)者大會

先楫 RT-Thread BSP v1.4.0 正式發(fā)布

開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會報名啟動!

評論