当前位置: 代码迷 >> 综合 >> (RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano
  详细解决方案

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

热度:22   发布时间:2024-02-27 06:12:46.0

目录

    • 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 Pack
pack安装成功

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的频率欢快的舞动着…

  相关解决方案