开发者分享 | 基于先楫RT-Thread BSP,使用CLion开发应用

描述

本期开发者:朱彦祖

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进行个人的开发。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分