2018年3月18日

14、块设备驱动程序框架分析

摘要: (对于需要使用块设备驱动程序框架的设备,比如磁盘,假如一个操作需要读写读三个不同扇区,这个时候如果采用字符驱动程序来读写,对于机械磁盘的磁头需要跳来跳去执行,这样时间会花费很长) (比如nand flash产品,在写多个字节的时候,先读整块到buffer,修改buffer中的扇区(即页),在擦除整块 阅读全文

posted @ 2018-03-18 18:32 拉风摊主 阅读(437) 评论(0) 推荐(0) 编辑

12.2 linux USB框架分析(详细注册match匹配过程)

摘要: 首先我们先来简单说一说USB的框架,之后在来具体分析源码,以便加深理解!其实USB的框架比较像“平台总线、设备、驱动”的框架,也分为总线、设备、驱动三大块。其中总线驱动是已经由内核完成的,一旦接入usb设备,总线驱动程序就会找到能处理该设备的驱动进行处理!我们进入文件系统的/sys/bus目录下可以 阅读全文

posted @ 2018-03-18 13:58 拉风摊主 阅读(1775) 评论(0) 推荐(0) 编辑

2018年3月17日

arm-linux-gcc: Command not found

摘要: 老是提示arm-linux-gcc找不到,但是确实是装好了,其实是权限的问题,Ubuntu没有root权限,刚开始用碰到很多麻烦,查了好多资料,终于把arm-linux-gcc: Command not found 的问题解决了。 问题: sudo tar jxvf cross-2.95.3.tar 阅读全文

posted @ 2018-03-17 18:48 拉风摊主 阅读(2018) 评论(2) 推荐(0) 编辑

12、USB设备驱动程序

摘要: linux-3.4.2\driver\hid\usbhid\usbmouse.c 内核只带USB驱动程序 (hub和usb是两个不同的设备,hub在内核上电的过程中在usb_hub_init函数中调用usb_register来注册,usb驱动才是我们自己写的驱动,也是用usb_register来注册 阅读全文

posted @ 2018-03-17 12:12 拉风摊主 阅读(503) 评论(0) 推荐(1) 编辑

12.1、USB驱动——描述符、URB、管道

摘要: 大家常说,一个设备通常有多个配置,配置通常有多个接口,接口通常有多个端点。接口代表逻辑上的设备,比如声卡分为 录音和播放。访问设备时,访问的是某个接口(逻辑设备)。除了端点0之外,每个端点只支持一个传输方向,一种性质的传输传输数据时,读写某个端点,端点是数据通道。 有一个设备,如支持视频和音频的一个 阅读全文

posted @ 2018-03-17 11:09 拉风摊主 阅读(1037) 评论(0) 推荐(0) 编辑

2018年3月15日

13、触摸屏驱动程序

摘要: linux-3.4.2\drivers\input\touchscreen\s3c2410_ts.c(内核只带驱动) 触摸屏是有2440芯片中ADC控制器控制的,ADC有四种工作模式: 1、普通转换模式用于ADC转换; 2和3、用于触摸屏测试模式; 4、等待触摸笔按下模式 测试2th~7th:1. 阅读全文

posted @ 2018-03-15 23:11 拉风摊主 阅读(361) 评论(0) 推荐(0) 编辑

2018年3月14日

0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

摘要: (内核make menuconfig之后,通过insmod安装的驱动都应该重新make,可能会出现一些莫名的问题) (nor flash/SDRAM/DM9000都受内存控制器控制,需要配置内存控制器对应的位宽,表示一次能取得多少字节数据;norflash在接开发板时,地址线错开一位的原因就是因为当 阅读全文

posted @ 2018-03-14 23:08 拉风摊主 阅读(159) 评论(0) 推荐(0) 编辑

11、DMA操作说明

摘要: 先理解cache的作用CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中(hit)”,此时CPU直接从Cache中调用该内容;否则,就 称为“ 不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由 阅读全文

posted @ 2018-03-14 22:40 拉风摊主 阅读(713) 评论(0) 推荐(0) 编辑

10、分离分层

摘要: 1、bus虚拟总线 2440中在mach_smdk2440.c中,通过smdk2440_machine_init会把很多device都注册了,这样driver层在注册的时候就可以调用probe函数了 2、在mach_xxxxx.c这个架构相关函数中,在他的init函数中会通过platform_add 阅读全文

posted @ 2018-03-14 21:43 拉风摊主 阅读(179) 评论(0) 推荐(0) 编辑

9、LCD驱动程序框架

摘要: linux-3.4.2\drivers\video\S3C2410fb.c(内核自带驱动程序) fbmem.c是LCD驱动程序顶层框架文件,是一个通用的文件,在初始化init函数中会注册一个字符设备,并创建一个类,在注册字符设备的时候提供的file_operations是一个中间件,根据次设备号在r 阅读全文

posted @ 2018-03-14 19:50 拉风摊主 阅读(339) 评论(0) 推荐(0) 编辑

导航