你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

RT Thread Nano + Nucleo-Stm32G71RB

[复制链接]
Paderboy 发布时间:2019-1-3 11:36

RT-Thread Nano 简介
feature.png

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的简单移植。。。分享。。

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


STM32_G0.jpg



配置串口2+板载led PA5



QQ截图20190101105556.jpg



系统使用内部HSI时钟 64Mhz


QQ截图20181230154726.jpg

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

Nano2.jpg

添加好了,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)


Nano6.jpg

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

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


Nano13.jpg

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

Nano5.jpg


Nano3.jpg

Nano9.jpg

Nano10.jpg

Nano7.jpg

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

Nano8.jpg

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

Nano14.jpg

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

Nano15.jpg

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

Nano12.jpg

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

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

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

Nano11.jpg

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

Nano.jpg

好了最后上传一个Nucleo-Stm32G71RB的官方原理图: Nucleo-Stm32g071RB.pdf (4.84 MB, 下载次数: 9)
收藏 2 评论9 发布时间:2019-1-3 11:36

举报

9个回答
sincomaster 回答时间:2019-1-3 13:35:50
很详细,谢谢分享
子曰好人 回答时间:2019-1-3 14:25:12
学习了,前来支持,过两天用071跑跑电机
TLLED 回答时间:2019-1-3 17:15:33
谢谢分享            
zero99 回答时间:2019-1-7 10:56:50
楼主好棒,G系列这么快就玩上了
yang_alex 回答时间:2019-1-10 15:53:11
本帖最后由 yang_alex 于 2019-1-10 15:59 编辑

你的KEIL MDK 版本是5.26吗?   我的5.25中下载不了RT-Thread Nano。出现下面提示
Cannot download file http://www.rt-thread.org/downloa ... tthread.3.0.3.pack: Cannot download URL (connection interrupted)


Paderboy 回答时间:2019-1-10 22:07:27
yang_alex 发表于 2019-1-10 15:53
你的KEIL MDK 版本是5.26吗?   我的5.25中下载不了RT-Thread Nano。出现下面提示
Cannot download file ht ...

我的5.23。多试试,
STM1024 回答时间:2019-1-11 18:29:49
yang_alex 发表于 2019-1-10 15:53
你的KEIL MDK 版本是5.26吗?   我的5.25中下载不了RT-Thread Nano。出现下面提示
Cannot download file ht ...

是不是你网路问题啊,直接去官网下载,挂迅雷,速度快很多,用keil的pack manager慢死了
yang_alex 回答时间:2019-1-11 21:01:21
stm1024 发表于 2019-1-11 18:29
是不是你网路问题啊,直接去官网下载,挂迅雷,速度快很多,用keil的pack manager慢死了 ...

对的。我后面直接登RT-Thread的官网,然后下载。

不过官方下载文件组织的不是很友好,我是从一篇文章中找到下载链接的。

另外就是RT-Thread的官网中关于RT-Thread Nano的介绍太简单了。
湉湉 回答时间:2019-1-16 13:00:30
好东西     

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版