
Linux 设备模型
文章平均质量分 79
sfrysh
嵌入式开发,本博客大部分资源来自网络,为学习交流之用,如有侵犯你您的版权,实属无心,请给本人留言,本人会及时删除。
展开
-
Linux设备模型 学习总结682057749
看LDD3中设备模型一章,觉得思维有些混乱。这里从整体的角度来理理思路。本文从四个方面来总结一些内容:1.底层数据结构:kobject,kset.2.linux设备模型层次关系:bus_type,device,device_driver.3.集成:PCI设备驱动模型实例及设备,设备驱动注册源码的简单分析.4.面向对象的思想在linux设备模型中的应用分析.一、底层数据结构:kobject,kset先说说模型的意义: 总体来说是为了系统地管理所有设备。kobject 结合面向对象的思维。这个kobject属于转载 2010-11-28 18:11:00 · 1015 阅读 · 0 评论 -
Udev 内核机制(kobject_uevent) 性能优化
<br />Udev 内核机制(kobject_uevent) 性能优化<br />作者: zjujoe 转载请注明出处<br />Email:zjujoe@yahoo.com<br /><br />前言<br />这两天遇到一些 udev 的问题, 顺便阅读了一下文档(见参考文档), 基本了解了 udev 的机制。 嵌入式系统性能很重要,于是对内核这一块进行了性能方面的研究。<br />内核大概20多处会调用了 kobject_uevent 函数发送 KOBJ_ADD / KOBJ_REMOVE 等事件。转载 2010-11-28 18:28:00 · 1361 阅读 · 0 评论 -
gpio linux 实现模型
<br />GPIO是与硬件体系密切相关的,linux提供一个模型来让驱动统一处理GPIO,即各个板卡都有实现自己的gpio_chip控制模块:request, free, input,output, get,set,irq... <br /><br /> 然后把控制模块注册到内核中,这时会改变全局gpio数组:gpio_desc[]. <br /><br /> 当用户请求gpio时,就会到这个数组中找到,并调用这个GPIO对应的gpio_chip的处理函数。 <br /><b转载 2010-12-30 23:55:00 · 1831 阅读 · 0 评论 -
Linux那些事儿之我是EHCI(2) 套路
<br /> 子曰:按套路出牌。的确,什么东西都有套路,泡妞有泡妞的套路,花前月下不如花钱日下。打麻将有打麻将的套路,少吃少碰少放炮,多摸多杠多发财。星际有星际的套路,linux也有linux的套路。刘涛姐姐的故事再一次告诉我们,年龄不是问题,身高不是距离,有cai就行。<br />我们不妨看看 modprobe ehci-hcd 之后发生了什么事情。ehci-hcd是一个驱动程序,不知您记不记得我在sysfs中谈论过设备模型。有两个重要的链表挂在bus上,一个是设备device链表,一个是驱动dri转载 2011-01-18 20:45:00 · 910 阅读 · 0 评论 -
linux设备模型中ktype的用法
<br />作者:刘洪涛,华清远见嵌入式学院高级讲师,ARM公司授权ATC讲师。<br />在上篇《利用udev、sys动态创建设备结点》的记录中,设备驱动中主要依靠下面两个功能完成的:<br />1、在/sys/class下创建farsight_class类 <br />my_class =class_create(THIS_MODULE, "farsight_class"); <br />2、在farsight_class中创建新的class设备 <br />class_device_create(my转载 2011-03-29 09:51:00 · 741 阅读 · 0 评论 -
Linux flash文件系统剖析
<br />您之前可能听说过 Journaling Flash File System(JFFS)和 Yet Another Flash File System(YAFFS),但是您知道使用底层 flash 设备的文件系统意味着什么吗?本文将向您介绍 Linux® 的 flash 文件系统,并探索它们如何通过平均读写(wear leveling)处理底层的可消耗设备(flash 部件),并鉴别各种不同的 flash 文件系统以及它们的基本设计。<br /> 固态驱动器当前非常流行,但是嵌入式系统很久以前就转载 2011-06-02 09:27:00 · 1115 阅读 · 0 评论 -
uevent分析
1.kobject, ktype, kset kobject代表sysfs中的目录。 ktype代表kobject的类型,主要包含release函数和attr的读写函数。比如,所有的bus都有同一个bus_type;所有的class都有同一个class_type。 kset包含了subsystem概念,kset本身也是一个kobject,所以里面包含了一个kobject对象。另外,kset中转载 2011-12-05 10:08:10 · 1920 阅读 · 0 评论 -
ARM Linux静态映射分析
作者:易松华,华清远见嵌入式学院讲师。 在华清远见上课过程中,发现静态映射方面初学者比较难于掌握和理解,下面分析一下静态映射机制的原理并通过GPIO和USB、LCD等的静态映射作为例子来说明如何通过这种静态映射的方式访问外设资源。 内核提供了一个重要的结构体struct machine_desc ,这个结构体在内核移植中起到相当重要的作用,内核通过machine_desc结构体来控制系统体系架转载 2012-06-21 14:12:23 · 919 阅读 · 0 评论 -
Linux内核访问外设I/O资源的方式
Author: Dongas Date: 08-08-02 我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。 Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。 一、动态映射(ioremap)转载 2012-06-21 16:21:35 · 1049 阅读 · 0 评论