|
RT-Thread作为国产OS之光,实际应用中总会遇到的。如何结合Cubemx快捷移植RTT呢?下面结合H533板卡简单的测试一下,然后就是举一反三了。4 S* D0 G. q- ?1 g+ H 首先打开cubemx工具,点击help->Embeded software packages manager菜单,打开软件包管理界面,cubemx提供了离线及在线安装软件包方式,选择左下角From Url…,弹出的对话框中点击new,如图1所示:. d5 y7 w9 `& M0 J& v; k* x' J
( P% d0 I: a0 [% q; \& b0 C 图1, u+ `3 R& p" r: }3 W5 o 输入RTT的网址,https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc,然后点击check,旁边显示绿色,既显示校验通过。点击OK,回到User Defined Packs Manager界面,再次点击OK。这时,CubeMx自动连接服务器,获取包描述文件,选择RT-Thread Software Components,点击install now,等待安装好后。% ]. h. U8 a8 ^, o / @+ Z! D- }" z' O6 E& H/ o 安装好后,显示绿色。如图2所示:
& ]( X& {0 [* @* n) ^ r 图2 然后回到主界面,选择芯片,双击进入工程参数设置。 $ o1 V5 E4 j7 S. g: r) c" { 点击左边栏的Middleware and Software Packs->X-CUBE-RT-Thread_Nano,进入组件配置界面,选择RealThread.X-CUBE-RT-Thread_Nano,当前四个都选上,如图3所示:1 E. e( _, a5 K6 R! G
/ s' i' x- u' C 图38 p! e* }- Q8 y& g. {+ I 回到主界面,在左边的菜单Middeleware and Software Packs中,再点击X-CUBE-RT-Thread_Nano,选择RTOS RT-Thread,参数默认,如图4所示:
图4 配置PA5作为输出测试引脚。配置时钟等,无需多言。 需要在NVIC中去掉三个中断,HardFault_interrupt,Pendable_request interrupt,System tick timer,如图5所示:
) G- R, O& K3 u2 r 图5 因为RTOS使用了systick,所以为了避免冲突,SYS->Timebae Source 选择TIM15。如图6所示:
图65 X# t+ O, I4 u9 u! k 然后配置Project Manager,Toolchain/IDE使用MDK-ARM., m2 H6 g& f! a& q" E. U3 N9 i Generate code. 4 B7 x O5 s$ B# S* s) X7 S 在生成的main函数中添加#include "rtthread.h",编译。4 r& _1 }5 R w# T2 ]2 Z! F, B+ H @ & Y; c9 Z0 q* }6 L 会发现提示board.c文件中,UartHandler错误,没有定义。是因为CubeMX中没有配置这部分。回到CubeMx中,选择UART2,如图7所示: m, X1 y/ ?* T7 u" {" ?3 K, r
J k) H" N2 P$ K 图7% T% G: t. s h# l& y 按照参数进行配置即可。重新Generate code. 编译,正常 在main.c文件中添加一个线程,如下所示:
! Z! X1 l8 X+ c* {% y4 ^ main函数中启动线程,并开启调度函数,如下:
移植没啥问题了,就可以多任务模块添加了。 |
|
初学者适合看看/ P7 h4 N* R5 R" P! { |
【STM32H5 评测】+ CPU性能测试
【STM32H5 评测】+ 存储性能测试
【STM32H5 评测】ADC 电压表
线下实训(深圳/苏州站) | STM32H5信息安全开发,大模型高效赋能
【STM32H5 评测】MNIST 数字识别
【STM32H5 评测】3、STM32H5 Lwip 移植、官方例程和UDP发送数据
【STM32H5 评测】+开发板拆箱介绍
【STM32H5 评测】4、移植CoreMark
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】基于NUCLEO_H5E5ZJ+Zephyr数字电源
微信公众号
手机版