2019年4月12日

Linux驱动开发10——内核环形双向链表

摘要: Linux内核环形双向链表本身不实现锁机制,需要驱动本身完成锁机制实现。 1.1、list_head结构体 1.2、初始化 1.3、操作函数 阅读全文

posted @ 2019-04-12 10:34 者旨於陽 阅读(355) 评论(0) 推荐(0) 编辑

Linux驱动开发9——kfifo缓冲队列

摘要: Kfifo是Linux内核缓冲队列 阅读全文

posted @ 2019-04-12 10:33 者旨於陽 阅读(1102) 评论(0) 推荐(0) 编辑

Linux驱动开发8——中断处理

摘要: 中断包括软中断和硬中断两种,中断是一种异步I/O机制,即中断可以发生在任意时间点。 1、硬中断 硬件中断包括触发中断和处理中断两部分,而维系两者的是中断号,中断号是一种硬件资源。 1.1、注册和释放中断 1.2、使能和禁止中断 1.3、中断顶半部和底半部 tasklet和工作队列,待补充 阅读全文

posted @ 2019-04-12 10:32 者旨於陽 阅读(214) 评论(0) 推荐(0) 编辑

Linux驱动开发7——I/O内存分配

摘要: CPU通过物理地址访问DDR和外设,DDR内存称为物理内存地址空间,外设寄存器组称为I/O内存地址空间。 ARM采用统一编址,而X86采用独立编制。上一章介绍了DDR内存分配,这一章介绍I/O内存分配。 1、I/O内存分配和映射 2、存取I/O内存 首先使用request_mem_region分配I 阅读全文

posted @ 2019-04-12 10:02 者旨於陽 阅读(462) 评论(0) 推荐(0) 编辑

导航