各位大虾:
在uboot搬运4k的代码后,在start.s代码里面会对这4k的代码进行验证,以下是所有人移植的代码:
ok_nand_read:
@ verify
mov r0, #0
ldr r1, =TEXT_BASE
mov r2, #0x400 @ 4 bytes * 1024 = 4K-bytes
go_next:
ldr r3, [r0], #4
ldr r4, [r1], #4
teq r3, r4
bne notmatch
subs r2, r2, #4
beq stack_setup
bne go_next
这其中对r2进行赋值为0x400,不是1024么?而且在后面subs r2, r2, #4,也就是说循环了256次,这不是只进行了1k代码的验证么?为什么会是对4k代码进行验证呢?