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


详细介绍请查看:官方手册
二、框架是如何对接的

我们可以看上图,一开始的时候设备驱动会创建设备,并向IO设备管理器进行注册设备。
这一过程是在哪里完成的呢?
可以查看我的这一篇文章:RT-Thread驱动流程
1.Pin
以Pin设备为例子

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

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


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

此时我们去调用rt_pin_write

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


2.iic
我们使用menuconfig使能iic总线
可以看到rtconfig.h



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



可以看到最后的设备层操作函数也是调用设备驱动层的
ps:用文章的形式不好讲清楚,推荐大佬的b站视频:
Hello!RT-Thread
.bilibili.com/video/BV1SU4y197j7?vd_source=8c1bf9924f2718d7b70c1876a083a32e)
6573

被折叠的 条评论
为什么被折叠?



