本期开发者:朱彦祖
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进行个人的开发。
全部0条评论
快来发表一下你的评论吧 !