linux驱动
少年无梦
猥琐发育,别浪
展开
-
内核下gpio模拟i2c驱动修改
Linux内核很多驱动都使用到I2C子系统。EEPROM、RTC,电池,tp等。inux内核的i2c-gpio是使用GPIO模拟I2C协议的驱动,在内核中已经实现了,我们要做的只需要配置2根GPIO即可。GPIO模拟I2C协议的驱动位于drivers/i2c/busses目录。驱动名称为“i2c-gpio”,驱动文件为drivers/i2c/busses/i2c-gpio.c1. GPIO支持要先保证是选上的2. 先配置内核Device Drivers->I2C ...原创 2020-09-27 09:21:48 · 2339 阅读 · 0 评论 -
很简单明了的驱动分层
以JZ2440开发板的点亮led的操作做一下总结,驱动分为led_dev.c,led_drv两部分,另外还有一个测试程序led_test.cled_dev:硬件资源 led_dev是和硬件设备相关的代码,其功能是包含、上报可供调度的硬件资源,完成以下几项声明一个platform_device类型的结构体 该结构体中含有name、id、resource等内容 dev和drv含有相同...转载 2020-01-06 16:39:24 · 190 阅读 · 0 评论 -
linux系统结构
linux系统从软件的角度来说分为4个部分,系统引导,linux内核,文件系统,应用程序也就是我们常说的BootLoader,kernel,rootfs,applicationBootLoader:依赖硬件,引导系统启动,相当于Windows中的BIOSkernel:主要是各种硬件和软件的驱动,rootfs:主要是文件和数据的存储和处理application:操作硬件和实现...原创 2018-09-13 21:45:02 · 134 阅读 · 0 评论 -
dts-设备树(Device Tree)
1. 什么是dts?在Linux3.x版本后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device、i2c_board_info等)被大量取消,取而代之的是设备树,其目录位于arch/arm/boot/dts设备树就是由一些属性和节点组成的一种数据结构,属性一般会赋予一些属性值,而节点则可能是是由属性跟其下的子节点...原创 2018-03-24 23:20:45 · 687 阅读 · 0 评论 -
内核结构体 resource
挂载cpu总线上的设备单元,一般都会一段线性的地址空间来描述自身,我们该怎么去描述这个设备单元呢? struct resource结构就是用来描述一个挂接在cpu总线上的设备实体vi include/linux/ioport.h 当我们需要创建一个该资源时可以包含此头文件来快捷创建 18 struct resource { 19 resource_size_t star...原创 2019-12-23 12:04:35 · 1056 阅读 · 0 评论