|
u-boot的两个问题请教。
各位老大:
问题1:
U-boot1.1.6里lowlevel_init.S中
ldr r0, =SMRDATA
ldr r1, _TEXT_BASE
sub r0, r0, r1
ldr r1, =BWSCON /* Bus Width Status Controller */
add r2, r0, #13*4
这句sub r0, r0, r1不知为何?
问题2:
start.S中建立堆栈的代码:
stack_setup:
ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */
sub r0, r0, #CFG_MALLOC_LEN /* malloc area */
sub r0, r0, #CFG_GBL_DATA_SIZE /* bdinfo */
#ifdef CONFIG_USE_IRQ
sub r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ)
#endif
sub sp, r0, #12 /* leave 3 words for abort-stack */
建立的栈是递增的。而ATPCS里说C堆栈是要满递减的啊。
请各位老大抽空 看看,多谢了。 |
|