标签:ble ros 一段 dos loader erb 左右 microsoft ecos
Windows的bios是集成在主板上,它是一段固化得程序,然后进入内核模式,在内核模式中进行硬件初始化,API初始化;紧接着进入用户模式,最后进入应用模式。
Linux系统下,bootloader要把内核的zImage文件从EMMC中读取到内存中。
Bootloader | 描述 | x86 | ARM | PowerPC |
LILO | Linux磁盘引导程序 | 是 | 否 | 否 |
GRUB | GNU的LILO替代程序 | 是 | 否 | 否 |
ROLO | 从ROM引导Linux而不需要BIOS | 是 | 否 | 否 |
Etherboot | 通过以太网卡启动Linux系统的固件 | 是 | 否 | 否 |
LinuxBIOS | 完全替代BUIS的Linux引导程序 | 是 | 否 | 否 |
BLOB | LART等硬件平台的引导程序 | 否 | 是 | 否 |
U-boot | 通用引导程序 | 是 | 是 | 是 |
RedBoot | 基于eCos的引导程序 | 是 | 是 | 是 |
Loadlin | 从DOS引导Linux | 是 | 否 | 否 |
vivi | 针对三星的ARM来定制,2440上有用到 |
标准:够用即可
下载地址:ftp://ftp.denx.de/pub/u-boot/
exynos4412架构如下图:
cortexA9为ARM公司架构,其他是三星附加的外设架构。cortexa9为arch对应u-boot目录中的arch目录下,外面的外设对应u-boot中的board目录,相当于PC机中的南桥。
目录结构如下:
board目录下:
exynos 4412 SCP 有64KB的iROM和256KB的SRAM(iRAM)作为内部存储。我们可以使用nandflash、SD/MMC卡、eMMC和USB设备作为启动设备。
iROM:这段地址空间对应exynos 4412内部固化的一段程序,exynos4412启动的第一条指令就存放在这里。它主要用来初始化基本的系统功能,比如时钟。
iRAM:这段地址空间对应的是exynos 4412内部的一个存储器,这段存储器的特点是上电就可以用,不用初始化。
BL1:First boot loader,存储在扩展存储器上,由三星提供的二进制代码,不开源,BL1需要iROM中的代码去校验。
BL2:Second boot loader, 存储在扩展存储器上,不由三星提供,开源,对应OS。
OM(拨码开关):操作模式管脚,是由iROM控制的
(1)iROM代码
电路图如下:
Uboot引导程序分为BL1、BL2、U-boot、TZSW。如下图所示:
U-boot的镜像是由BL1、BL2、U-boot.bin和TZSW组成的。其中各部分大小如上图。
U-boot的启动流程如下:
标签:ble ros 一段 dos loader erb 左右 microsoft ecos
原文地址:http://www.cnblogs.com/kele-dad/p/6725152.html