您的位置:首页 > 其它

操作外设I/O和存储器知识点滴

2007-04-14 10:21 204 查看
 关于I/O和存储器操作,和CPU体系结构,和所用的操作系统都有关系。

比如X86的平台下,I/O和存储器分开编址,有专用的I/O读写指令。其他平台如ARM中实际上是把I/O都映射到存储器的地址里了,这种情况下操作I/O也就是操作存储器了。

对于操作系统
通用的桌面OS,win95应用程序可以直接操作物理地址,2000/NT后出于安全性考虑APP对物理地址不能直接访问物理地址了。
嵌入式OS里uc/os,uclinux这些不具备虚拟地址概念的,可以直接用指针访问物理地址。而wince和其他引入了虚拟地址管理的OS,只能访问到虚拟地址了。如果想访问某个物理地址,必须先作一个物理地址到虚拟地址的映射,再访问。最好是用专门的宏来操作,比如READ_PORT_xxx,READ_RGISTER_xxx之类的。如果用指针操作,最好声明成volatile类型,避免被编译器优化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息