摘要: 转自:http://www.cnblogs.com/lcw/p/3159370.htmlPreface USB体系支持多种类型的设备。 在 Linux内核,所有的USB设备都使用 usb_driver结构描述。 对于不同类型的 USB设备,内核使用传统的设备驱动模型建立设备驱动描述,然... 阅读全文
posted @ 2015-12-22 14:56 Sky&Zhang 阅读(845) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lcw/p/3159371.htmlPreface USB是目前最流行的系统总线之一。随着计算机周围硬件的不断扩展,各种设备使用不同的总线接口,导致计算机外部总线种类繁多,管理困难。USB总线正是因此而诞生的。USB总线提供了所有外部设备的统一... 阅读全文
posted @ 2015-12-22 14:54 Sky&Zhang 阅读(784) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lcw/p/3159394.htmlPreface 当用户编译一个linux内核代码后,会产生几个文件:vmlinz、initrd.img, 以及System.map,如果配置过grub引导管理器程序,会在/boot目录下看到这几个文件。vmlin... 阅读全文
posted @ 2015-12-22 14:48 Sky&Zhang 阅读(915) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lcw/p/3159461.htmlPreface Makefile固然可以帮助make完成它的使命,但要承认的是,编写Makefile确实不是一件轻松的事,尤其对于一个较大的项目而言更是如此。那么,有没有一种轻松的手段生成Makefile而同... 阅读全文
posted @ 2015-12-22 14:47 Sky&Zhang 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lcw/p/3159462.html查看软件xxx安装内容:dpkg -L xxx查找软件库中的软件:apt-cache search 正则表达式查找软件库中的软件:aptitude search 软件包查找文件属于哪个包:dpkg -S file... 阅读全文
posted @ 2015-12-22 14:44 Sky&Zhang 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lcw/p/3337937.htmlLinux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到start_kernel间的初始化代码, 主要作用是检查... 阅读全文
posted @ 2015-12-22 14:37 Sky&Zhang 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lcw/p/3762927.html【VI使用】1、在命令行模式:在vi编辑器中将光标放在函数上,shift + k可直接man手册,退出man手册直接按两次q:直接gg=G可以使文件自动对齐:gg定位到文件的开头,G定位到文件的末尾:M定位到文件... 阅读全文
posted @ 2015-12-22 14:35 Sky&Zhang 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 【1:引言: linux字符设备驱动的基本编程流程】转自:http://www.cnblogs.com/lcw/p/3802579.html1.实现模块加载函数 a.申请主设备号register_chrdev(major,name,file_operations); b.创建字符设备cdev,注册字... 阅读全文
posted @ 2015-12-22 14:33 Sky&Zhang 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lcw/p/3394545.htmlGitHub GitHub是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩... 阅读全文
posted @ 2015-12-22 14:31 Sky&Zhang 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/zh98jm/article/details/63393201、驱动流程:2、明确probe函数的功能:probe有usb core 经枚举过程,匹配 id_table ,识别到驱动,并调用probe来初始化一些信息。如 dev->driver_inf... 阅读全文
posted @ 2015-12-22 14:29 Sky&Zhang 阅读(3488) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/myarrow/article/details/8286876USB模块包括usb core,host,hub,device驱动,其中hub会启动一个内核线程名曰:khubd(hub_events一直在查询(hub使用的是中断传输), 当usb 设备连... 阅读全文
posted @ 2015-12-22 14:21 Sky&Zhang 阅读(2757) 评论(0) 推荐(0) 编辑
摘要: 转自:http://biancheng.dnbcw.info/linux/257411.html 【1】 如何编译X86下的 uBuntu APP---非常简单: gcc -o testusb testusb.c 编译完成后即可生成 testusb ,这就是可执行文件。 【2】下面制作一个APP,目... 阅读全文
posted @ 2015-12-22 14:19 Sky&Zhang 阅读(2295) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/tigerjibo/article/details/82995891.container_of宏1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址... 阅读全文
posted @ 2015-12-22 10:33 Sky&Zhang 阅读(209) 评论(0) 推荐(0) 编辑