摘要:
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... 阅读全文
摘要:
块设备不能向字符设备那样访问,而是要先将请求放入队列,优化调整顺序后再执行,这种访问方式称为"电梯调度算法"。本篇文章通过ramdisk、nand flash、nor flash来讲解如何写块设备驱动程序。一、ramdisk1.因为块设备驱动程序是将请求放入队列然后调整顺序后执行,所以我们需要先定义... 阅读全文
摘要:
本文以USB鼠标讲解USB设备驱动。驱动程序中调用usb_register(struct usb_driver *)函数时,先判断USB总线驱动程序是否支持usb_driver里定义的id_table,若支持,调用usb_driver的probe函数。所以首先要定义并初始化usb_driver结构体... 阅读全文
摘要:
IIC总线驱动共3个部分:IIC核心,IIC总线驱动,IIC设备驱动。1>IIC核心:提供总线驱动和设备驱动的注册和注销方法2>IIC总线驱动:是对适配器端的实现3>IIC设备驱动:是对设备端的实现框架图:IIC总线驱动用于识别IIC设备,提供读写函数,提供如何收发数据,但是不知道数据的具体含义。在... 阅读全文
摘要:
上一篇文章讲解了linux系统移植到开发板上的步骤,本篇文章讲解根文件系统的制作。1.配置编译busybox,在busybox源码目录中的install文件说明了怎么编译。①打开Makefile,修改ARCH和CROSS_COMPILE②make menuconfig③make install或ma... 阅读全文
摘要:
触摸屏驱动程序框架与上一片文章的输入子系统类似,只是底层驱动由按键变成了触摸屏。S3C2440的ADC相关寄存器:struct s3c_ts_regs { unsigned long adccon; unsigned long adctsc; unsigned long adcdly; un... 阅读全文
摘要:
本篇文章通过按键驱动为例讲解输入子系统的开发流程。输入子系统由驱动层、输入子系统核心、事件处理层三部分组成。一个输入事件,如鼠标移动、键盘按下等通过Driver->Inputcore->Event handler->userspace的顺序到达用户控件的应用程序。用于报告EV_KEY,EV_REL,... 阅读全文
摘要:
定义LCD相应寄存器的结构体struct lcd_regs { unsigned long lcdcon1; unsigned long lcdcon2; unsigned long lcdcon3; unsigned long lcd... 阅读全文