- 3
- 0
- 约1.9万字
- 约 7页
- 2016-08-24 发布于河南
- 举报
03.U-BOOT启动过程详解
u-boot系统启动流程 大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。
依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。
1、Stage1 start.S代码结构 u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主要代码部分如下:
定义入口。
该工作通过修改连接器脚本来完成。
(2)设置异常向量(Exception Vector)。
(3)设置CPU的速度、时钟频率及终端控制寄存器。
(4)初始化内存控制器。
(5)将ROM中的程序复制到RAM中。
(6)初始化堆栈。
(7)转到RAM中执行,该工作可使用指令ldr pc来完成。
2、Stage2
C语言代码部分 lib_arm/board.c中的start arm boot是C语言开始的函数也是整个启动代码中C语言的主函数,同时还是整个u-boot(armboot)的主函数,该函数只要完成如下操作:
(1)调用一系列的初始化函数。
(2)初始化Flash设备。
(3)初始化系统内存分配函数。
(4)如果目标系统拥有NAND设备,则初始化NAND设备。
(5)如果目标系统有显示设备,则初始化该类
您可能关注的文档
最近下载
- 乡镇退役军人工作总结8篇.docx VIP
- 多束电子光学系统的研究现状与发展.pdf
- RBA8.0手册+程序文件+表单(格式可转换WORD).pdf VIP
- 北京林业大学《统计学》2017-2018学年期末考试卷.pdf VIP
- 护理病历书写规范与模板完整版2026版.docx VIP
- 敦煌出土唐判集残卷中的法律与社会问题-中国法制史学会.pdf VIP
- 2023年新疆维吾尔自治区成考(专升本)大学语文考试真题含解析.doc VIP
- FDA-OGD推出的2个《仿制药研发模块(速释剂和缓控试剂)》--1.pdf VIP
- 日立无机房LCA电气图纸接线图纸.pdf
- GBT186662014商品煤质量抽查和验收方法.pdf
原创力文档

文档评论(0)