bootloader

 

友善之臂的开发板,嵌入式处理器是三星Exynos 4412 Cortex A9系列。

bootloader 启动过程:

  映射0地址,对应ROM(只读)无论是以MMC方式启动,还是SD卡启动。只能执行ROM里0x00000000处的代码。三星出厂前固化好的代码。一上电开始执行ROM里的代码:(1)、初始化基本硬件,比如:时钟,栈;

                     (2)、加载启动方式决定的外设对应的存储设备里的代码,即bl1前8K,到片上SRAM,跳到SRAM上执行bl1,(SRAM是片上静态随机存储器,可读写。)bl1同样初始化时钟,栈。拷贝SD卡或MMC上bl2到SRAM,再跳到bl2,做整个所有时钟的初始化,重要的是做外部DDR内存的初始化。bl2还要拷贝其余所有bootloader的程序到已初始化好的DDR内存的0x43e0 0000,再跳到0x43e0 0000,执行所有boatloader的程序。根据bootloader 环境变量的设置,倒计时结束,自动执行bootcmd(实现内核自启动)后面的命令。加载内核到内存,内核启动完成,挂载根文件系统。

(该处理器支持5种启动方式,USB、NORflash等;友善之臂只支持两种)

posted @   bkycrmn  阅读(107)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示