driver
darling757267
328726103
展开
-
linux USB驱动架构分析
初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。 事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用drive转载 2012-04-22 18:04:21 · 814 阅读 · 0 评论 -
USB驱动(三)
(本部分的一些示例源码来自drivers/usb/usb-skeleton.c,它是Linux内核为我们提供的最基础的USB驱动程序,USB骨架程序) 驱动程序把驱动对象注册到 USB 子系统中,之后使用供应商(idVendor)和设备(idProduct)标识来判断对应的硬件是否已经安装. 驱动的设备支持列表 struct usb_device_id 结构提供了这个驱动支转载 2012-04-22 18:07:08 · 559 阅读 · 0 评论 -
USB驱动(二)
USB 设备驱动代码通过urb和所有的 USB 设备通讯。urb用 struct urb 结构描述(include/linux/usb.h )。 urb以一种异步的方式同一个特定USB设备的特定端点发送或接受数据。一个 USB 设备驱动可根据驱动的需要,分配多个 urb 给一个端点或重用单个 urb 给多个不同的端点。设备中的每个端点都处理一个 urb 队列, 所以多个 urb 可在队列清空之转载 2012-04-22 18:06:06 · 517 阅读 · 0 评论 -
USB驱动(一)
http://www.cnblogs.com/hoys/archive/2011/04/01/2002766.html拓扑结构上, 一个 USB 子系统并不是以总线的方式来分布; 它是一棵由几个点对点连接构成的树。这些连接是连接设备和集线器的4线电缆(地, 电源, 和 2 个差分信号线), 如同以太网的双绞线。USB主控制器负责询问每个USB设备是否有数据需要发送。由于这个拓扑结构,一个转载 2012-04-22 18:03:03 · 536 阅读 · 0 评论 -
USB 调试(个人存档)
版本1: 发现错误描述符报错返回版本2: 版本1产生的内核OOPS问题解决--------------------------------------------------------------------------------------版本1:这次USB主要改变了linux-2.6.29-0xlab\drivers\usb\core\config.c文件1.修改usb原创 2012-07-04 12:20:37 · 896 阅读 · 0 评论 -
SD 调试(个人经验存档)
SD卡一线转四线调试:(增加代码的开头都带有/* added by liudl in 2011-03-..*/ 的注释)1.主要修改了kernel/cpu/omap3/目录下面的mmc.c,mmc_protocol.h,mmc_host_def.h以及cpu.c文件. a) mmc.c文件主要增加了mmc_send_cmd_with_blk,mmc_read_data_with_bl原创 2012-07-04 12:18:47 · 937 阅读 · 0 评论