RTT之添加串口设备

如题所示:如何往BSP工程里面添加一个串口设备呢??

遇到的问题:如下图:#include +相对路径的形式:

答:

#include <stdio.h>,直接到系统指定目录去查找头文件。

#include "stidio.h",会先到当前目录查找头文件,如果没找到在到系统指定目录查找。

 gcc编译时查找头文件,按照以下路径顺序查找:

1. gcc编译时,可以设置-I选项以指定头文件的搜索路径,如果指定多个路径,则按照顺序依次查找。

2. gcc会查找环境变量C_INCLUDE_PATH,CPLUS_INCLUDE_PATH中指定的路径。

3. 系统默认的路径,分别是/usr/include,/usr/local/include,/usr/lib/gcc-lib/i386-linux/2.95.2/include(gcc库文件的路径,各个系统不一致)。

同时,include也可以采用相对路径,比如,a.c需要包含/usr/local/include/node/v8.h,由于/usr/local/include是系统的默认搜索路径,所以在a.c中可以用相对路径包含,#include<node/v8.h>。

其实类比到MDK环境下,也是一样。默认的路径就是在C/C++选项卡下添加的那些:

看了官网的一些教程,主要参考《STM32 系列外设驱动添加指南》https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97%E5%A4%96%E8%AE%BE%E9%A9%B1%E5%8A%A8%E6%B7%BB%E5%8A%A0%E6%8C%87%E5%8D%97.md

参照教程,应该不难配置,需要学习的只有Kconfig语法。

注意:

bsp目录下,是所有配置的总入口,都有哪些文件夹下有Kconfig文件呢?其中.代表板级bsp文件夹

.\.如:F:\SixBirld\rtOS\bsp\myOS\sixBand,这个是配置总入口,从其Kconfig内容也很容易看出调用了哪些配置

.\.board文件夹下如:F:\SixBirld\rtOS\bsp\myOS\sixBand\board,验证无效,打不开ENV配置窗口,因为此部分作为次级菜单,

打开其Kconfig,可以看到是硬件驱动定义菜单。

 

对应主配置窗口下

实际上修改这个Kcofig,就可以自己添加设备。

.HAL_Drivers文件夹下如:F:\SixBirld\rtOS\bsp\myOS\libraries\HAL_Drivers

.libraries:如:F:\rt-thread\bsp\stm32\libraries,这个是调用保存的界面如下图:

.components每个组件文件夹下都有如

F:\rt-thread\components\cplusplus下调用如下界面

F:\rt-thread\components\dfs调用如下界面:

F:\rt-thread\components\drivers调用如下界面

F:\rt-thread\components\finsh调用如下界面:

F:\rt-thread\components\libc调用如下界面: 

组件下,还是很有规律的,根据所添加的组件来调用不同的配置界面。

 

还有就是在libcpu下如:F:\rt-thread\libcpu调用如下界面

F:\rt-thread\libcpu\mips\common调用如下界面:

内核文件下F:\rt-thread\src调用此界面,可以配置裁剪RTT

主要就是这些吧,可以说每个Kconfig文件都是可以修改的,只要知道语法就可以。说明以上的路径其实就是补充一下对官网给出的语法的理解:

 

语句分析: - config 表示一个配置选项的开始,紧跟着的 BSP_USING_GPIO 是配置选项的名称,config 下面几行定义了该配置选项的属性。属性可以是该配置选项的 - 类型 - 输入提示 - 依赖关系 - 默认值 - 帮助信息

  • bool 表示配置选项的类型,每个 config 菜单项都要有类型定义,变量有5种类型
    • bool 布尔类型
    • tristate 三态类型
    • string 字符串
    • hex 十六进制
    • int 整型
  • select 是反向依赖关系的意思,即当前配置选项被选中,则 RT_USING_PIN 就会被选中。
  • default 表示配置选项的默认值,bool 类型的默认值可以是 y/n。
  • help 帮助信息

通过 env 选中以上配置界面的选项后,最终可在 rtconfig.h 文件中生成如下两个宏

#define RT_USING_PIN
#define BSP_USING_GPIO

这个还是比较重要的,关键是流程,其他遇到看官方的Kconfig语法就可以了!

 

实战:添加串口设备

1、根据以上的分析及对应关系,找到相应的添加外设的目录:应该在Board文件夹下。打开Kconfig文件。

打开所对应的ENV工具--->找到其菜单,可以看到已经加上了

重新生成一下工程:打开rtconfig文件看一下变化:

打开工程看一下变化,可以看到工程,新的低功耗串口已经注册到IO设备管理器中。接下来就可以操作了。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值