前言

使用的芯片:STM32F407ZG,正点原子探索者板

官网对于环境的配置和BSP的制作都有详细介绍,当然本人在学习的过程中,也做了一个简单的笔记:如何看RT-Thread文档、RT的工程建立和BSP快速构建_追逐者-桥的博客-CSDN博客

且自己参照其BSP制作过程建立的可以在自己板子上进行LED灯闪烁。

但是如果想要使用其他功能,则需要再添加BSP新的功能,开启底层驱动,且添加RT中menucongfig选择功能。

原先RT-Thread是默认USART1打印信息,这里实现打开USART2并通过串口2进行信息的打印。

一、RT-Thread的BSP制作

这里对步骤做做一个简单的描述:

1、复制通用模板

 2、使用CubeMX工具配置工程

STM32CubeMX的工程建立_追逐者-桥的博客-CSDN博客

注意,在使用RT时明确说了不要生成相应的.c/.h文件

3、board文件夹中的文件修改(board.c/h、Kconfig)、查看

4、ENV工具menuconfig、package

5、ENV工具scons

scons --target=...、scons、scons --dist:生成工程、编译、复制工程

二、增加BSP的功能

一开始的模板只开启了一个串口和两个GPIO,但是现实中不可能只用到这两个功能,如何添加BSP功能就成了一个很现实的问题。

RT的BSP可以分为三部分(针对STM32来说的,自己见解):RT-Thread 简介

  1. CubeMX构建BSP的底层驱动部分
  2. RT拿底层驱动构成了组件和服务层,提供了函数的API,并引入了实时操作内核
  3. 开发者使用RT的API开发应用层,并形成自己的应用包(App)

2.1、CubeMX添加BSP的底层驱动

为了方便学习,这里先添加类似的功能:USART1/2、UART4,后期会逐步更新其他BSP功能的构建。

这里串口通常使用异步的两线制通信,生成文件后可以打开stm32f1xx_hal_msp.c文件查看驱动。

上图是UART4添加完成,这样BSP底层驱动就已经配置完成,大家也可以先试试其他功能,也可以查看本专栏的其他博客学习。

2.2、RT中添加BSP功能

2.2.1、添加Kcongfig文件

Kconfig (rt-thread.org):Kcongfig的RT工作机制

config语句:config 定义了一组新的配置选项

menu/endmenu语句:用于生成菜单

if/endif语句:是一个条件判断

menuconfig语句:表示带菜单的配置项

choice/endchoice语句:将多个类似的配置选项组合在一起,供用户选择一组配置项

comment语句:出现在界面的第一行,用于定义一些提示信息

source语句:用于读取另一个文件中的 Kconfig 文件

  • 添加串口2后的Kconfig文件(在board文件夹中)

2.2.2、ENV中menuconfig菜单选择相应的功能

  • 使用menuconfig界面,进行串口2的选择

2.2.3、查看与配置rtconfig.h

  • 选择好的功能退出后自动更新rtconfig.h中相应的宏

  • 在rtconfig.h 中改变串口打印方式为串口2

2.2.4、更改主函数

2.2.5、硬件链接串口2并打开调试助手

RT-Thread改变打印串口(在BSP的基础上添加其他功能)相关推荐

  1. RT Thread根据开发板制作BSP方法

    之前一直不懂怎么使用RT Thread的软件包,感谢网上的大神,看了你们的博客后大概了解一些,在此做下记录.用RT Thread软件包需要RT Thread的系统,但是RT Thread和RT Thr ...

  2. 6.openwrt改变打印串口波特率,添加ssh client,修改wwan口配置为自动获取ip

    1.改变波特率 uboot的波特率是115200,openwrt起来打印串口的波特率是57600,需要统一 根据网上搜索,需要修改dst文件 vim target/linux/ramips/dts/m ...

  3. 正点原子delay函数移植到rt thread操作系统(HAL库)

    正点原子教程中涉及到的操作系统只涉及了UCOS的教程,其中例程的system文件夹中的delay.c函数只是适配了UCOS. 下面将delay.c函数移植到rt thread中,使用的bsp是rt t ...

  4. stm32f407单片机rt thread 片外spi flash OTA升级配置示例

    参考地址https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/ 第一步,生成Boot ...

  5. rt thread studio使用QBOOT和片外flash实现OTA升级

    我们这里要使用单片机外部flash作为OTA的下载分区,外部flash硬件连接关系 PB3-->SPI3_CLK PB4-->SPI3_MISO PB5-->SPI3_MOSI PE ...

  6. RT Thread Free Modbus移植问题整理

    RT Thread Free Modbus移植问题整理 问题描述: 在读写寄存器中,写数据正常,只能读1个寄存器的值,多个值会异常. 在移植过程中发现串口(或RS485)数据接收长度异常. 一.环境描 ...

  7. RT Thread之 Uart2 操作

    官网连接:https://docs.rt-thread.org/#/rt-thread-version/rt-thread-standard/programming-manual/device/uar ...

  8. 基于rt thread smart构建EtherCAT主站

    我把源码开源到到了gitee,https://gitee.com/rathon/rt-thread-smart-soem 有兴趣的去可以下载下来跑一下 软件工程推荐用vscode 打开.rt thre ...

  9. RT Thread利用STM32CUBEMX和RT Thread studio来创建模板工程

    (1)RT Thread利用STM32CUBEMX来创建模板工程 1.参考文档: 基于 CubeMX 移植 RT-Thread Nano:RT-Thread 文档中心 注意:串口2必须使能异步模式(启 ...

最新文章

  1. [BizTalk] 短消息处理流程
  2. 无废话ExtJs 入门教程二十三[员工管理实例:Demo]
  3. ?php query_posts(cat)?,query_posts()函数 (wordpress日志调用)
  4. 计算机程序和系统股票走势分析,证券走势指标匹配分析系统的设计与实现
  5. (转)基因芯片数据GO和KEGG功能分析
  6. 计算机操作系统课程有什么关系,计算机操作系统课程教学大纲(洪联系).doc
  7. python解析XML:之二 (ElementTree)
  8. python语言数值操作符_Python之组合数据类型、逻辑操作符、控制流语句、算术操作符...
  9. Python 编写自动化工具
  10. 怎么做口碑营销?口碑营销有哪些方式?
  11. MacBook Air 2013全新安装Win7
  12. c++贪吃蛇源代码 完整版
  13. 网络学习-6.VLAN
  14. git merge工具 meld
  15. DataFun活动回顾 | 画像在外卖智能调度的实践-详细版
  16. Python 保留小数位
  17. ASO代理业务浅析(一)aso服务商
  18. 5.3 闪电网络的设计
  19. Day07 后台管理与发布文章
  20. 环科跨考数一英一408经验帖

热门文章

  1. 串口转TCP/IP方案选型
  2. 计算机辅助决策系统基本原理,计算机辅助决策设计分析解析系统.ppt
  3. 《曾国藩传》第一卷京官时代-读后感
  4. Mac下QQ缓存账号目录
  5. “守护花季,护航青春”青少年防性侵教育活动在兴隆社区顺利开展
  6. Java植物名录程序_【人工智能】动物、植物、车型、菜品、LOGO识别示例代码
  7. 怎么隐藏回收站?3个方法轻松隐藏回收站!
  8. Mongo Shell 文档搜索
  9. 计算机网络个人能力,计算机网络技能个人自我鉴定
  10. 计算机原材料管理发展国外,仓库管理系统的国内外发展现状