U-boot源代码分析

U-boot源代码分析

ID:37659567

大小:306.70 KB

页数:62页

时间:2019-05-27

U-boot源代码分析_第1页
U-boot源代码分析_第2页
U-boot源代码分析_第3页
U-boot源代码分析_第4页
U-boot源代码分析_第5页
资源描述:

《U-boot源代码分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、U-boot源代码分析(forAT91SAM9260EK)作者:张俊岭EMAIL:sprite_zjl@sina.comMSN:sprite_zjl@hotmail.comQQ:251450387版本:1.0日期:2007-11-8摘要:本文档基于AT91SAM9260EK板,详细分析了U-boot-1.1.4的初始化过程、命令处理过程及linux系统的引导过程。1第一阶段(Stage1)第一阶段的启动代码在cpustart.s中,完成的工作主要有:©CPU自身初始化:包括MMU,Cache,时钟系统

2、,SDRAM控制器等的初始化©重定位:把自己从非易失性存储器搬移到RAM中©分配堆栈空间,设置堆栈指针©清零BSS数据段©跳转到第二阶段入口函数start_armboot()AT91SAM9260EK的启动代码在cpuarm926ejsstart.s中,精简后的代码如下:[cpuarm926ejsstart.s];ARM的向量表.globl_start_start:bresetldrpc,_undefined_instructionldrpc,_software_interruptldrpc,_prefetch_a

3、bortldrpc,_data_abortldrpc,_not_usedldrpc,_irqldrpc,_fiq_undefined_instruction:.wordundefined_instruction_software_interrupt:.wordsoftware_interrupt_prefetch_abort:第1页共62页.wordprefetch_abort_data_abort:.worddata_abort_not_used:.wordnot_used_irq:.wordirq_fiq:.wordf

4、iq;全局符号定义_TEXT_BASE:.wordTEXT_BASE.globl_armboot_start_armboot_start:.word_start/**Thesearedefinedintheboard-specificlinkerscript.*/.globl_bss_start_bss_start:.word__bss_start.globl_bss_end_bss_end:.word_end#ifdefCONFIG_USE_IRQ/*IRQstackmemory(calculatedatrun-time

5、)*/.globlIRQ_STACK_STARTIRQ_STACK_START:.word0x0badc0de/*IRQstackmemory(calculatedatrun-time)*/.globlFIQ_STACK_STARTFIQ_STACK_START:.word0x0badc0de#endif;复位入口reset:;CPU设为SVC32模式mrsr0,cpsr第2页共62页bicr0,r0,#0x1forrr0,r0,#0xd3msrcpsr,r0;如果需要,调用cpu_init_crit进行CPU关键初始化;

6、在AT91SAM9260EK板上没有使用。这部分工作在Bootstrap中完成。#ifndefCONFIG_SKIP_LOWLEVEL_INITblcpu_init_crit#endif;如果需要,对U-boot进行重定位(从Flash搬移到SDRAM中);在AT91SAM9260EK板上没有使用。U-boot在运行之前已经被Bootstrap加载到了SDRAM中。#ifndefCONFIG_SKIP_RELOCATE_UBOOTrelocate:/*relocateU-BoottoRAM*/adrr0,_start/*r

7、0<-currentpositionofcode*/ldrr1,_TEXT_BASE/*testifwerunfromflashorRAM*/cmpr0,r1/*don'trelocduringdebug*/beqstack_setupldrr2,_armboot_startldrr3,_bss_startsubr2,r3,r2/*r2<-sizeofarmboot*/addr2,r0,r2/*r2<-sourceendaddress*/copy_loop:ldmiar0!,{r3-r10}/*copyfromsource

8、address[r0]*/stmiar1!,{r3-r10}/*copytotargetaddress[r1]*/cmpr0,r2/*untilsourceendaddreee[r2]*/blecopy_loop#endif/*CONFIG_SKIP_RELOCATE_UBOOT*/;为irq,fiq,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。