(RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano

目录

    • 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

操作过程如下图所示:
(RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano_第1张图片
(RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano_第2张图片

2.CubeMX 工程创建与设置

这里我基于野火指南者开发板点灯为demo创建一个工程,其中需要注意的是选择时钟源不能为Systick,否则生成代码会有警告,keil中编译也会报1个错的哦。还有就是将PB0作为输出,接绿灯。喜欢的话也可以添加一个标签,方便写代码。

(RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano_第3张图片
时钟设置不用管,因为 RT-Thread 的 board.c 文件中会配置并初始化时钟。接下来就是去除NVIC某些中断的勾选,具体操作步骤如下图所示。最后就是设置工程名,保存路径等,此处就不赘述了。生成代码搞定!
(RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano_第4张图片

3.Keil 的设置

在keil中,不用做过多的设置,主要是编译过程中有一个警告。意思是定义了一个 obj 的内容,但没有使用。完美主义者可以考虑用 F4 定位警告,然后将相关内容注释掉。内容在 object.c 中具体操作如下图所示。

(RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano_第5张图片
最后就是在 main.c 文件中添加 RT-Thread 的头文件(#include “rtthread.h”)了,在 while 循环中加入点灯代码运行即可,具体操作如下图所示。
(RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano_第6张图片
最后要注意的是,延时函数最好使用 rtt 的API,这样可以保证系统正常的任务调度。

4.实验现象

虽然没有放图,不过经过测试,系统是可以正常地跑起来滴。现象很明显:上方那一抹轻柔的绿以 1Hz的频率欢快的舞动着…

你可能感兴趣的:(笔记)