
RT-Thread作为国产OS之光,实际应用中总会遇到的。如何结合Cubemx快捷移植RTT呢?下面结合H533板卡简单的测试一下,然后就是举一反三了。 首先打开cubemx工具,点击help->Embeded software packages manager菜单,打开软件包管理界面,cubemx提供了离线及在线安装软件包方式,选择左下角From Url…,弹出的对话框中点击new,如图1所示:5 T) f2 l m2 }1 I$ X5 T ![]() 6 U5 H9 q2 H& m5 } 图14 D6 y4 O9 [- T9 [9 R+ N 输入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,等待安装好后。 1 k5 I, b) v, L$ s- k 安装好后,显示绿色。如图2所示: ![]() ' s2 O% }1 X2 }- t% n$ |3 G 图2+ a6 W0 d1 T) q& G: v$ k) s6 q 然后回到主界面,选择芯片,双击进入工程参数设置。 点击左边栏的Middleware and Software Packs->X-CUBE-RT-Thread_Nano,进入组件配置界面,选择RealThread.X-CUBE-RT-Thread_Nano,当前四个都选上,如图3所示:7 J" q; Y6 l( r, @6 u' M! { ![]() " M; P* {: U% `# ~: l 图3 回到主界面,在左边的菜单Middeleware and Software Packs中,再点击X-CUBE-RT-Thread_Nano,选择RTOS RT-Thread,参数默认,如图4所示: ![]() 图4 配置PA5作为输出测试引脚。配置时钟等,无需多言。0 Y3 f! X1 X# G. n. ?# J* E : `# H/ E" m2 R& Z N 需要在NVIC中去掉三个中断,HardFault_interrupt,Pendable_request interrupt,System tick timer,如图5所示:1 G6 n. l0 W5 C, H$ ~9 U, Y ![]() 图56 J. C" V0 } m: Z 因为RTOS使用了systick,所以为了避免冲突,SYS->Timebae Source 选择TIM15。如图6所示:, P+ o- ^* j# l ![]() 图6! F/ A" }0 l0 X0 ^/ T; G6 E 然后配置Project Manager,Toolchain/IDE使用MDK-ARM. ; B. O, z) H- k Generate code.) S7 m! m7 q2 ` D0 `" a$ ?& b H9 B' H- Y5 d 在生成的main函数中添加#include "rtthread.h",编译。 - L$ M6 N2 Y1 Q3 _1 w: [0 D, ] 会发现提示board.c文件中,UartHandler错误,没有定义。是因为CubeMX中没有配置这部分。回到CubeMx中,选择UART2,如图7所示: j* }" J& L1 W ![]() 图7 按照参数进行配置即可。重新Generate code.7 t e* X1 {) G4 M: N& [: z 编译,正常" Q1 P% g, @4 A0 \. l1 A 在main.c文件中添加一个线程,如下所示:! z6 s8 v3 U8 F) p" F) a
6 X* h. m- ]0 P main函数中启动线程,并开启调度函数,如下:
![]() 4 k4 Y/ \: ~( C, J8 ] 移植没啥问题了,就可以多任务模块添加了。 |
初学者适合看看 |
实战经验 | 进一步认识STM32H5的OBK
优雅至极!STM32H5咖啡机,高级GUI与安全功能之双响炮
【NUCLEO STM32F429ZI开发板】之点灯大师
狂欢三】STM32C031使用TIM定时器DMA方式实现WS2812彩灯输出(三)
【狂欢三】PWNUCLEO-U083RC M 互补输出配置
【狂欢三】STM32C031使用TIM定时器DMA方式实现PWM输出(二)
【狂欢三】STM32C031使用TIM定时器PWM输出
STM32H503生成带dead time的互补PWM
实战经验 | STM32H5 USBD Classic驱动 CDC移植
【NUCLEO-WB09KE评测】+基于STM32CubeMX创建工程点灯