yeknight 发表于 2013-4-21 21:26:23

关于uboot的一个问题

我在lowlevel_init.S的这段代码       ldr   r3, , #4        str   r3, , #4
        cmp   r2, r0
        bne   0b

的之后增加了如下这段代码(点亮三个LED),

#if 1
#define GPBCON   0x56000010
#define GPBDAT   0x56000014

        ldr r1, =0x00015400
        ldr r0, =GPBCON
        str r1,

        ldr r1, =0x00000100
        ldr r0, =GPBDAT
        str r1,
#endif



同时在start.s中将如下这句代码注释掉
/*        ldr        pc, _start_armboot*/
想让代码跑完start.s后不再继续跑,这样我运行后发现点亮依旧是四个LED,而如果将那些点亮LED的代码放在lowlevel_init开始的地方,点亮的就是三个LED,这是为什么呢?我用来测试的是TQ提供的uboot

亚瑟王 发表于 2013-4-22 10:33:48

亲,你看一下代码中还有没有别的地方初始化和操作了LED灯对应的寄存器。

yeknight 发表于 2013-4-22 20:09:36

start.s中没有操作LED相关的寄存器
页: [1]
查看完整版本: 关于uboot的一个问题