Linux内核
文章平均质量分 68
wyc09
这个作者很懒,什么都没留下…
展开
-
Linux设备驱动学习总结
1 设备驱动程序的一般思想 针对某一特定目的,在内核空间预先注册一组函数,在用户空间运行的进程通过操作系统提供的某种访问入口直接或间接调用这些函数,以完成特定的操作。这几乎是所有操作系统中设备驱动程序的一般思想。例如,在Linux系统中,被注册的函数是一组规则函数,负责控制虚拟的或实际存在的设备;而为用户空间进程提供的访问入口则是几类系统调用。 1.1 注册一组函数 为了注册这样一组函数,L原创 2012-12-23 14:52:37 · 514 阅读 · 0 评论 -
ARM Linux学习总结
ARM Linux特指运行于ARM架构处理器平台的Linux,区别于运行于PC上的X86 Linux。 ARM架构处理器多用在嵌入式系统中,通常被集成到片上系统(SoC)。由于片上系统整合外部设备控制器的多样性,对于任何一片特定的片上系统,需要对ARM Linux进行定制,以使集成在片上系统中的各项功能可用,这个过程称为ARM Linux移植。 ARM Linux移植的主要工作:1)Bootl原创 2013-04-27 09:29:43 · 732 阅读 · 0 评论 -
理解Linux设备模型
1 注册设备。 无论是预注册的方式还是热插拨的方式,所注册的设备需要通过某种对驱动程序可用的方式声明自己使用的物理资源,如I/O端口、I/O内存、中断号。 2 注册驱动程序。 所注册的驱动程序提供probe函数,当总线认为系统中出现了驱动程序可能可以控制的设备时,这个probe函数被调用。驱动程序在该函数中检查自己是否能够控制出现的设备,若不能,则返回表示不能控制的返回值;否则,可以请求保留原创 2013-04-28 00:24:01 · 601 阅读 · 0 评论 -
Linux内核和驱动学习总结
1 内核编程接口 1)双向环形链表 双向环形链表是Linux内核为内核编程人员提供的一个便利。使用时,通常将struct list_head结构嵌入自定义结构,并利用container_of宏从struct list_head结构指针获得所在的自定义结构的指针。 2)等待、定时和延迟 定时器以固定的频率(HZ)产生中断,内核使用全局变量jiffies记录自系统启动以来产生的中断数。在对时间原创 2013-05-05 23:53:51 · 857 阅读 · 0 评论 -
对设备驱动程序的一点理解
不同的操作系统往往有各自特定的设备驱动程序模型,在编写针对特定操作系统平台的设备驱动程序时,需要考虑设备驱动程序模型并使用相应的API。下面从总线层次来考虑编写设备驱动程序,因此这些考虑应当是操作系统平台无关的,适用于所有操作系统。 1 设备驱动程序做什么? 几乎所有设备驱动程序的工作都是访问“设备”——我们可以将这里说的“设备”理解为I/O端口和设备映射的内存单元——并处理来自“设备”的中断原创 2012-11-21 20:51:49 · 762 阅读 · 0 评论