RT-Thread USB学习笔记 - RTT最小系统移植

RT-Thread USB学习笔记 - 硬件篇

RT-Thread USB学习笔记 - RTT最小系统移植

RT-Thread 应用笔记 基础通信系列

 

背景

  • RT-Thread 的使用不久,加深下RT-Thread开发经验。
  • 打算研究一下基于RT-Thread的应用开发,如USB设备的开发
  • 基础硬件已经搭建完成,裸机代码初步调通。
  • 把RT-Thread 移植到STM32F103RBT6上。

 

最小系统

  • 很多用户喜欢Nano版本的RT-Thread,然后移植finsh(我一般称为MSH shell CMD等!!),遇到问题,然后求助。。。
  • 纯研究技术,就像学校里学习,没有诱惑或是内驱,无法真正掌握技术的核心。
  • 技术,要学以致用,深入研究。
  • 技术有高端、低端之分?对个人来讲,你没有掌握的,就是高端,掌握了精通的东西,就是低端。
  • 因为STM32F103RB 的Flash与RAM还是较大的,因此,直接使用RT-Thread完整的工程代码移植。
  • 万事开头难,所以,先搭建起最小系统环境,再不断添枝加叶,不断去完善。

 

前期准备

  • 初步看下官方的文档,RT-Thread官方的文档比较正式、全面系统。
  • 或许刚接触RT-Thread的人,被海量的文章吓到了。其实,总要有个初步的了解。
  • RTOS只是工具,不是目的,目的是快速开发、敏捷开发,实现应用需求。
  • 为什么不用vxworks、Linux,直接使用USB(主从机都有,很成熟!)。都用现成的,老板还要用我们工程师做甚?
  • 正题:下载rt-thread 官方的源码
//码云,速度较快
https://gitee.com/rtthread/rt-thread.git

//github,速度较慢!!
https://github.com/RT-Thread/rt-thread.git
  • 下载RT-Thread ENV工具,用于scons 构建工程,menuconfig图形菜单配置(类似linux下的menuconfig),很好用。
// ENV 等工具的下载
https://www.rt-thread.org/page/download.html
  • 这里使用Keil MDK5开发,当然也可以使用:RT-Thread Studio
  • 下载 STM32CubeMX,建议下载,目的可以图形化的配置STM32基础时钟、引脚等,可以到ST官网下载最新的版本。
  • USB 线,主要用于供电、USB转串口、USB协议调试等。
  • J-Link or ST-Link等,用于STM32 调试、下载。

 

开始移植

  • 熟悉rt-thread 源码的文件目录结构

2020-12-12_121320.png

  • rt-thread 源码,很大,内核与组件并不大,大在了BSP(板级支持包)。就像linux前期说的,内核维护,大部分时间用于BSP包的维护了。所以,建议移植时,裁剪,重构目录。

2020-12-12_121925.png

2020-12-12_123006.png

2020-12-12_123038.png

  • 找到STM32F103RBT6 类似的BSP,然后复制、粘贴、修改MCU型号。
  • menuconfig配置

2020-12-12_123206.png

2020-12-12_123433.png

2020-12-12_123601.png

  • 修改rt-thread构建路径,注意rt-thread目录的变更

2020-12-12_123647.png

2020-12-12_123735.png

2020-12-12_123854.png

2020-12-12_123937.png

2020-12-12_124224.png

2020-12-12_124329.png

2020-12-12_124857.png

  • 编译、下载,运行

2020-12-12_125014.png

以上,rt-thread最小系统已经跑起来了

* 把 template.uvprojx 删除,替换为目前的 project.uvprojx。否则下次scons后,MCU型号变了!

* 最小系统,搭建完成。

总结

  • 使用大众MCU型号,如STM32,移植RT-Thread,比较容易。
  • 有了MSH 串口(shell),后面开发起来会非常的高效。
  • 后面需要开始驱动、设备框架的熟悉
  • 可以编写或修改Kconfig(menuconfig),类似于【宏定义】的可视化配置,用于定制驱动、用户的应用。

猜你喜欢

转载自blog.csdn.net/tcjy1000/article/details/111059421