原创 uboot启动流程

2009-10-20 14:54 1791 5 5 分类: MCU/ 嵌入式

 


作者:曹忠明华清远见嵌入式学院讲师。


U-boot(universal bootloader)是德国DENX小组开发的用于多嵌入式CPU的bootloader程序,遵循GPL条款。


以s3c2410为例Uboot的启动过程大体可分为两个部分,第一部分是初始化系统为第二部分做准备,多用汇编实现,第二部分实现外围设备的初始化和内核的下载及参数的传递,开始用C实现。


下面是uboot启动流程


Column154-1.jpg


Uboot启动后的内存分配情况。
                                  34000000
                                  33f80000                                boot搬移地址
                                  ……
                                  33f40000                                堆栈开始地址
                                  ……
                                  33f3ff80                                   全局变量存放位置
                                  ……
                                  33f3ff7d                                   abort栈
                                  ……
                                  30008000                                内核下载地址
                                  
……
                                  30004000                                一级页表地址
                                  ……
                                  30000100                                uboot传递参数存放地址
                                  ……
                                  30000000                                SDRAM开始地址


上面这个就是基于s3c2410,uboot的启动过程及内存分配。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /3 下一条