[工学]设备驱动程序简介2.pptVIP

  • 3
  • 0
  • 约4.78千字
  • 约 34页
  • 2018-03-02 发布于浙江
  • 举报
[工学]设备驱动程序简介2

让硬件动起来! ——驱动与硬件的接口 常用的系统资源 I/O端口 I/O内存 中断 DMA 内存 系统编址 统一编址:外设端口和主存单元使用同一组地址总线,属于同一个地址空间。对CPU来说,没有端口和内存的区别,CPU使用同一套硬件指令进行访问。 独立编址:外设端口和主存单元使用不同的地址总线,属于两个不同的地址空间(内存空间和I/O空间)。CPU使用两套不同的硬件指令分别访问主存单元和外设寄存器。 I/O端口和I/O内存 I/O端口就是映射到端口地址空间的外设寄存器或外设内存(I/O映射)。 I/O内存就是映射到内存地址空间的外设寄存器或外设内存(内存映射)。 I/O端口和I/O内存统称为I/O寄存器。 I/O寄存器和常规内存的区别 硬件寄存器和内存非常相似,在CPU看来几乎没有什么区别,但对硬件寄存器的I/O操作有“副作用”(主要目的),内存则没有。在编程实现时应注意不恰当的优化而带来的非预期的I/O动作。 驱动保证不使用高速缓存(禁用缓存) 访问I/O寄存器不重新排序(内存屏障) 分配I/O端口 #include linux/ioport.h int check_region(unsigned long start, unsigned long len); struct resource *request_region(unsign

文档评论(0)

1亿VIP精品文档

相关文档