RT-Thread学习笔记——移植RT-Thread到STM32
前言
从本文开始,记录自己的RT-Thread学习笔记,基于STM32L475VET6讲解,相关开发板用RTT&正点原子的潘多拉IoT Board开发板。本文先从Nano开始学起,个人觉得对于初学者,还是先学会Nano的移植,把内核部分向学一遍,再去学组件和设备驱动以及其他的东西,这里包括RT-Thread的内核移植、FinSH移植,相关代码到GitHub下载: https://github.com/sanjaywu/STM32L475_PANDORA_RT-Thread_DEMO
一、获取裸机工程
1、裸机工程可到GitHub下载: https://github.com/sanjaywu/STM32L475_PANDORA_DEMO,下载完成之后,打开工程文件夹,可以发现如下文件:
2、接着我们把HARDWARE、SYSTEM和USMART这三个文件删除,HARDWARE文件夹是裸机的外设驱动,在讲解移植的时候不需要用到,SYSTEM文件夹有delay延时、串口驱动和相关类型宏定义,在移植RT-Thread的时候,我们会重新实现delay延时和串口驱动以及类型宏定义。
二、下载 RT-Thread Nano 源码
1、RT-Thread Master 的源码可从 RT-Thread GitHub 仓库下载,Nano 就是从里面扣出来的,去掉了一些组件和各种开发板的 BSP,保留了 OS的核心功能,但足够我们使用。RT-Thread 官方并没有将抠出来的Nano 放 到 他 们 的 官 方 网 站 , 而 是 作 为 一 个 Package 放 在 了 KEIL 网 站: http://www.keil.com/dd2/pack/,目前最新的是3.1.1版本,打开这条连接,然后拉到下面找到RT-Thread的Package:
2、点击箭头下载,弹出窗口点击OK,然后开始下载:
3、下载完成之后双击安装这个pack,安装的路径和你安装MDK5的时候是一样的,我安装的是默认路径。
4、安装完成之后,找到你安装MDK5的路径,然后按这个路径找到RT-Thread的源码:C:\Keil_v5\ARM\PACK\RealThread\RT-Thread\3.1.1:
三、往裸机工程添加 RT-Thread 源码
1、在前面下载好的裸机工程里,再新建一个文件夹为RT-Thread的,然后将上面下载好的Nano版源码拷贝到这个文件:
2、对于Nano源码各个文件内容删减:
(1)打开bsp,这里RT-Thread是放底层驱动的东西:
除了board.c和rtconfig.h这两个文件,其他都删除,然后再新建一个board.h头文件。
(2)打开components,RT-Thread组件放置的地方,只有一个finsh,保留它,这个finsh非常好用:
(3)打开libcpu —> arm,因为用的是STM32L4xx,是cortex-m4,所以只需
打团请保护我: 时钟要重新设置
麦麸卷: 您好我想问一下,为什么我唤醒之后,原本的串口打印数字很快,唤醒之后就变得很慢了,一秒钟才蹦出来一个,可能是什么原因呢?
写代码的日常: 我也是这样的,请问你解决了吗?麻烦告诉我怎么做,拜托了
写代码的日常: 博主你好,我想问一下发送http报文,接收区显示的是“errno”:403,“error”:乱码。这样的怎么解决?
afei0v0: 请问有啥办法可以解决串口唤醒后前面几个字节数据接收不正常的问题吗?