研发埠

标题: 驱动程序是怎样与硬件交互的? [打印本页]

作者: ..    时间: 2013-6-8 14:10
标题: 驱动程序是怎样与硬件交互的?
驱动程序是怎样与硬件交互的?请大侠赐教~
作者: .    时间: 2013-6-8 14:11
电脑平台我不是很了解,嵌入式上软件与硬件交互,靠的是寄存器或地址映射。我想PC应该也差不多。CPU内部有一些接口模块,比如GPIO,比如SPI等。程序控制模块都是靠寄存器操作,通过写寄存器来配置模块,输入输出数据。寄存器是CPU内一段特殊的内存空间。如果控制这类设备,驱动程序的作用就是把一些对寄存器的操作封装成函数,供上层软件调用。还有些硬件操作是建立在某些通用协议上的,一般会有协议的驱动和硬件驱动两层。地址映射就是把外部硬件的缓存空间映射为CPU可操作的某个内存地址,而这个地址不是在SRAM中真实存在的。这时读写这个地址,实际则是把数据写入了对应硬件的缓存空间,实现了数据交换。还有更为复杂的结构,不过大致看来,与硬件交互就像是读写内存。




欢迎光临 研发埠 (http://bbs.yanfabu.com/) Powered by Discuz! X3.2