发表评论取消回复
相关阅读
相关 ldd3学习之十:内核数据类型
将linux 移植到新的体系结构时,开发者遇到的若干问题都与不正确的数据类型有关。坚持使用严格的数据类型和使用 \-Wall -Wstrict-prototypes 进行编译可
相关 ldd3学习之九:与硬件通信
1.I/O 端口和 I/O 内存 每种外设都是通过 读写寄存器来进行控制。在硬件层,内存区和 I/O 区域没有概念上的区别: 它们都是通过向在 地址总线和 控制总线发出电平信
相关 ldd3学习之八:内存分配
Linux内核为设备驱动提供了一个统一的内存管理接口,所以模块无需涉及分段和分页(linux只有分页管理)等问题。 1.kmalloc 函数 kmalloc 是一个功能强大
相关 ldd3学习之七:中断处理
一个“中断”仅是一个信号,当硬件需要获得处理器对它的关注时,就可以发送这个信号。 Linux 处理中断的方式非常类似在用户空间处理信号的方式。大多数情况下,一个驱动只需要为它的
相关 ldd3学习之六:时间、延迟及延缓操作
1.内核中度量时间的几个概念 ① 度量时间差 时钟中断由系统定时硬件以周期性的间隔产生,这个间隔由内核根据 HZ值来设定,HZ 是一个体系依赖的值,在 中定义或该文件包含的
相关 ldd3学习之五:并发与竞态
对并发的管理是操作系统编程中核心的问题之一。 并发产生竞态,竞态导致对 共享数据 的非控制访问,会产生非预期的结果。竞态常会导致 系统崩溃 , 数据被破坏 或者产生 安全问题
相关 ldd3学习之三: 字符驱动
通过介绍字符设备scull(Simple Character Utility for Loading Localities,区域装载的简单字符工具)的 驱动程序编写,来学习Li
相关 ldd3学习之四:调试技术
内核中的调试支持 内核开发者一般都已经建立了多项用于调试的功能。但是由于这些功能会造成额外的输出,并导致能下降,因此发行版厂商通常会禁止发行版内核中的调试功能。 为
相关 ldd3学习之二:构造和运行模块
1.设置测试系统: ①设置一套内核源码树,比如/usr/src/linux-2.6.x,参考 [http://www.kernel.org/][http_www.kernel
相关 ldd3学习之一:设备驱动简介
几个要点: 1.我们应该很好地了解自己面对的具体设备(强调对硬件了解的重要性)。 2.驱动程序的作用在于提供机制,而不是提供策略。(访问硬件的内核代码,不要给用户强加任何特
还没有评论,来说两句吧...