摘要: 【原创】《Linux设备驱动程序》学习之循序渐进 --- 内核数据类型第十一章 --- 内核数据类型内核数据使用的数据类型分为 3 个主要类型: 标准 C 类型例如 int, 明确大小的类型例如 u32, 以及用作特定内核对象的类型, 例如 pid_t. 我们将看到这 3个类型种类应当什么时候以及应... 阅读全文
posted @ 2014-07-24 14:59 GengLUT 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 【原创】《Linux设备驱动程序》学习之循序渐进 --- 中断处理第十章 --- 中断处理安装中断处理例程中断处理可以在驱动初始化时或者在设备第一次打开时安装.调用 request_irq 的正确位置是当设备第一次打开时, 在硬件被指示来产生中断前. 调用 free_irq 的位置是设备最后一次被关... 阅读全文
posted @ 2014-07-24 14:50 GengLUT 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 【原创】《Linux设备驱动程序》学习之循序渐进 --- 与硬件通信第九章 --- 与硬件通信I/O 端口和 I/O 内存I/O 寄存器和 RAM 的主要不同是 I/O 操作有边际效果, 而内存操作没有: 一个内存写的唯一效果是存储一个值到一个位置, 并且一个内存读返回最近写到那里的值.一个驱动必须... 阅读全文
posted @ 2014-07-24 14:38 GengLUT 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 【原创】《Linux设备驱动程序》学习之循序渐进 --- 分配内存第八章 --- 分配内存kmalloc 函数的内幕记住 kmalloc 原型是:#include void *kmalloc(size_t size, int flags);最常用的标志, GFP_KERNEL, 意思是这个分配((... 阅读全文
posted @ 2014-07-24 12:20 GengLUT 阅读(269) 评论(0) 推荐(0) 编辑