omap平台的uboot

内核编译和嵌入式产品的设计与开发
回复
ChrysanYang
帖子: 12
注册时间: 2011-01-25 20:14
送出感谢: 0
接收感谢: 0

omap平台的uboot

#1

帖子 ChrysanYang » 2011-05-19 9:28

在U-Boot的cpu/omap3/start.S中有如下定义

代码: 全选

115 #if (CONFIG_OMAP34XX)
116        /* Copy vectors to mask ROM indirect addr */
117         adr     r0, _start              /* r0 <- current position of code   */
118         add     r0, r0, #4                              /* skip reset vector                    */
119         mov     r2, #64                 /* r2 <- size to copy  */
120         add     r2, r0, r2              /* r2 <- source end address         */
121         mov     r1, #SRAM_OFFSET0         /* build vect addr */
122         mov     r3, #SRAM_OFFSET1
123         add     r1, r1, r3
124         mov     r3, #SRAM_OFFSET2
125         add     r1, r1, r3
126 next:
127         ldmia   r0!, {r3-r10}           /* copy from source address [r0]    */
128         stmia   r1!, {r3-r10}           /* copy to   target address [r1]    */
129         cmp     r0, r2                  /* until source end address [r2]    */
130         bne     next                    /* loop until equal */
131 #if !defined(CFG_NAND_BOOT) && !defined(CFG_ONENAND_BOOT)
132         /* No need to copy/exec the clock code - DPLL adjust already done
133          * in NAND/oneNAND Boot.
134          */
135         bl      cpy_clk_code            /* put dpll adjust code behind vectors */
请问前一部分中进行循环复制的目的是什么?
ChrysanYang
帖子: 12
注册时间: 2011-01-25 20:14
送出感谢: 0
接收感谢: 0

Re: omap平台的uboot

#2

帖子 ChrysanYang » 2011-05-20 9:01

对于这个代码,我理解的循环是在将U-Boot复制到某处,但是给出的提示确实没看懂。
ChrysanYang
帖子: 12
注册时间: 2011-01-25 20:14
送出感谢: 0
接收感谢: 0

Re: omap平台的uboot

#3

帖子 ChrysanYang » 2011-05-23 16:41

已解决~~给个提示,前一部分是中断向量表的
回复

回到 “内核及嵌入式开发”