|
下面是反编译u-boot的一段代码
ldr r0, =GPBDAT
33f801e0: e59f02d0 ldr r0, [pc, #720] ; 33f804b8 <fiq+0x78>
ldr r1, =0x1a0
33f801e4: e3a01e1a mov r1, #416 ; 0x1a0
str r1, [r0]
33f801e8: e5801000 str r1, [r0]
/*
* before relocating, we have to setup RAM timing
* because memory timing is board-dependend, you will
* find a lowlevel_init.S in your board directory.
*/
mov ip, lr
33f801ec: e1a0c00e mov ip, lr
#else
bl lowlevel_init
33f801f0: eb003521 bl 33f8d67c <lowlevel_init>
上面是cpu_init_crit标签的反汇编,在“ bl lowlevel_init”句之前我用第二个led做标记,led亮了,但是后来在lowlevel_init标签处我又用了led,怎么这个就不亮了,我就不明白了,难道程序在这停了???
lowlevel_init的反汇编如下
33f8d67c <lowlevel_init>:
_TEXT_BASE:
.word TEXT_BASE
.globl lowlevel_init
lowlevel_init:
/**/ldr r0, =GPBCON
33f8d67c: e59f0064 ldr r0, [pc, #100] ; 33f8d6e8 <leop+0x38>
ldr r1, [r0]
33f8d680: e5901000 ldr r1, [r0]
ldr r2,=0x15400
33f8d684: e3a02b55 mov r2, #87040 ; 0x15400
orr r1, r1, r2
33f8d688: e1811002 orr r1, r1, r2
str r1, [r0]
33f8d68c: e5801000 str r1, [r0]
ldr r0, =GPBUP
33f8d690: e59f0054 ldr r0, [pc, #84] ; 33f8d6ec <leop+0x3c>
ldr r1, [r0]
33f8d694: e5901000 ldr r1, [r0]
ldr r2,=0x1e0
33f8d698: e3a02e1e mov r2, #480 ; 0x1e0
bic r1, r1, r2
33f8d69c: e1c11002 bic r1, r1, r2
str r1, [r0]
33f8d6a0: e5801000 str r1, [r0]
ldr r0, =GPBDAT
33f8d6a4: e59f0044 ldr r0, [pc, #68] ; 33f8d6f0 <leop+0x40>
ldr r1, =0xf0
33f8d6a8: e3a010f0 mov r1, #240 ; 0xf0
str r1, [r0]
33f8d6ac: e5801000 str r1, [r0] |
|