Chinaunix

标题: 关于uboot的一个问题 [打印本页]

作者: yeknight    时间: 2013-04-24 21:42
标题: 关于uboot的一个问题
我在lowlevel_init.S的这段代码       ldr     r3, [r0], #4        str     r3, [r1], #4
        cmp     r2, r0
        bne     0b

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

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

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

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



同时在start.s中将如下这句代码注释掉
/*        ldr        pc, _start_armboot  */
想让代码跑完start.s后不再继续跑,这样我运行后发现点亮依旧是四个LED,而如果将那些点亮LED的代码放在lowlevel_init开始的地方,点亮的就是三个LED,这是为什么呢?我用来测试的是TQ提供的uboot,uboot本身不会存在问题
作者: jorney_tu    时间: 2013-05-29 14:43
回复 1# yeknight


    可能在bne 那里跳转了
作者: ptostrike    时间: 2013-05-30 09:51
/*        ldr        pc, _start_armboot  */
将这句注释掉是很危险的行为吧,程序会接着往下跑的,可能会跑飞




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2