打印
[应用相关]

RT Thread Nano + Nucleo-Stm32G71RB

[复制链接]
337|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
RT-Thread Nano 简介


RT-Thread Nano 是 RT-Thread 推出的极简版实时操作系统,适用于家电、消费电子、医疗设备、工控等领域大量使用的 32 位 ARM 入门级 MCU 的场合

RT-Thread Nano 是一个精炼的硬实时内核,内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。MDK5 以后采用 pack 形式管理芯片及各种相关组件,RT-Thread Nano 也是通过 MDK pack 方式发布,RT-Thread Nano pack 包括 device driverskernel shell (msh) 三部分功能。

今天就趁着 Nucleo-Stm32G71RB 的热度,来一波RT Thread Nano的简单移植。。。分享。。

别的就不多介绍了,上图了。。。






配置串口2+板载led PA5







系统使用内部HSI时钟 64Mhz




好了,使用CubeMx直接生成工程后,我们需要到
Manage Run-Time-Environment 添加RT Thread Nano RTOS到工程里



添加好了,RTOS接着就需要对他进行对应的配置
我们需要对main.c和stm32g0xx_it.c的系统初始化函数和中断函数
进行必要的修改。。

我们需要对stm32g0xx_it.c里的以下函数,
进行掉注释的操作,因为RT Thread Nano RTOS 将接管系统的中断。。


//void HardFault_Handler(void)
//void PendSV_Handler(void)
//void SysTick_Handler(void)




然后还需要到Main.c里注释掉

//  HAL_Init();
//  SystemClock_Config();
//  MX_GPIO_Init();
//  MX_USART2_UART_Init();




准备工作做好了,接着需要,配置
rtconfig.h文件,来配置对应的接口












然后需要在board.c
#include "stm32g0xx_hal.h"



然后把main.c里注释掉的系统初始化,都添加到
void rt_hw_board_init()函数里



然后把stm32g0xx_it.c里注释掉的
中断函数都添加到
void SysTick_Handler(void)



好的了配置好了rt thread的系统配置,我还需要回到main.c添加
独立的串口转接函数,方便提供rt_kprintf()函数输出串口信息。。



然后创建一个led闪烁线程。。

rt_thread_create("led1",led1_thread_entry,RT_NULL,256,3,20);

然后我添加了,显示内部UID通过rt_kprintf() 函数输出显示。。。



好了,RT Thread Nano的移植就完成, 现在开启串口工具,就可以看到串口信息了



好了最后上传一个Nucleo-Stm32G71RB的官方原理图: Nucleo-Stm32g071RB.pdf (4.84 MB, 下载次数: 9)
不得不说,G0的出现完美的替换自家目前的F0系列而且有更好的性能和价格优势。。希望ST多出新产品。。

RT Thread Nano + Nucleo-Stm32G71RB
http://www.stmcu.org.cn/module/forum/thread-618970-1-1.html



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:每天都要开心呀

210

主题

505

帖子

4

粉丝