Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
cubemx
RT-Thread Studio
CubeMX & RT-Thread Studio 联合开发说明
发布于 2025-03-23 10:46:00 浏览:80
订阅该版
[tocm] # 联合开发的背景因素 在RTT工程中想使用HAL最新的接口,发现RTT自动生成的工程中HAL版本过低,不支持此接口,遂研究CubeMX和RTT的工程文件构成,然后输出了此工作流。 CubeMX具有最新的HAL库和强大的图形化外设配置功能,RT-Thread Studio自动配置RT-Thread系统工程和丰富相关组件,如何将两者的优势结合起来呢? **RT-Thread Studio** - 优势 - 自动生成指定芯片的RT-Thread基础工程,无需手动移植 - 可配置丰富的组件,选择后自动部署 - 缺点 - 自动生成的芯片接口文件、HAL库文件版本较老,无法使用HAL的新功能 - 不支持图形化配置外设 **CumeMX** - 优势 - 可自动生成指定芯片的基础工程 - 可配置指定操作系统, - 图形化配置时钟、串口等外设 - 具有最新的芯片接口文件、HAL库驱动文件 - 缺点 - 可配置的操作系统有限,RT-Thread仅为NANO版本,且不一定是最新版本 - 无法配置RT-Thread相关的丰富组件 # 方法 ## 1 RT-Thread Studio 基础工程实现 - 选择好具体芯片型号、调试串口、调试接口后,自动生成即可 - 选择自己需要的组件,加入到工程中 ## 2 CubeMX 基础工程实现 该部分教程较多,简单部分简要说明,仅在对联合开发具有影响的特殊步骤进行详细描述 - 点击RT-Thread Studio中CubeMX Setting,使用内部CubeMX,在默认路径输出工程文件,方便后续修改外设 - 选择芯片具体型号 - RCC配置:根据自己实际配置好HSE或HSI - SYS配置:无需特殊配置TimeBase Source,因为RT-Thread中已在SysTick服务中接入了HAL的tick - NVIC配置:取消掉Code generation中的Hardfault_IRQn\PendSV_IRQn\Systick_IRQn,因为在RT-Thread工程已配置好这3个中断服务函数  - 外设配置:用户根据需求配置好usart adc等外设 ## 3 工程合并 主旨思想为将CubeMX中芯片接口文件、HAL驱动库、用户外设配置移植到RT-Thread工程中,且系统可正常运行 - cubemx/,CubeMX 基础工程实现后,刷新项目,cubemx文件出现,包含3个文件夹(以MDK-ARM为例),其操作分别为 - src/,main.c 修改main()为weak属性,并将用户配置的外设初始化函数移植到applications/main.c main()中  - MDK-ARM/,取消构建工程文件所在的文件夹,例如MDK-ARM,**此为去掉CubeMX生成的.s文件,编译器不同,该文件编译不过**,启动文件使用RT-Thread中自带的即可 - Driver/,仅对以下路径进行构建 - CMSIS/Device/ST/STM32xx/Include - CMSIS/Include - STM32xxHAL_Driver **此为将最新的芯片驱动和HAL库文件加入工程中** - drivers/ - drv_clk.c 将system_clock_config()函数内容替换为cubemx/src/main.c中SystemClock_Config()函数内容,**此为cubemx的时钟树配置进行移植** - usart_drv.c,将stm32_gpio_configure(uart_config); 复制到stm32_configure()函数中return之前位置,并注释掉该文件中HAL_UART_MspInit函数,**此部分为解决HAL_UART_MspInit函数定义重复,且能正常初始化调试串口**  - stm32g4xx_hal_conf.h 重命名为stm32g4xx_hal_conf_bak.h 一般cubemx配置好后,该文件会自动重命名,但有两个软件不匹配的导致未重命名的情况。 - libraries/ - 仅保留对CMSIS/Device/ST/STM32G4xx/Source/Templates/gcc的构建,其余路径全部取消构建。**此为去除掉RT-Thread中旧版本的芯片驱动和HAL库文件** 最终资源构建如下图 
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
LHX_1995
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
rt_thread studio 啥时候能用呢
2
RT_Thread使用反馈帖子
3
RTT studio 下的 AT指令问题。
4
什么时候RTT Sdudio支持Ubuntu,Deepin和UOS操作系统
5
rt thread Studio 关于J-LINK下载问题
6
RT-Thread studio 调试设置问题
7
RTT-Studio 如何设置调试配置参数?
8
rt_thread studio 软件包配置
9
RT-Studio目前只能开发STM32的项目吗?
10
rtt studio 生成hex名字修改
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
ESP8266
UART
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
lchnu
3
个答案
2
次被采纳
张世争
1
个答案
2
次被采纳
a1012112796
9
个答案
1
次被采纳
三世执戟
8
个答案
1
次被采纳
聚散无由
5
个答案
1
次被采纳
本月文章贡献
jinchanchan
10
篇文章
13
次点赞
ssdd45555
3
篇文章
2
次点赞
聚散无由
1
篇文章
4
次点赞
RTT_逍遥
1
篇文章
3
次点赞
hywing
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部