|
RT-Thread作为国产OS之光,实际应用中总会遇到的。如何结合Cubemx快捷移植RTT呢?下面结合H533板卡简单的测试一下,然后就是举一反三了。$ B( r+ v, \4 l 首先打开cubemx工具,点击help->Embeded software packages manager菜单,打开软件包管理界面,cubemx提供了离线及在线安装软件包方式,选择左下角From Url…,弹出的对话框中点击new,如图1所示:# Q |- V: m4 q3 h P. m
图1' V! p, W! v6 b8 r- e6 Q z: i 输入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,等待安装好后。8 H& O; P7 b( h ' d' @9 Z3 s1 N! v+ @ 安装好后,显示绿色。如图2所示:
% u. L; l2 B0 O2 x; S* g 图2# J! n R: P1 h4 \% T 然后回到主界面,选择芯片,双击进入工程参数设置。 ( f6 F1 ?/ R: }( S 点击左边栏的Middleware and Software Packs->X-CUBE-RT-Thread_Nano,进入组件配置界面,选择RealThread.X-CUBE-RT-Thread_Nano,当前四个都选上,如图3所示:$ v a5 [9 U3 [1 U% n! g l
图3( k' p8 Q$ t& E. d7 Q/ I' ?) ]" ~ 回到主界面,在左边的菜单Middeleware and Software Packs中,再点击X-CUBE-RT-Thread_Nano,选择RTOS RT-Thread,参数默认,如图4所示:
$ X( L( h) I* Y) c5 I 图4 配置PA5作为输出测试引脚。配置时钟等,无需多言。% \8 Q. O) d* r0 k3 n 需要在NVIC中去掉三个中断,HardFault_interrupt,Pendable_request interrupt,System tick timer,如图5所示:- j" _/ C; i& s3 _
图54 k% T& E7 Q5 p0 T8 P, s 因为RTOS使用了systick,所以为了避免冲突,SYS->Timebae Source 选择TIM15。如图6所示:
; s' V) T( Y3 A5 k2 u7 S# Z 图67 Q3 N* g* T+ ?# O0 p 然后配置Project Manager,Toolchain/IDE使用MDK-ARM. Generate code. 2 N9 }% y, _& l5 v( c 在生成的main函数中添加#include "rtthread.h",编译。( B' m1 e$ m' f. G + @9 ^4 ?9 q$ q- U( W Z 会发现提示board.c文件中,UartHandler错误,没有定义。是因为CubeMX中没有配置这部分。回到CubeMx中,选择UART2,如图7所示" i. f9 ^6 A- q- s% M% L9 v5 M& [
图7 按照参数进行配置即可。重新Generate code.# Q, N, w" m) g, p 编译,正常 + y6 [' \) `& d" t/ S! ]0 \ 在main.c文件中添加一个线程,如下所示:
1 m/ _7 {) F: T% M main函数中启动线程,并开启调度函数,如下:
/ E5 d( D2 [( ~8 j5 B" i$ x 移植没啥问题了,就可以多任务模块添加了。% B8 p, F: n: {- k V |
|
初学者适合看看 |
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】内存读写性能 - STM32H5E5实测Flash,SRAM读写速度,用DMA搬运大块数据
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】3、STM32H5 Lwip 移植、官方例程和UDP发送数据
【STM32H5 评测】基于NUCLEO_H5E5ZJ+Zephyr数字电源
【STM32H5 评测】2、Keil中添加RTX5 RTOS和Event Record
NUCLEO-H5E5ZJ 移植 LVGL
NUCLEO-H5E5ZJ 移植 ST7735 SPI LCD 驱动
NUCLEO-H5E5ZJ 以太网(Ethernet)移植记录
【STM32H5 评测】介绍、环境搭建、工程测试
微信公众号
手机版