linux driver
文章平均质量分 89
奔跑的蜗牛87
蜗牛也要有关于奔跑的梦
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux DMA地址分析
DMA(Direct Memory Access)直接内存访问。这里是一种访问内存的能力,不限于DMA控制器(DMAC)。原创 2024-01-22 22:02:32 · 2717 阅读 · 1 评论 -
irq_domain 分析
irq_domain_add_tree、irq_domain_create_tree:与上面的接口不一样的是, 该接口的实现的映射关系存储为基数树radix_tree方式(基数树相关算法不详述),其映射关系以数的关系建立,可实现映射关系动态插入和删除,一般用于中断数目较多,且应用到的数目较少的情况,如GIC控制器实现了500个中断,但通常应用场景只使用了80个中断的情况。申请一个irq doamin,可使用的接口如下,这些接口调用的核心接口为 __irq_domain_add。原创 2023-03-28 11:28:27 · 860 阅读 · 0 评论 -
linux 中断简述
1、硬件中断设计 关于中断,首先从其硬件结构说起,以下是一个典型的ARM soc的中断结构图。 如图所示,所有模块的中断都接入到GIC(Generic Interrupt Controller, arm公司推出),然后由GIC接入到各个CPU。不同核心的CPU,使用的中断控制器不一样,如Riscv的中断控制器为 LIC(Local Interrupt Controller)。 GIC主要的工作为仲裁中断,分发中断,针对不同的CPU的架构,可支持不同安全级别的中断。具体的GIC功能根据SOC使用的原创 2023-03-01 09:49:24 · 2375 阅读 · 1 评论 -
Linux platform device 分析
比如amba-bus下的i2c master是属于其一级child,会add。但是i2c master下的child,属于二级child,就不在这里creat&add了。I2C master下的child则是有其他驱动creat&add,以后分析。device_add 之后,kernel device core 会匹配相关的driver,如果匹配成功,会调用 device_driver_attach,实现驱动probe,完成device的初始化(涉及到通用驱动框架,详细流程以后分析)。.........原创 2022-08-10 00:08:52 · 1351 阅读 · 0 评论
分享