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

【经验分享】STM32移植RT-Thread实时操作系统

[复制链接]
STMCU小助手 发布时间:2022-6-23 21:00
一. 简介
    在众多RTOS中,选择了RT-Thread进行学习,最开始也是徘徊了很久,看知乎,刷b站,最终决定支持国货。接下来,将会在这里持续分享关于RT-Thread的相关知识和质询。(绝大多数是基于stm32平台的)


二. 源码下载

这里是基于Nano版本的(精简版),主要是方便,简单。后面熟悉的差不多了就转移到标准版本上去。下载地址如下,也可以直接去官网下载。



三. 移植模板创建
1. 下载下来的源码文件目录如下,其中我们用到的有以下三个部分。component和bsp后面也是会用到的,到时候可以根据需求来添加
3~6P3BA1R[[QDUB]51@N~W9.png
2.  创建一个rt-thread移植demo文件夹,将nano上面对应的文件夹下面的所有文件copy到这个里面来,注意,libcpu根据自己的硬件平台来选择,stm32f1,就copy M3文件夹下的所有文件到这里面来。注意还要将bsp文件夹下的board.c和rtconfig.h 复制过来。libcpu中只保留contex_rvds.S这一个.S文件。


3.  将copy过来的文件添加到Keil中,和创建stm32工程模板类似。到这里所有的准备工作就完成了。剩下的就是修改代码了。


四. 修改代码
  • xxxx_it.c文件  :HardFault_Handler,MemManage_Handler,PendSV_Handler,SysTick_Handler,PPP_IRQHandler。将这几个函数注释掉
  • board.c文件:如下,主要是为rtt提供心脏时钟,采用其他定时器也是可以的
    ``]SD%K@Y33B1AXW)X7~V_L.png


这里移植就完成了。
如果是M7内核的话,还有一点需要注意的位置就是多了一个cpu_cache.c函数,里面include了一个board.h文件,nano里面没有这个文件,需要将其注释掉,替换为stm32h7xx.h,就ok啦。


五. 效果展示
将main函数中添加三行代码(led灯的模板)如下,如果有实验效果则说明移植成功。
9@8J[XXCJ{C4$(M[V1HK9N0.png

收藏 评论0 发布时间:2022-6-23 21:00

举报

0个回答

所属标签

相似分享

官网相关资源

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