- 2
- 0
- 约4.46千字
- 约 5页
- 2021-10-30 发布于天津
- 举报
PAGE
PAGE #
ARM 体系结构下面内存和 i/o 映射区别
在 S3C2410 的 Linux 里面,全部都会做 phy-virt 的映射。映射方式中的一种是静态映射, ioremap 是动态映射。在静态映射之后,仍然可以通过 ioremap 动态映射,也就是一个 IO 物 理地址可以映射到多个虚拟地址。
关于 IO 与内存空间:
在 X86 处理器中存在着 I/O 空间的概念, I/O 空间是相对于内存空间而言的,它通过特 定的指令 in 、 out 来访问。端口号标识了外设的寄存器地址。 Intel 语法的 in、 out 指令格式
为:
IN累加器,{端口号|DX}
OUT {端口号|DX},累加器 目前,大多数嵌入式微控制器如 ARM 、PowerPC 等中并不提供 I/O 空间,而仅存在内 存空间。 内存空间可以直接通过地址、 指针来访问, 程序和程序运行中使用的变量和其他数 据都存在于内存空间中。
即便是在 X86 处理器中,虽然提供了 I/O 空间,如果由我们自己设计电路板,外设仍 然可以只挂接在内存空间。 此时, CPU 可以像访问一个内存单元那样访问外设 I/O 端口,而 不需要设立专门的 I/O 指令。因此,内存空间是必须的,而 I/O 空间是可选的。
inb 和 outb:
在 Linux 设备驱动中,宜使用 Linux 内核提供的函数来访
原创力文档

文档评论(0)