主题 : 汇编实验-mini2440时钟设置问题,大神请进 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 40413
精华: 0
发帖: 30
金钱: 155 两
威望: 31 点
贡献值: 0 点
综合积分: 60 分
注册时间: 2011-03-18
最后登录: 2017-05-10
楼主  发表于: 2014-10-29 21:28

 汇编实验-mini2440时钟设置问题,大神请进

各位,本人在进行mini2440裸机实验--设置时钟的时候,利用AXD单步调试执行到ORR R1,R1,#0xC0000000这一步时,程序跳转到B   0xC,全速执行则提示产生了一个未定义指令异常,求指导
rMPLLCON EQU 0x4C000004
rUPLLCON EQU 0x4C000008
rCLKDIVN EQU 0x4C000014
MPLL_400MHZ EQU ((0x7f<<12)|(0x02<<4)|(0x01)) ;FCLK=400
MUPLL_48MHZ EQU ((0x38<<12)|(0x02<<4)|(0x02))
CLKDIV  EQU ((0x0<<3)|(0x1<<1)|(0x01)) ;/* FCLK:HCLK:PCLK = 1:2:4 */

delay EQU 0x5ffff
led_on EQU 0x00
led_off EQU 0xf0

AREA  led_on_off,CODE,READONLY ;定义一个代码段,名为led_on
ENTRY ;指定汇编程序的入口点
;----------------------------- ;设置clock
ldr r0,=rCLKDIVN
ldr r1,=CLKDIV
str r1,[r0]     
mrc     p15, 0, r1, c1, c0, 0 ;/* 读出控制寄存器 */    
orr     r1, r1, #0xc0000000 ;/* 设置为"asynchronous bus mode" */     
mcr     p15, 0, r1, c1, c0, 0 ;/*写入控制寄存器 */
ldr r0,=rMPLLCON
ldr r1,=MPLL_400MHZ
str r1,[r0]
ldr r0,=rUPLLCON
ldr r1,=UPLL_48MHZ
str r1,[r0]
[ 此帖被boykaier在2014-10-29 21:36重新编辑 ]