摘要: 1.解压内核sudo xz -d linux-3.15.4.tar.xzsudo tar xvf linux-3.15.4.tar2.修改内核源码顶层的Makefilesudo vim Makefilearch=armCROSS_COMPILE=arm-linux-3.vim arch/arm/ma... 阅读全文
posted @ 2014-07-07 16:29 zpehome 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 块设备不能向字符设备那样访问,而是要先将请求放入队列,优化调整顺序后再执行,这种访问方式称为"电梯调度算法"。本篇文章通过ramdisk、nand flash、nor flash来讲解如何写块设备驱动程序。一、ramdisk1.因为块设备驱动程序是将请求放入队列然后调整顺序后执行,所以我们需要先定义... 阅读全文
posted @ 2014-07-03 17:17 zpehome 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 本文以USB鼠标讲解USB设备驱动。驱动程序中调用usb_register(struct usb_driver *)函数时,先判断USB总线驱动程序是否支持usb_driver里定义的id_table,若支持,调用usb_driver的probe函数。所以首先要定义并初始化usb_driver结构体... 阅读全文
posted @ 2014-07-03 15:24 zpehome 阅读(366) 评论(0) 推荐(0) 编辑
摘要: IIC总线驱动共3个部分:IIC核心,IIC总线驱动,IIC设备驱动。1>IIC核心:提供总线驱动和设备驱动的注册和注销方法2>IIC总线驱动:是对适配器端的实现3>IIC设备驱动:是对设备端的实现框架图:IIC总线驱动用于识别IIC设备,提供读写函数,提供如何收发数据,但是不知道数据的具体含义。在... 阅读全文
posted @ 2014-07-03 12:45 zpehome 阅读(627) 评论(0) 推荐(1) 编辑
摘要: 上一篇文章讲解了linux系统移植到开发板上的步骤,本篇文章讲解根文件系统的制作。1.配置编译busybox,在busybox源码目录中的install文件说明了怎么编译。①打开Makefile,修改ARCH和CROSS_COMPILE②make menuconfig③make install或ma... 阅读全文
posted @ 2014-07-03 11:42 zpehome 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 触摸屏驱动程序框架与上一片文章的输入子系统类似,只是底层驱动由按键变成了触摸屏。S3C2440的ADC相关寄存器:struct s3c_ts_regs { unsigned long adccon; unsigned long adctsc; unsigned long adcdly; un... 阅读全文
posted @ 2014-07-01 21:14 zpehome 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 本篇文章通过按键驱动为例讲解输入子系统的开发流程。输入子系统由驱动层、输入子系统核心、事件处理层三部分组成。一个输入事件,如鼠标移动、键盘按下等通过Driver->Inputcore->Event handler->userspace的顺序到达用户控件的应用程序。用于报告EV_KEY,EV_REL,... 阅读全文
posted @ 2014-07-01 20:21 zpehome 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 定义LCD相应寄存器的结构体struct lcd_regs { unsigned long lcdcon1; unsigned long lcdcon2; unsigned long lcdcon3; unsigned long lcd... 阅读全文
posted @ 2014-07-01 09:58 zpehome 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 本篇文章通过平台总线设备模型为例,讲解总线设备驱动模型:platform_device_register的作用:1.把device放入bus的device链表2.从bus的driver链表中取出每一个driver,用bus的match函数判断driver能否支持这个device3.若可以支持,调用d... 阅读全文
posted @ 2014-06-27 01:17 zpehome 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 写linux驱动程序的一般步骤:1.定义主设备号2.构造并初始化file_operations结构体,提供read、write等函数供应用程序使用。3.注册4.声明出口函数和入口函数5.支持的协议MODULE_LICENSE("GPL")本篇文章记录字符设备的驱动框架:1.定义cdev接口体和cla... 阅读全文
posted @ 2014-06-27 01:01 zpehome 阅读(222) 评论(0) 推荐(0) 编辑