1、基于bsp生成代码
rtthread studio 很强大的一个功能就是可以根据芯片或者bsp 生成驱动代码,而且rtthread内核 已经集成到了代码中!!只需要关注于如何使用硬件和设备完成我们想要的功能就可以;
它的官网文档也特别详细!(但是还是有不少坑)
官网地址
1.1、新建项目
打开rtthread studio 创建项目:选择基于bsp 生成项目:
如何没有你想要的开发板型号,点击添加更多找到你所使用的开发板:(本例是正点原子的潘多拉开发板)
给项目命名之后点击完成即可:
1.2、工程目录结构
工程结构如上所示:
RT_Thread Settings :是配置rtthread 软件支持包和硬件外设以及组件支持;对于刚生成的项目,只默认配置gpio 口 和uart 组件,其他的并没有启动。如果需要使用,需要自己配置(特别简单的配置即可)
CubeMX config setting :这个是联动 Cubemx 进行代码配置使用的,对于一些组件我们也可以使用cubemx 生成我们的组件配置。这个rtthread studio 支持的非常好,电脑安装cubemx 后可以直接识别项目芯片并直接跳转到cubemx 配置页面;
Board information : 板子的介绍文档
include: 工程包含的头文件
applications: 应用开发层代码
board:主板的外设硬件驱动(例如lcd 、wifi驱动;这些都是生成好的)和cubemx的配置文件
build:编译文件后生成的文件
libarries: 依赖库:存放底层驱动hal文件: spi iic usrt 等等以及stm32l4xxx的hal库文件
rt-thread: rtthread 内核文件:
另外还有一个重要的文件就是rtconfig.h 这个是配置外设已经是否使用硬件驱动:例如 定时器 adc uart 等等:(下边会介绍如何配置-》以hwtimer为例)
1.3、启动项目
点击编译,启动项目
编译完成之后:点击下载程序:(需要板子连接st-link 或者j-link)
下载程序之后点击串口视图:
打开串口:
显示如下页面:
不熟悉rtthread命令的可以输入help查看命令解释
下边还有wifi 命令,这个都是基于bsp替我们生成好了:直接可以使用:
2、配置HWTimer设备驱动:
首先我们在命令框中输入 list_device 查看当前已经挂载的设备:
接下来我们操作配置文件挂载 硬件定时器 HWTimers设备:
这个过程方法有很多种,我们可以在rtthread studio 提供图形化配置,也可以直接在rtconfig.h文件中直接配置
2.1、rt-thread settings 配置
ctrl+s 保存后,就配置hwtimer 的支持了:(其实这一步就是在rtconfig.h 中添加了一句代码(#define RT_USING_HWTIMER)!!!)
之后我们还需要在rtconfig.h 中继续配置我们要使用具体哪个定时器:
2.2、rtconfig 配置定时器:
在配置文件指定我们所需要使用的硬件:
这里使用timer15
2.3重新编译项目:
重新编译下载后在msh 命令框输入 list_device 查看是否成功挂载了timer15:
timer 已经挂载到了设备管理器当中:
博主也是接触rtthread 不久,存在问题还请小伙伴们多多指正。