STMCU小助手
发布时间:2022-8-20 17:00
|
一. 简介 最近开始学习RTOS了,也是第一次接触RTOS,本人以国内的RT-Thread作为学习的一款RTOS,支持国产嘛。/ \1 P$ J, L: G% i: p e: ] 在搭建环境的时候,遇到了许多问题,也是参考了许多博客,但是与官网上的步骤都大同小异,给了像我们这样的小白很大的打击。 接下以以STM32F1移植极简版硬实时内核Nano(基于keil5),给大家介绍如何快速的搭建环境。 . z* `+ S, H8 G) o% ~5 W 二. RT-Thread的安装# I- Z: F n7 I4 e 这里的安装方法有两种,和之前需要使用stm32f1系列的单片机一样,需要下载安装pack包。$ b! }. u1 T& t6 x$ q) ~ 第一种方法是在keil里面,直接下载安装2 |& e8 E# ^8 v+ b$ @
, B1 Y& I7 i6 T' V6 Y$ U# R/ F 第二种是,下载pack,双击安装,我这里使用的是这种方法。(微信公众号回复 RT-Thread-Pack 可以获取下载链接) + U$ O- u" S6 f" k' I
三. 准备好空白的裸机demo9 h' r* z2 Q# }3 o6 R7 H" U# e" w 最好是初始化一个外设,我这里使用的是最小系统,使用的是led灯闪烁的demo。 安装好pack后,打开demo工程,点击这个按钮,然后找到RTOS,勾选kernel就可以。 $ y. _3 X7 M: @* q2 t) A
( E* i& t0 J, V/ A4 l. [4 f 勾选好之后,就可以在我们的项目里面看到添加进来的相关文件了
到这里相关的环境问题就完成的大半部分了。就快o( ̄ヘ ̄o#)成功啦 四. board.c文件的修改(核心)6 M2 t) L- r2 C3 h2 O 直接运行程序的话,会报这个错误+ F' O9 B: ]# ]7 f& l5 z #error “TODO 1: OS Tick Configuration.” 所以第一件是将其注释掉,然后阅读下面的注释。 需要使能硬件定时器也就是我们所说的滴答定时器,然后去调用rt_os_tick_callback函数,也是就滴答定时器中断函数调用这个函数。- x* }( C! H) _5 h
5 l0 m/ G/ g" F 编写滴答定时器与中断函数。这些函数直接写在board.c文件中,就好了
注释掉修改的相关的中断函数,这里可以查看官网的解释。SysTick_Handler也要注释,因为我在这个文件夹里面重新定义了。
j8 J+ y4 X' `2 A; [. s- G3 P4 C 最后,整个文件改动如下: C9 b7 I+ {$ S0 O0 N6 _, \ / z: W8 x/ h( u' m: G2 `0 P4 I) f
在main函数中添加#include “rtthread.h”,然后调用RT提供的延时函数,如果led灯闪烁,着说明配置成功
9 Y& U8 H: n7 S) u) e6 J |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版