作者:曹忠明,华清远见嵌入式学院讲师。
U-boot(universal bootloader)是德国DENX小组开发的用于多嵌入式CPU的bootloader程序,遵循GPL条款。
以s3c2410为例Uboot的启动过程大体可分为两个部分,第一部分是初始化系统为第二部分做准备,多用汇编实现,第二部分实现外围设备的初始化和内核的下载及参数的传递,开始用C实现。
下面是uboot启动流程

Uboot启动后的内存分配情况。
34000000
33f80000 boot搬移地址
……
33f40000 堆栈开始地址
……
33f3ff80 全局变量存放位置
……
33f3ff7d abort栈
……
30008000 内核下载地址
……
30004000 一级页表地址
……
30000100 uboot传递参数存放地址
……
30000000 SDRAM开始地址
上面这个就是基于s3c2410,uboot的启动过程及内存分配。
本文介绍了U-Boot(universalbootloader)在S3C2410平台上的启动过程及内存分配情况。U-Boot由德国DENX小组开发,遵循GPL条款。启动分为两阶段:初始化系统并为第二阶段准备,多用汇编实现;实现外围设备初始化和内核下载及参数传递,主要用C语言实现。详细介绍了不同内存段的作用。
696

被折叠的 条评论
为什么被折叠?



