I/O端口与I/O内存
摘要:http://blog.csdn.net/gzliu_hit/article/details/7091490寄存器与ram的区别: 寄存器的操作有副作用(side effect),如有些状态寄存器,读取后便会自动清零。X86:支持I/O空间,支持内存空间ARM,MIPS,POWERPC:只支持内存空间I/O端口:一个寄存器或内存位于I/O空间I/O内存:一个寄存器或内存位于内存空间I/O端口的操作: (1)申请 request_region(start,n,name) (2)访问 8位:inb(), outb() 16位:inw(), outw() 32位:inl(), outl() ...
阅读全文
内存与I/O访问
摘要:http://blog.csdn.net/gotosola/article/details/7431447本章节带大家一起来探讨一下Linux驱动中的内存与I/O访问CPU与内核和I/OI/O空间:在X86处理器中存在着I/O空间的概念,I/O空间是相对于内存空间而言的。它通过特定的指令in、out来访问指令格式:IN 累加器,{端口号|DX}OUT {端口号|DX},累加器注意:目前大多数嵌入式微控制例如ARM、PowerPC等不提供I/O空间,而仅存在内存空间。内存空间可以直接通过地址、指针来访问为什么内存空间是必须的,I/O空间是可选的?答:我们可以将外设只挂在到内存空间,此时CPU就可
阅读全文
关于/usr/include/linux和/usr/src/linux/include/linux/
摘要:http://www.cnblogs.com/qiaoge/archive/2012/03/30/2425126.html/usr/include/linux是用来编译当前系统的程序的; /usr/src/linux/include/linux/是用来编译内核的,要使用/usr/src/linux/include/linux的头文件, 可以用gcc -I /usr/src/linux-x.x.x/include/呵呵,一个是用户态下的搜索路径,一个是内核模块需要的头文件搜索路径,用的地方都不一样 如果你没有在编译时显示地加上-I的情况下: 如果你的代码中没有__KERNEL__这样的宏声明..
阅读全文