目录
-
- 0.前言
- 1.基于CubeMX下载 RT-Thread Pack
- 2.CubeMX 工程创建与设置
- 3.Keil 的设置
- 4.实验现象
0.前言
最近开始学习RT-Thread操作系统相关的知识了。做个记录,方便自己的同时也方便大家。
本文主要记录了基于 CubeMX5.6.0 移植 RT-Thread Nano 的完整流程。
由于是初学,难免出现一些错误,如有发现,还希望大家不吝赐教鸭~
1.基于CubeMX下载 RT-Thread Pack
欲善其事先利其器,要移植RT-Thread Nano,首先要在 CubeMX中下载并安装 RT-Thread Nano pack ,在 CubeMX 中添加以下网址:
https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc
操作过程如下图所示:
2.CubeMX 工程创建与设置
这里我基于野火指南者开发板点灯为demo创建一个工程,其中需要注意的是选择时钟源不能为Systick,否则生成代码会有警告,keil中编译也会报1个错的哦。还有就是将PB0作为输出,接绿灯。喜欢的话也可以添加一个标签,方便写代码。
时钟设置不用管,因为 RT-Thread 的 board.c 文件中会配置并初始化时钟。接下来就是去除NVIC某些中断的勾选,具体操作步骤如下图所示。最后就是设置工程名,保存路径等,此处就不赘述了。生成代码搞定!
3.Keil 的设置
在keil中,不用做过多的设置,主要是编译过程中有一个警告。意思是定义了一个 obj 的内容,但没有使用。完美主义者可以考虑用 F4 定位警告,然后将相关内容注释掉。内容在 object.c 中具体操作如下图所示。
最后就是在 main.c 文件中添加 RT-Thread 的头文件(#include “rtthread.h”)了,在 while 循环中加入点灯代码运行即可,具体操作如下图所示。
最后要注意的是,延时函数最好使用 rtt 的API,这样可以保证系统正常的任务调度。
4.实验现象
虽然没有放图,不过经过测试,系统是可以正常地跑起来滴。现象很明显:上方那一抹轻柔的绿以 1Hz的频率欢快的舞动着…