当前位置:网站首页>RT-Thread改变打印串口(在BSP的基础上添加其他功能)
RT-Thread改变打印串口(在BSP的基础上添加其他功能)
2022-07-28 04:00:00 【追逐者-桥】
前言
使用的芯片: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 简介
- CubeMX构建BSP的底层驱动部分
- RT拿底层驱动构成了组件和服务层,提供了函数的API,并引入了实时操作内核
- 开发者使用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语句:是一个条件判断
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并打开调试助手

边栏推荐
- [openvx] VX for basic use of objects_ convolution
- 常用的接口测试工具
- WordPress简约mkBlog博客主题模板v2.1
- In the official online CV2 document, check the optional values of OpenCV specific parameters
- CANopen learning notes
- Combination of Oracle and Premier League statistics and presentation
- Super easy to use PC end long screenshot tool
- 离职前一定要做好这7件事情,少一件都很麻烦。
- 测试用例管理工具
- 高等数学(第七版)同济大学 习题3-5 个人解答
猜你喜欢

Advanced Mathematics (Seventh Edition) Tongji University exercises 3-6 personal solutions

Monotonous stack -- 42. Receiving rain -- a difficult problem that big factories must know
![[prototype and prototype chain] get to know prototype and prototype chain~](/img/8a/d6362fdd50dc883ff817a997ab9e1e.png)
[prototype and prototype chain] get to know prototype and prototype chain~

21天,胖哥亲自带你玩转OAuth2

【无标题】

Appnium--APP自动化测试工具

What is interface testing and its testing process

静态博客搭建工具汇总

21 days, fat brother personally takes you to play oauth2

test case management tool
随机推荐
Advanced Mathematics (Seventh Edition) Tongji University exercises 3-4 personal solutions (the last 8 questions)
Data mining-02
一文读懂Plato Farm的ePLATO,以及其高溢价缘由
Combination of Oracle and Premier League statistics and presentation
Dynamic planning - 62. Different paths
Practical scripts of mangopapa (contents)
conda虚拟环境总结与解读
Classification cluster analysis
Filters, interceptors, listeners
Cookies and session
Selenium--WEB自动化测试工具
Dynamic programming - 416. Segmentation and subsets
Input upload file and echo FileReader and restrict the type of file selection
LeetCode_409_最长回文串
21天,胖哥亲自带你玩转OAuth2
[Luogu p4590] garden party (DP set DP)
Ch340 RTS DTR pin programming drives OLED
Several ways of connecting upper computer and MES
过滤器、拦截器、监听器
7/27(板子)染色法判定二分图+求组合数(递推公式)