您的位置:首页 > 其它

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

2010-08-20 17:21 225 查看
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外设寄存器的基地址和地址空间

ldr r0, =PERIPHERAL_BASE_ADDR_PA
orr r0, r0, #0x13
mcr p15, 0, r0, c15, c2, 4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐