本期開發者:朱彥祖
RT-Thread 資深工程師,HPM6700/6400元老級開發者及骨灰級用戶,先輯生態社區常駐優秀開發者,江湖人稱杭州吳彥祖。
背景
最近在使用先輯HPM6750開發一款運動控制器,搭載RT-Thread實時操作系統,使用RT-Thread Studio進行開發。RT-Thread是一個偉大的操作系統,但是,RT-Thread Studio使用起來還是有些許不方便的地方。
這時候,如果找到一個更好用的能夠用來開發RT-Thread的IDE就好了,想到RT-Thread的scons命令能夠將當前的RT-Thread項目生成其他IDE對應的工程。例如,在有模板文件的前提下,scons—target=mdk5可以生成keil工程,scons—target=ses可以生成segger工程
開發方法
這里,我們生成RT-Thread的cmake工程,并使用JetBrains的CLion編譯器進行開發。下面講解一下具體的步驟:
1、安裝RT-Thread Studio、CLion。按照如下官方教程下載sdk包。
邁向應用 | 先楫 RT-Thread BSP v1.4.0 正式發布
2、 配置環境變量
下一步開始配置環境變量HPM_SDK_BASE和GNURISCV_TOOLCHAIN_PATH,前者為SDK的根目錄路徑,后者為toolchain的根目錄路徑。我這里SDK用的是1.4版本,工具鏈為rv32imac-ilp32-multilib-win。

3、創建一個新工程
使用RT-Thread Studio新建項目:

BSP用最新的即可,我這里用的是1.5.0。調試器、接口選項默認就可以,因為我們后續并不會用RT-Thread Studio進行調試。
工程建立好之后,我們點擊小錘子編譯,編譯成功就可以往下繼續了,如果你使用的也是RT-Thread 5.0.2并且編譯報錯,可以點擊RT-Thread Settings,勾選上舊版本兼容性支持:

重新編譯,不出意外應該到這里編譯都能通過。
4、生成CMake工程
右鍵工程,點擊“打開env終端”

輸入命令:scons –target=cmake

執行完命令后,刷新一下工程,可以發現工程根目錄下面多了一個CmakeLists.txt,說明CMake工程已經生成成功了。
5、CLion配置工程
使用CLion打開工程根目錄,會彈出CMake配置提示(如果沒有提示,點擊右上角設置 > Settings > Build,Execution,Deployment > CMake進行配置):

這里默認為Toolchain為gcc,Generator為Ninja,我們直接點擊右下角OK即可,如果你這里Generator為unix或者其他,需要配置為Ninja。
進入工程界面之后,點擊右上角設置 > settings > Build,Execution > Deployment > Toolchains,新建一個system類型的工具鏈并命名為gcc,修改C/C++編譯器和GDB的路徑為先輯sdk中toolchain的可執行文件路徑,我這里用的toolchain為SDK1.4的rv32imac-ilp32-multilib-win。

點擊ok,回到工程界面,我們可以看到上方已經有了
按鈕。

點擊
進行編譯。

6、配置FPU和優化
打開工程根目錄下的CMakeLists.txt文件,在CMAKE_C_FLAGS/MAKE_CXX_FLAGS/MAKE_ASM_FLAGS/MAKE_EXE_LINKER_FLAGS后面的標志中加入“-mabi=ilp32f -march=rv32imafc”:

優化等級的修改直接修改標志中的”-Og”字段為你想要的優化等級,例如,改成”-O3”即可開啟最大優化等級。
7、燒錄運行
我這里用的是Jlink燒錄調試。
我們點擊上方
左邊的rtthread.elf > Edit Configurations。點擊左上角加號,點擊Embeded GDB Server,按下圖所示進行配置。Executable binary直接下拉選擇rtthread.elf,GDB Server選擇你自己的Jlink安裝目錄中的執行文件,GDB Server args根據自己的芯片名稱和燒錄接口修改,我這里設備是HPM6750xVMX,接口為jtag。

配置成功后返回工程界面,按住上方小蜘蛛進行debug,CLion不會在main函數入口停一下,而是直接運行,打開串口發現如下信息,RT-Thread運行成功。

至此,RT-Thread可以在CLion進行編譯開發和燒錄。
8、后續開發
RT-Thread因其組件和軟件包生態的豐富廣受廣大開發者的青睞,后續如果需要進行組件的配置以及軟件包的移植,可以使用RT-Thread Studio中修改RT-Thread Settings進行相關配置,然后重新生成一下CMake工程,然后用CLion進行個人的開發。
-
運動控制器
+關注
關注
2文章
483瀏覽量
26036 -
操作系統
+關注
關注
37文章
7401瀏覽量
129276 -
BSP
+關注
關注
1文章
99瀏覽量
27971 -
RT-Thread
+關注
關注
32文章
1613瀏覽量
44818 -
先楫半導體
+關注
關注
12文章
284瀏覽量
3297
發布評論請先 登錄
RT-Thread設備驅動開發指南基礎篇—以先楫bsp的hwtimer設備為例
超越自我,逐夢全球|RT-Thread開發者大會圓滿落幕!
2020·RDC·RT-Thread開發者大會圓滿落幕!
牛人志|19歲開發者是如何成長為RT-Thread 杰出貢獻者的?
2022年最后1場,RT-Thread開發者項目分享會報名啦~
上海線下培訓:RT-Thread×先楫 HPM5300 for RT-Thread ,高性能 RISC-V 平臺開發快速上手
線下活動|先楫HPM5300 for RT-Thread ,高性能 RISC-V 平臺開發快速上手
先楫半導體亮相2023 RDC RT-Thread開發者大會
先楫半導體亮相2023 RDC RT-Thread開發者大會
先楫 RT-Thread BSP v1.4.0 正式發布
開源共生 商業共贏 | RT-Thread 2024開發者大會報名啟動!
在Ubuntu上開發基于先楫MCU的RT-Thread應用指南
Windows上使用ENV工具開發基于先楫MCU的RT-Thread應用
開發者分享 | 基于先楫RT-Thread BSP,使用CLion開發應用
評論