驱动开发
文章平均质量分 92
LonggSir
这个作者很懒,什么都没留下…
展开
-
framebuffer驱动详解—以s3c2410fb为例
三星驱动的虚拟分辨率是真是分辨率的两倍,采用了双缓冲结构(有时也称乒乓结构),屏幕首先从(0,0)开始显示,当上半部分显示完后,可以直接切换到(0, 480),显示剩下的内容。应用与内核的显存的虚拟地址不同,应用使用的是应用层的虚拟地址空间,而内核使用的是内核层的虚拟地址空间,但是二者可以对应同一块物理地址,这样就可以提升效率。驱动在内核中申请一块显存,多个进程可同时操控LCD,可进行多对一映射,后来的覆盖前面的。向应用层提供一个统一标准接口的显示设备,忽略不同显示设备的差异,屏蔽了不同的硬件的差异。原创 2024-05-04 16:49:37 · 717 阅读 · 0 评论 -
linux i2c—i2c设备驱动匹配过程分析
设备与驱动的匹配,既可以在i2c设备注册时匹配相应驱动,也可以在i2c驱动注册时匹配相应设备,本文将从。表中的所有成员比较,查看是否有相同的条目,如果有的话就表示设备和此驱动匹配,设备和驱动匹配成功以后。适配器在注册时会扫描设备树上的i2c设备,也在扫描静态(代码中)添加的i2c设备,最后都是通过。函数是用于探测未注册的设备,并将其注册后匹配,我们一般很少用到它这里不展开讲解。相比于平台总线匹配,少了一种通过设备名字与驱动名字匹配的方式,所以。值得注意的是,它设置了。匹配表,设备树中的每个设备节点的。原创 2024-03-09 19:44:23 · 1041 阅读 · 0 评论 -
Linux I2C驱动-I2C适配器驱动框架分析
I2C适配器驱动就是前面说的I2C总线驱动,那么I2C总线驱动是怎么将适配器注册与匹配的呢原创 2024-03-09 19:35:48 · 712 阅读 · 0 评论 -
Linux I2C驱动-框架与数据类型导读
总线对应着/bus下的一条总线,这个i2c总线结构体管理着i2c设备与I2C驱动的匹配,删除等操作,I2C总线会调用i2c_device_match函数看I2C设备和I2C驱动是否匹配,如果匹配就调用i2c_device_probe函数,进而调用I2C驱动的probe函数。描述一个挂接在硬件i2c总线上的设备的驱动方法,即i2c设备的驱动对象,通过i2c_bus_type和设备信息i2c_client匹配,匹配成功后通过clients和i2c_client对象相连。设备驱动的注册、注销方法和与具体。原创 2024-03-03 18:52:33 · 929 阅读 · 0 评论 -
linux-中断杂谈
我们常用的就是复位中断和 IRQ 中断。GIC 是 ARM 公司给 Cortex-A/R 内核提供的一个中断控制器,目前 GIC 有 4 个版本:V1~V4,V1 是最老的版本,已经被废弃了。V2~V4 目前正在大量的使用。GIC V2 是给 ARMv7-A 架构使用的,比如 Cortex-A7、Cortex-A9、Cortex-A15 等,V3 和 V4 是给 ARMv8-A/R 架构使用的,也就是 64 位芯片使用的。gic控制器的逻辑如下:gic的中断源分为三类。原创 2023-05-02 17:12:45 · 366 阅读 · 0 评论 -
linux并发与竞争(原子/自旋锁/信号量/互斥体理解)
linux并发与竞争(原子/自旋锁/信号量/互斥体理解)原创 2023-04-23 20:49:25 · 270 阅读 · 0 评论 -
linux字符驱动的一般init初始化流程
linux字符驱动的一般init初始化流程原创 2023-04-16 09:46:01 · 126 阅读 · 2 评论