嵌入式技术william hill官网
直播中

费加罗

8年用户 781经验值
私信 关注
[问答]

RT-Thread Studio对于硬件外设驱动的支持情况

本文将介绍 RT-Thread Studio 对于硬件外设驱动的支持情况。由于 RT-Thread nano 版本不具有设备概念,所以本文提到的 RT-Thread 为完整版本。nano 版建议直接使用 HAL 库进行驱动开发。


回帖(1)

李刚

2021-4-6 09:18:44
驱动概况

当前 RT-Thread Studio 驱动开发方式主要分为二种


  • 1、由 RT Thread Studio 自动生成,无需修改任何文件或者简单定义几个宏即可直接使用的驱动,如 GPIO,UART,I2C,SPI,SDIO 和 ETH 等。
  • 2、没有对接到设备驱动框架,可直接使用 HAL 库函数进行开发的驱动,如 DAC,FSMC 等。

RT-Thread Studio (截止V1.0.4)的驱动支持情况见下表
[tr]外设Studio 自动生成HAL 库函数开发[/tr]
PIN支持支持
UART支持支持
I2C支持支持
SPI支持支持
QSPI支持支持
WDT支持支持
PWM支持支持
RTC支持支持
FLASH支持支持
SDIO支持支持
USB HOST支持支持
USB DEVICE支持支持
ETH支持支持
TIMER支持(推荐使用 HAL 库)支持
ADC支持(推荐使用 HAL 库)支持
DAC不支持支持
FSMC不支持支持
CAN不支持支持
使用简介

Studio 自动生成的驱动

使用 RT-Thread Studio 新建完整版工程时,用户不需要修改任何代码,例如:


  • PIN :该驱动对接到了设备驱动框架并且可以直接使用,具体 PIN 的使用参考 PIN设备
  • UART :对于串口驱动来说,生成工程的时候串口驱动也自动对接到了设备驱动框架,使用时需要自己定义串口号以及串口引脚对应的宏,具体参考 串口设备
  • I2C :软件 I2C 的驱动在使用 RT-Thread Studio 自动生成工程时也对接到了设备驱动框架,软件 I2C 驱动的开发参考 软件模拟I2C设备
  • SPI :SPI 设备驱动的开发参考 SPI设备
  • 更多设备:更多设备驱动的开发请参考 RT-Thread 官网文档中心的相关章节。

提示
虽然 ADC 及 Timer 外设已经对接到了设备驱动框架,但是其功能不够完善,例如:不支持 DMA,定时器的一些高级功能无法使用等。对于这类驱动,目前推荐使用 HAL 库函数方式进行开发。

直接使用 HAL 库函数开发的驱动

虽然可以通过 Studio 自动或者手动方式添加设备驱动代码,但是还是有些外设暂时无法对接到设备框架
此时用户直接按照 HAL 库开发的方式,开发对应的驱动即可。具体开发方式可以参考RT-Thread Studio 结合 STM32CubeMx 开发其他驱动文档
                                       
举报

更多回帖

发帖
×
20
完善资料,
赚取积分