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

STM32F1移植RT_Thread简明教程

[复制链接]
STMCU小助手 发布时间:2022-8-20 17:00
一. 简介
最近开始学习RTOS了,也是第一次接触RTOS,本人以国内的RT-Thread作为学习的一款RTOS,支持国产嘛。
在搭建环境的时候,遇到了许多问题,也是参考了许多博客,但是与官网上的步骤都大同小异,给了像我们这样的小白很大的打击。
接下以以STM32F1移植极简版硬实时内核Nano(基于keil5),给大家介绍如何快速的搭建环境。


二. RT-Thread的安装
这里的安装方法有两种,和之前需要使用stm32f1系列的单片机一样,需要下载安装pack包。

第一种方法是在keil里面,直接下载安装
e3d1b576a85d435686041bc0d08f939d.png

第二种是,下载pack,双击安装,我这里使用的是这种方法。(微信公众号回复 RT-Thread-Pack 可以获取下载链接)

52d8294ba5b644c5a4bf3c8f0576997a.png

三. 准备好空白的裸机demo
最好是初始化一个外设,我这里使用的是最小系统,使用的是led灯闪烁的demo。

安装好pack后,打开demo工程,点击这个按钮,然后找到RTOS,勾选kernel就可以。

340399aece1b46ceba5d5b77e06c656f.png

c4bc13590196481bb38516f7e404ecda.png

勾选好之后,就可以在我们的项目里面看到添加进来的相关文件了

df5d83ac59c749a794cfee8ac05913ee.png

到这里相关的环境问题就完成的大半部分了。就快o( ̄ヘ ̄o#)成功啦

四. board.c文件的修改(核心)
直接运行程序的话,会报这个错误
#error “TODO 1: OS Tick Configuration.”

所以第一件是将其注释掉,然后阅读下面的注释。 需要使能硬件定时器也就是我们所说的滴答定时器,然后去调用rt_os_tick_callback函数,也是就滴答定时器中断函数调用这个函数。

18dd7dbce6754a78b3bc9d8e5d1e5b74.png

编写滴答定时器与中断函数。这些函数直接写在board.c文件中,就好了

4b47e33683744106a4c96050466e1d30.png

注释掉修改的相关的中断函数,这里可以查看官网的解释。SysTick_Handler也要注释,因为我在这个文件夹里面重新定义了。

1d065cf60ca54084896e3939410a3006.png

最后,整个文件改动如下

a8cc32db380547eeb8599eba37071dee.png

在main函数中添加#include “rtthread.h”,然后调用RT提供的延时函数,如果led灯闪烁,着说明配置成功

75e15aed44494a6ab78aab23469a85a0.png


收藏 评论0 发布时间:2022-8-20 17:00

举报

0个回答

所属标签

相似分享

官网相关资源

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