主题 : uboot问题---VBAR设置后发生了什么 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 128499
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2016-10-11
最后登录: 2017-04-19
楼主  发表于: 2017-04-12 22:24

 uboot问题---VBAR设置后发生了什么

reset:
    bl    save_boot_params
    /*
     * set the cpu to SVC32 mode
     */
    mrs    r0, cpsr
    bic    r0, r0, #0x1f
    orr    r0, r0, #0xd3
    msr    cpsr,r0
bl led_on                           ---------------------------------------》》》》》》》这里调用点灯的子函数没有问题
/*
* Setup vector:
* (OMAP4 spl TEXT_BASE is not 32 byte aligned.
* Continue to use ROM code vector only in OMAP4 spl)
*/
#if !(defined(CONFIG_OMAP44XX) && defined(CONFIG_SPL_BUILD))
    /* Set V=0 in CP15 SCTRL register - for VBAR to point to vector */
    mrc    p15, 0, r0, c1, c0, 0    @ Read CP15 SCTRL Register
    bic    r0, #CR_V        @ V = 0
    mcr    p15, 0, r0, c1, c0, 0    @ Write CP15 SCTRL Register /*写0表示异常向量的地址可以被重新映射*/
       bl led_on             ---------------------------------------》》》》》》》这里调用点灯的子函数没有问题
    /* Set vector address in CP15 VBAR register */
    ldr    r0, =_start
    mcr    p15, 0, r0, c12, c0, 0    @Set VBAR
   bl led_on       ---------------------------------------》》》》》》》上面两个地方调用都没有问题,如果在设置完VBAR后就会出现灯不亮的情况
#endif


大神帮忙看一下是为什么谢谢了!!!