随笔分类 - 【嵌入式基础】
摘要:转自:http://www.cnblogs.com/lcw/p/3337937.htmlLinux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到start_kernel间的初始化代码, 主要作用是检查...
阅读全文
摘要:转自:http://www.cnblogs.com/lcw/p/3762927.html【VI使用】1、在命令行模式:在vi编辑器中将光标放在函数上,shift + k可直接man手册,退出man手册直接按两次q:直接gg=G可以使文件自动对齐:gg定位到文件的开头,G定位到文件的末尾:M定位到文件...
阅读全文
摘要:【1:引言: linux字符设备驱动的基本编程流程】转自:http://www.cnblogs.com/lcw/p/3802579.html1.实现模块加载函数 a.申请主设备号register_chrdev(major,name,file_operations); b.创建字符设备cdev,注册字...
阅读全文
摘要:转自:http://www.cnblogs.com/lcw/p/3394545.htmlGitHub GitHub是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩...
阅读全文
摘要:转自:http://blog.csdn.net/tigerjibo/article/details/82995891.container_of宏1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址...
阅读全文
摘要:转自:http://blog.csdn.net/uruita/article/details/7278313從2.6版本開始引入了platform這個概念,在開發底層驅動程序時,首先要確認的就是設備的資源信息,例如設備的地址,在2.6內核中將每個設備的資源用結構platform_device來描述,...
阅读全文
摘要:转自:http://blog.csdn.net/uruita/article/details/72632901. MODULE_DEVICE_TABLE (usb, skel_table);该宏生成一个名为__mod_pci_device_table的局部变量,该变量指向第二个参数。内核构建时,de...
阅读全文
摘要:转自:http://blog.csdn.net/tangkegagalikaiwu/article/details/8444249Thispci_device_idstructure needs to be exported to user space to allow the hotplug an...
阅读全文
摘要:转自:http://blog.csdn.net/jacobywu/article/details/8819001[cpp] view plaincopy /** * usb_alloc_dev - usb device constructor (usbcore-internal) * @pare...
阅读全文
摘要:转自:http://blog.csdn.net/jacobywu/article/details/7475432阻塞型I/O和非阻塞I/O阻塞:休眠非阻塞:异步通知一 休眠安全地进入休眠的两条规则:(1) 永远不要在原子上下文中进入休眠,即当驱动在持有一个自旋锁、seqlock或者 RCU...
阅读全文
摘要:/*申请gpio*/int gpio_request(unsigned gpio, const char *label);/*设置gpio为输入状态,即设置如(GPH0CON)*/int gpio_direction_input(unsigned gpio);/*设置gpio为输出状态,即设置如(G...
阅读全文
摘要:转自:http://blog.csdn.net/jacobywu/article/details/7319429Linux中断编程:申请irq: int request_irq(unsigned int irq, \ void (*handler)(int irq,void *dev_id,str...
阅读全文
摘要:转自:http://blog.csdn.net/jacobywu/article/details/8861882struct usb_device_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorT...
阅读全文
摘要:转自:http://blog.csdn.net/flyyyri/article/details/5480347理论: 对于USB接口的设备,现在越来越多了。本篇我们就通过获取一个USB扫描仪设备中的序列号,来介绍如何获取usb设备的一些硬件信息。对于usb设备都是采用HCD0,HCD1,HCD2,H...
阅读全文
摘要:转自:http://www.cnblogs.com/LittleHann/p/4558719.htmlcatalog1. 概述2. 使用模块3. 插入和删除模块4. 自动化与热插拔5. 版本控制1. 概述模块(module)是一种向Linux内核添加设备驱动程序、文件系统及其他组件的有效方法,而无需...
阅读全文
摘要:转自:http://www.cnblogs.com/LittleHann/p/4127096.html目录1. sys_call_table:系统调用表2. 内核符号导出表:Kernel-Symbol-Table3. Linux 32bit、64bit环境下系统调用入口的异同4. Linux 32b...
阅读全文
摘要:/* * Allocate the IRQ */ #if 0 retval = request_irq(uap->port.irq, pl011_int, 0, "uart-pl011", uap); #else retval = request_threaded_irq(uap->por...
阅读全文
摘要:转自:http://www.ruanyifeng.com/blog/2015/08/git-use-process.html作者:阮一峰日期:2015年8月 5日团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护...
阅读全文
摘要:转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html作者:阮一峰日期:2015年12月 9日我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。...
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-9688646-id-4052595.html是不是觉得很玄?像思念一样玄?那好,我们来看点具体的,比如935行,INIT_DELAYED_WORK().这是一张新面孔.同志们大概注意到了,在hub这个故事里,我们的讲解风格略有变化,...
阅读全文