各位,本人在进行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重新编辑 ]