- 论坛徽章:
- 0
|
在这次的代码中。我的代码里出现在三个问题:
1。DEBG_CR中BIT4,和BIT6都要至1,但看错了,所以写成了0x30,应该改为0x50。
2。PMC_MCKR的CSS域,选择的plla,应该是写2的,但却写成了1。
3。最主要的指令错误,ldr,str指令出错.
eg:
ldr r0, str
ldr r1, [r0] @1 这里涉及到时问题是对齐。 每次取一个字(四字节)
.....
str r1, ......
add r0, r0, #1 @2 而这里地址每次加一. 这样一来,先不说结果正确与否,从逻辑上来说都是错的。
.....
str:
.word hello
hello:
.asciz "hello,abcd!\n"
分析错误:1。逻辑/指令上的错误 @1处每次取一个字(四字节),而@2处每次加一个字节地址,导致,ldr/str指令不对齐。
2. 结果错误.. @1处的原意是要每次取一个字节,然后通过串口写出,显示,再执得地址加一.取字节指令:ldrb。存储字节指令:strb。
[ 本帖最后由 taoxie17 于 2010-1-17 10:11 编辑 ] |
|