0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

先楫半导体HPMicro 2024-06-07 08:17 次阅读

本期开发者:朱彦祖

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。

54a704be-2463-11ef-bd4a-92fbcf53809c.png

3、创建一个新工程

使用RT-Thread Studio新建项目:

54adcfa6-2463-11ef-bd4a-92fbcf53809c.png

BSP用最新的即可,我这里用的是1.5.0。调试器、接口选项默认就可以,因为我们后续并不会用RT-Thread Studio进行调试。

工程建立好之后,我们点击小锤子编译,编译成功就可以往下继续了,如果你使用的也是RT-Thread 5.0.2并且编译报错,可以点击RT-Thread Settings,勾选上旧版本兼容性支持:

54b77272-2463-11ef-bd4a-92fbcf53809c.png

重新编译,不出意外应该到这里编译都能通过。

4、生成CMake工程

右键工程,点击“打开env终端”

54c571c4-2463-11ef-bd4a-92fbcf53809c.png

输入命令:scons –target=cmake

54c97490-2463-11ef-bd4a-92fbcf53809c.png

执行完命令后,刷新一下工程,可以发现工程根目录下面多了一个CmakeLists.txt,说明CMake工程已经生成成功了。

5、CLion配置工程

使用CLion打开工程根目录,会弹出CMake配置提示(如果没有提示,点击右上角设置 > Settings > Build,Execution,Deployment > CMake进行配置):

54e2418c-2463-11ef-bd4a-92fbcf53809c.png

这里默认为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。

55066738-2463-11ef-bd4a-92fbcf53809c.png

点击ok,回到工程界面,我们可以看到上方已经有了551792ec-2463-11ef-bd4a-92fbcf53809c.png551e71e8-2463-11ef-bd4a-92fbcf53809c.png按钮。

5530b8a8-2463-11ef-bd4a-92fbcf53809c.png

点击551792ec-2463-11ef-bd4a-92fbcf53809c.png进行编译。

55590b6e-2463-11ef-bd4a-92fbcf53809c.png

6、配置FPU和优化

打开工程根目录下的CMakeLists.txt文件,在CMAKE_C_FLAGS/MAKE_CXX_FLAGS/MAKE_ASM_FLAGS/MAKE_EXE_LINKER_FLAGS后面的标志中加入“-mabi=ilp32f -march=rv32imafc”:

556ac908-2463-11ef-bd4a-92fbcf53809c.png

优化等级的修改直接修改标志中的”-Og”字段为你想要的优化等级,例如,改成”-O3”即可开启最大优化等级。

7、烧录运行

我这里用的是Jlink烧录调试。

我们点击上方551792ec-2463-11ef-bd4a-92fbcf53809c.png左边的rtthread.elf > Edit Configurations。点击左上角加号,点击Embeded GDB Server,按下图所示进行配置。Executable binary直接下拉选择rtthread.elf,GDB Server选择你自己的Jlink安装目录中的执行文件,GDB Server args根据自己的芯片名称和烧录接口修改,我这里设备是HPM6750xVMX,接口为jtag。

55a4c536-2463-11ef-bd4a-92fbcf53809c.png

配置成功后返回工程界面,按住上方小蜘蛛进行debug,CLion不会在main函数入口停一下,而是直接运行,打开串口发现如下信息,RT-Thread运行成功。

55b3b456-2463-11ef-bd4a-92fbcf53809c.png

至此,RT-Thread可以在CLion进行编译开发和烧录。

8、后续开发

RT-Thread因其组件和软件包生态的丰富广受广大开发者的青睐,后续如果需要进行组件的配置以及软件包的移植,可以使用RT-Thread Studio中修改RT-Thread Settings进行相关配置,然后重新生成一下CMake工程,然后用CLion进行个人的开发。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 运动控制器
    +关注

    关注

    2

    文章

    393

    浏览量

    24639
  • 操作系统
    +关注

    关注

    37

    文章

    6713

    浏览量

    123164
  • BSP
    BSP
    +关注

    关注

    1

    文章

    86

    浏览量

    26100
  • RT-Thread
    +关注

    关注

    31

    文章

    1266

    浏览量

    39882
  • 先楫半导体
    +关注

    关注

    10

    文章

    214

    浏览量

    2058
收藏 人收藏

    评论

    相关推荐

    RT-Thread设备驱动开发指南基础篇—以bsp的hwtimer设备为例

    RT-Thread设备驱动开发指南》书籍是RT-thread官方出品撰写,系统讲解RT-thread IO设备驱动开发方法,从三方面进行讲解
    的头像 发表于 02-20 16:01 1579次阅读
    <b class='flag-5'>RT-Thread</b>设备驱动<b class='flag-5'>开发</b>指南基础篇—以<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>bsp</b>的hwtimer设备为例

    RT-Thread驱动开发指南进阶篇-动手驱动未适配的外设LCD

    经过上一篇的《《RT-Thread设备驱动开发指南》基础篇--以bsp的hwtimer设备为例》阐述,可以大致了解到
    的头像 发表于 02-25 11:04 2258次阅读
    <b class='flag-5'>RT-Thread</b>驱动<b class='flag-5'>开发</b>指南进阶篇-动手驱动<b class='flag-5'>先</b><b class='flag-5'>楫</b>未适配的外设LCD

    超越自我,逐梦全球|RT-Thread开发者大会圆满落幕!

    、极海半导体、华大半导体、半导体、国民技术等成为RT-Thread的金牌或者高级会员。同时RT-Threa正在从本土os走向全球,获得了众多海外
    发表于 01-12 08:00

    2020·RDC·RT-Thread开发者大会圆满落幕!

    近日,由睿赛德科技主办的一年一度2020·RDC·RT-Thread 开发者大会在深圳圆满落幕!活动以“万物智能·轻时代”为主题,并携手RT-Thread众合作伙伴,与现场近千名参会开发者
    的头像 发表于 12-31 14:24 2827次阅读

    牛人志|19岁开发者是如何成长为RT-Thread 杰出贡献的?

    本期采访对象:杨嘉勋,中国上海某高中应届毕业生,长居于中国杭州。RT-Thread社区开发者,提交了龙芯的BSP补丁,以及mipssim的bsp,统...
    发表于 01-25 17:31 0次下载
    牛人志|19岁<b class='flag-5'>开发者</b>是如何成长为<b class='flag-5'>RT-Thread</b> 杰出贡献<b class='flag-5'>者</b>的?

    RT-Thread 4.1.0的CMake构建教程

    SCons,还支持了 CMake,开发者可以有更多的选择   使用 ENV 构建 CMake 工程 在 rt-thread/bsp 目录下打开任意的工程,这里使用 stm32h743-st-nucleo
    的头像 发表于 05-25 11:06 3288次阅读

    【online】2022 RDC RT-Thread开发者大会议程发布!

    2022 RDC RT-Thread开发者大会以“聚势而强,乘势而上”为主题,伴随着RT-Thread生态圈的日渐繁荣,我们积蓄了足够雄厚的力量突破自我!本次大会,我们将为大家展示RT-Thr
    的头像 发表于 12-07 19:40 734次阅读

    2022年最后1场,RT-Thread开发者项目分享会报名啦~

    近几年随着物联网的迅速发展,RT-Thread操作系统越来越受到开发者喜爱,基于RT-Thread生态的项目和产品也日益完善。自2021年来,RT-Thread携手电子发烧友共建
    的头像 发表于 12-27 21:05 857次阅读

    上海线下培训:RT-Thread× HPM5300 for RT-Thread ,高性能 RISC-V 平台开发快速上手

    RT-Thread的代表性产品和服务。 同时,我们也邀请到的资深工程师杨帆,他将为开发者们带来期待已久的热门技术主题培训,RT-Thread
    的头像 发表于 11-03 19:10 719次阅读
    上海线下培训:<b class='flag-5'>RT-Thread</b>×<b class='flag-5'>先</b><b class='flag-5'>楫</b>  HPM5300 for <b class='flag-5'>RT-Thread</b> ,高性能 RISC-V 平台<b class='flag-5'>开发</b>快速上手

    线下活动|HPM5300 for RT-Thread ,高性能 RISC-V 平台开发快速上手

    公司最新技术和创新解决方案的机会。参与将深入了解半导体和RT-Thread的代表性产品和服务。同时,我们也邀请到
    的头像 发表于 11-08 08:18 643次阅读
    线下活动|<b class='flag-5'>先</b><b class='flag-5'>楫</b>HPM5300 for <b class='flag-5'>RT-Thread</b> ,高性能 RISC-V 平台<b class='flag-5'>开发</b>快速上手

    半导体亮相2023 RDC RT-Thread开发者大会

    2023年12月23日,上海临港中心 - 国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)携其高性能MCU产品系列及解决方案亮相2023 RDC
    的头像 发表于 12-25 17:18 749次阅读

    半导体亮相2023 RDC RT-Thread开发者大会

    2023年12月23日,上海临港中心-国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)携其高性能MCU产品系列及解决方案亮相2023RDCRT-
    的头像 发表于 12-26 08:17 557次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体亮相2023 RDC <b class='flag-5'>RT-Thread</b><b class='flag-5'>开发者</b>大会

    RT-Thread BSP v1.4.0 正式发布

    亲爱的小伙伴们:我们很高兴地通知您,RT-ThreadBSPv1.4.0正式发布了!!1个小转变:从这个版本开始,我们将更侧重于利用RT-Thread丰富的组件以及特色的在线包,基
    的头像 发表于 02-19 12:20 571次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>BSP</b> v1.4.0 正式发布

    半导体所有开发板已上RT-Thread主线啦

    目前,半导体在RT-Thread主线支持的开发板包含以下这些
    的头像 发表于 06-05 08:17 494次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体所有<b class='flag-5'>开发</b>板已上<b class='flag-5'>RT-Thread</b>主线啦

    开源共生 商业共赢 | RT-Thread 2024开发者大会报名启动!

    亲爱的RT-Thread开发者我们很高兴地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread开发者
    的头像 发表于 10-29 08:06 176次阅读
    开源共生 商业共赢 | <b class='flag-5'>RT-Thread</b> 2024<b class='flag-5'>开发者</b>大会报名启动!