![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
各路子系统
文章平均质量分 83
各路子系统各路子系统各路子系统各路子系统
鸭鸭打瞌睡
这个作者很懒,什么都没留下…
展开
-
10.2手动推导linux中file, cdev, inode之间的关系
是时候可以手动推导一下linux里面基类父类和子类的关系了代码放最后把。原创 2023-10-15 20:50:48 · 391 阅读 · 0 评论 -
13_pinctrl子系统
pinctrl作为驱动iomuxc节点在设备树里面 存储全部所需的引脚配置信息。原创 2023-03-05 21:35:08 · 373 阅读 · 1 评论 -
09_输入子系统
这里学的不是很透彻,只是知道和设备树没太大关系,用中断实验的设备节点就好在中断实验的驱动多创建 输入设备结构体并且初始化 有中断的时候上报一下就没了在07_按键中断驱动中 初始化的时候找个地方 申请一个输入子系统结构体 用系统提供的api进行简单初始化中断处理函数中使用 input_event()上报输入事件,后续交给系统的input核心层进行事件的分发就行。原创 2023-01-27 18:10:33 · 614 阅读 · 0 评论 -
07_linux中断控制
分为 gic中断控制器设备树节点 其他外设中断控制器节点 需要使用中断的设备节点。设置iomux 给这个gpio_5_1 设置为普通io 输入 用来检测信号。想在button_interrupt节点使用 gpio5管理的中断类型。有些外设和中断关系密切,这时把这个外设节点也作为一个中断控制器节点。这样可以用这个外设节点对某一个具体的中断进行管理。dev:传递给中断处理函数的第二个参数。gic中断控制器在设备树里面的节点。禁止中断,等待中断执行完毕。禁止中断,不等待中断执行完。irq:要释放的中断号。原创 2023-01-27 16:19:04 · 823 阅读 · 0 评论 -
06_spi子系统
和i2c框架图类似 spi控制器也会当作spi设备 挂在spi总线上面SPI核心层提供SPI控制器驱动和设备驱动的注册方法、注销方法、SPI通信硬件无关接口SPI主机驱动主要包含SPI硬件体系结构中适配器(spi控制器)的控制,用于产生SPI 读写时序主要数据结构:spi_master(spi_controller)SPI设备驱动通过SPI主机驱动与CPU交换数据主要数据结构:spi_device和spi_driver。原创 2023-02-05 21:04:08 · 394 阅读 · 0 评论 -
05_驱动中异步处理数据,流水线工人
比如06中的spi驱动,因为是异步处理数据避免堵塞这时候把线程当作一个工人,分派任务,分配处理任务的方法。原创 2023-02-05 15:07:12 · 398 阅读 · 0 评论 -
04_iic子系统
iic_client和iic_driver 加入iic总线的思想和paltform总线的玩法一样把iic设备和驱动注册到iic总线中 构造出字符设备驱动和设备节点供app进行操作但是iic硬件设备是挂在iic控制器下面的 所以iic控制器也会有自己的驱动和设备树节点 厂家一般都会帮做好我们写的iic_driver驱动程序 控制iic硬件的时候 使用iic总线提供的api 来控制iic硬件设备详细介绍分两部分 一个是iic驱动程序 一个是iic控制器驱动介绍。原创 2023-01-23 23:51:52 · 1190 阅读 · 0 评论 -
02_gpio子系统
驱动程序还想控制gpio 可以不用读写寄存器 直觉用gpio子系统开发的接口就能用了轻松做输入输出 获取当前值gpio1 记录了控制器相关的寄存器基地址//初始化外设时钟 gpio - controller;//表明gpio1是gpio控制器 # gpio - cells = < 2 >;//表明gpio1是中断控制器 # interrupt - cells = < 2 >;//表明gpio1和pinctrl子系统关系 gpio子系统引脚编号和pinctrl子系统引脚编号的关系 }原创 2023-01-22 22:05:26 · 1126 阅读 · 0 评论