ARM11访问芯片内部的寄存器空间

来源:互联网 发布:网络系统拓扑图 编辑:程序博客网 时间:2024/04/29 22:32

      arm1136jzf-s把memory和Peripheral接口分开了,你需要在初始化时告诉cpu,哪些地址范围是属于Peripheral的,否则它就当memory访问,当然就访问不到属于Peripheral 区间的IO口寄存器。可以通过ARM11的协处理器cp15来告诉CPU外设寄存器的地址,在ARM11芯片架构手册上可以看到怎样实现该操作:

CRn Op1 CRm Op2

c15    0    c2     0 Data Memory Remap R/W 0x01C97CC8 page 3-162
                        1 Instruction Memory Remap R/W 0x01C97CC8 page 3-162
                        2 DMA Memory Remap R/W 0x01C97CC8 page 3-162
                        4 Peripheral Port Memory Remap R/W 0x00000000 page 3-162

下面的代码就是在初始化是告诉CPU外设寄存器的基地址和地址空间