【RT-Thread】 设备和驱动

RT-Thread 设备和驱动

一、RT-Thread IO设备模型框架

RT-Thread 提供了一套简单的 I/O 设备模型框架,如下图所示,它位于硬件和应用程序之间,共分成三层,从上到下分别是 I/O 设备管理层、设备驱动框架层、设备驱动层。

I/O 设备模型框架

image-20240728225818581

详细介绍请查看:官方手册

二、框架是如何对接的

简单 I/O 设备使用序列图

我们可以看上图,一开始的时候设备驱动会创建设备,并向IO设备管理器进行注册设备。

这一过程是在哪里完成的呢?

可以查看我的这一篇文章:RT-Thread驱动流程

1.Pin

以Pin设备为例子

image-20240728231000372

可以看到他在板极初始化的时候就被自动注册到io设备上。

image-20240728231103638

_stm32_pin_ops是stm32控制io的一些操作。

image-20240728231151890

image-20240728231140225

这些函数都有bsp工程师,帮我们想对应的封装好了。

image-20240728231306622

此时我们去调用rt_pin_write

image-20240728231355457

就会调用ops中的写函数,实际上就是_stm32_pin_ops的写函数。

image-20240728231518405

image-20240728231536629

2.iic

我们使用menuconfig使能iic总线

可以看到rtconfig.h

image-20240728232406341

image-20240728232419539

image-20240728232510743

rt_i2c_bit_ops就是把ii2相同的特性提前出来,而不同的特性data来调用

image-20240728232741136

image-20240728232806811

image-20240728232839882

可以看到最后的设备层操作函数也是调用设备驱动层的

ps:用文章的形式不好讲清楚,推荐大佬的b站视频:

Hello!RT-Thread
.bilibili.com/video/BV1SU4y197j7?vd_source=8c1bf9924f2718d7b70c1876a083a32e)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值