
linux驱动内核框架
文章平均质量分 88
浓咖啡jy
热爱技术,专注于嵌入式设计
展开
-
linux3.2.0块设备及nandflash驱动框架
块设备框架:app: open,read,write "1.txt"--------------------------------------------- 文件的读写文件系统: vfat, ext2, ext3, yaffs2, jffs2 (把文件的读写转换为扇区的读写)-----------------ll_rw_block----------------- 扇区的读写 1. 把"读写"放入队列原创 2015-08-10 17:11:54 · 1891 阅读 · 0 评论 -
一个U盘引发的血案
问题背景:用户插入U盘后需要自动打开U盘目录,但是发现U盘每次挂载点都不一样,测试两个U盘的挂载点分别是/media/sda1和/media/sda4,所以就需要了解一下linux的udev机制了。我们知道,每个设备注册后会自动产生设备节点,以字符设备为例,不管是misc_register还是配合cdev_add接口注册驱动,都需要调用device_create来创建设备节点,就从这个函数入手,看原创 2015-04-13 19:57:56 · 1332 阅读 · 0 评论 -
linux3.2.0-usb驱动框架分析
/*参考过韦东山老师的usb分析笔记*/1. USB的传输类型:a. 控制传输:可靠,时间有保证,比如:USB设备的识别过程b. 批量传输: 可靠, 时间没有保证, 比如:U盘c. 中断传输:可靠,实时,比如:USB鼠标d. 实时传输:不可靠,实时,比如:USB摄像头2.USB驱动程序框架:app: ------------------------------------原创 2015-01-26 20:05:07 · 1247 阅读 · 1 评论 -
用户层模拟slab算法
在用户空间模拟内核的slab算法,帮助快速理解slab算法思想原创 2015-08-11 14:39:35 · 1006 阅读 · 0 评论 -
内存管理算法--伙伴算法
本来想年前就把内存管理这部分结束,可是计划赶不上变化啊,回家事情太多,只能一拖再拖了,今天终于把伙伴算法机制写完了。这一节不再像前面似的只给出理论框架,毕竟linux内存管理的两个算法--伙伴算法和slab网上资料太多了,在家时间比起上班毕竟是多一些,所以想直接用代码实现算了,这样不仅可以理解更深一些,或许哪天还能直接用的上。原创 2015-02-22 23:36:19 · 3381 阅读 · 1 评论 -
内存管理第一谈:段式管理和页式管理
对于内存管理这个操作系统中庞大的体系,实在是容易让人望而止步,市面上介绍这块知识的书籍其实很多,但是由于书面语言的缘故,总感觉有些东西晦涩难懂,下面内容只是想把一些书面语言转换为比较容易理解的内容,希望能对其他人有所帮助吧。原创 2015-02-07 20:45:56 · 6185 阅读 · 1 评论 -
内存管理第二谈:内存分配机制
(本帖不适合手机用户)上次我们讨论了内存寻址相关内容--段式管理和页式管理机制,只有搞懂了线性地址和物理地址两者关系,才能再去学习真正的内存管理机制。这一节我们简单的来了解linux内核的内存分配机制,工作中我使用的内核版本是linux-3.2.0,我也尝试着跟这个版本的代码来解析这块知识,但是水平确实不够,现代版本内核关于操作系统的几个大体系太过庞大,我往往是跟着跟着就陷到另一个体系中去回不原创 2015-02-11 19:15:01 · 1002 阅读 · 0 评论 -
3.2.0内核rtc框架分析
linux3.2.0内核中RTC子系统简单分析原创 2015-08-11 14:12:36 · 883 阅读 · 0 评论 -
sysfs--初窥门径
本文以led子系统为例,分析了sysfs怎样在驱动中使用,最后给出了使用实例原创 2015-07-15 21:28:56 · 903 阅读 · 0 评论 -
内核经典的实现--container_of
这个宏在驱动和内核代码中用的非常广泛,下面我们来具体分析下。container_of作用是通过结构体某个成员地址从而拿到整个结构体地址。 原型:container_of(ptr, type, member) 示例:现有一个student结构体变量并初始化。struct student stu;stu.num = 1;stu.score = 100;strcpy(stu.name, "zhan原创 2016-11-18 16:57:54 · 628 阅读 · 0 评论