一图看懂 RTT 设备层次

本文面向初学者,解析RT-Thread操作系统中设备驱动的层次关系。通过STM32和非STM32芯片的实例,阐述外设如何通过驱动框架对接到IO管理器,并提供用户API。强调在STM32CubeMX配置外设时,不应生成单独的驱动文件,而应直接更新到stm32xxx_hal_msp.c。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文由RT-Thread论坛用户@yangjie原创发布:https://club.rt-thread.org/ask/article/2997.html

初学者福利。
粗略地画了一个图,主要针对设备这块,能帮助初学者理解设备架构的层次关系。

基础知识:《IO设备模型》 初学者可以点击链接先做了解。

下图所示为RTT设备层次关系。

(1)STM32为例
使用 cubemx 配置的外设,点击生成代码之后,外设的初始化代码会更新到 stm32xxx_hal_msp.c 文件中,然后被 drv_xxx.C 调用对接到设备驱动框架层上。设备驱动框架层注册设备到IO管理器(注:为了简单点 此处我没加device.c),并提供给用户应用API。

(2)其他芯片
可能没有相关的代码配置与生成工具,只有厂商提供的库文件。在开发驱动的时候,需要开发者完成 drv_xx.c,对下层对接厂商库文件,对上层对接rt-thread 提供的设备驱动框架层。

image.png

注:studio下源码在工程中的分组就是源码所在目录。

注意事项:
在stm32 cubemx 配置设备后,生成代码时候,不要选择以下选项(即:不让其生成单独的 .c/.h 驱动文件,直接全部更新到 rt-thread 要使用的 stm32xxx_hal_msp.c 文件中):
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值