主题 : 请教程序裸奔时寄存器没反应的,并跳转出错问题! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 26964
精华: 0
发帖: 26
金钱: 100 两
威望: 26 点
综合积分: 52 分
注册时间: 2010-08-17
最后登录: 2012-06-11
楼主  发表于: 2010-10-26 22:09

 请教程序裸奔时寄存器没反应的,并跳转出错问题!

最近搞了块mini2440的开发板,想先裸奔一下,可就是奔不起来。说明下,用的是j-link V8纺真器,编译环境是ads1.2。设置都是按那说明上的设置(开关打到nor flash一端,如果打到nand flash这端一上电会进入出厂烧入的程序)。一切配好后,想跑几条汇编指令,但我debug的时候,发现当往寄存器中写数据的时候,那寄存器没有反应,寄存器的值一直为0,写不进去,然后运行到"B loop"的时候就不知道跳到哪去了。单步运行的时候会跳到这样的一个位置,如下(这只是其中的一部分,PC指针指的这一块都是这样子):

2fababd0 [0xffffffff]   dci      0xffffffff ; ? undefined
2fababd4 [0xffffffff]   dci      0xffffffff ; ? undefined
2fababd8 [0xffffffff]   dci      0xffffffff ; ? undefined
2fababdc [0xffffffff]   dci      0xffffffff ; ? undefined
2fababe0 [0xffffffff]   dci      0xffffffff ; ? undefined

原代码如下:
COUNT EQU 0X30002000
AREA Example,CODE,READONLY
ENTRY
CODE32

START
LDR R1,=COUNT
MOV R0,#5
STR R0,[R1]

LOOP
LDR R1,=COUNT
LDR R0,[R1]
ADD R0,R0,#1
STR R0,[R1]
B LOOP
END

希望大家手下留青。在些谢过!