摘要:
第十二章 Linux 驱动程序中的 阻塞和非阻塞 I/O 等待队列是 Linux 内核的一种实现进程休眠的技术。在上一章介绍的自旋锁使用的是不断循环 的方式阻塞 Linux 驱动,这种方式很占 CPU 资源。而等待队列的你眠技术可以大大降低休眠进程对 CPU 资源的消耗,信号量就是利用等待队列实现了 阅读全文
摘要:
第十一章 Linux驱动程序中的 并发控制 并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资 源〈如硬件资摞、程序中的全局变量、静态变量等〉的访问很容易导致竞态条件( race conditions)。 自旋锁并不关心锁定的|临界区究竟是怎样的操作,不管是读 阅读全文
摘要:
第十章 嵌入式 Linux 的调试技术 printk 函数的原型如下:asmlinkage int printk(const char * fmt, ... ) printk文件是一个简单的有 4 个数字组成的文本文件,6,4,1,7 6: 将消息输出到控制台的级别。只有商于该级别的输出信息才会输出 阅读全文
摘要:
第九章 硬件抽象层 HAL 在传统的Linux.系统中Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑有码。对于访问硬件寄存器的代码,并没有什么秘密可言,因为这都是调用的 Linux 内核的标准函数进行的标准操作4 而Linux驱动的业务逻辑部分对击有些企业或个人并不想将源代码公开 阅读全文