U-Boot在S5PV210上的分析及移植
2016-09-20冯宝祥邓人铭
冯宝祥,邓人铭
(广州粤嵌通信科技股份有限公司,广州 510663)
U-Boot在S5PV210上的分析及移植
冯宝祥,邓人铭
(广州粤嵌通信科技股份有限公司,广州 510663)
U-Boot是一种在嵌入式平台上使用非常广泛的Bootloader,而S5PV210微处理器的启动过程比较复杂。以GEC210为实验平台,分析U-Boot的启动过程,并提出在GEC210平台上的移植方法。应用结果表明,U-Boot在GEC210开发板上运行良好,可以成功地引导Linux2.6.35.7内核。
U-Boot;S5PV210;GEC210;移植
0 引言
U-Boot是一种通用的Bootloader,是遵循GPL条款的开放源码项目,由德国DENX小组开发。U-Boot支持多种架构的CPU,如X86、ARM、PowerPC、MIPS等;也支持Linux、VxWorks、WinCE等多种嵌入式操作系统。U-Boot代码开源、稳定、可配置性及可移植性强,所以在嵌入式平台中是一种应用比较广泛的启动代码。
1 GEC210启动过程概述
GEC210是广州粤嵌通信科技股份有限公司开发的一款基于ARM架构Cortex-A8内核的开发平台,该硬件平台采用三星公司的S5PV210微处理器作为主控芯片,S5PV210是一款高效率、高性能、低功耗的32位RISC微处理器,主频可以工作在1GHz,而且带有丰富的外围接口。GEC210开发板的硬件框架见图1。
在GEC210平台上加载启动嵌入式Linux系统主要分成5个步骤:
①上电自启动执行S5PV210芯片内部iROM中固化的BL0引导程序;
②BL0将Nand Flash中U-Boot的第一阶段代码BL1拷贝到S5PV210内部的iRAM中,并跳转到iRAM中执行BL1,BL1初始化了DDR2内存;
③BL1将Nand Flash中的U-Boot第二阶段代码BL2拷贝到DDR2内存中,并跳转到DDR2内存中执行BL2;
④BL2将Nand Flash中的Linux内核映像拷贝到DDR2内存中,并在DDR2内存中解压及启动内核;
⑤内核加载完毕后,挂载根文件系统,并启动执行默认的Linux应用程序。

图1 GEC210开发板的框架图
2 S5PV210内部BL0的启动过程
S5PV210 CPU内部自带一个64KB的iROM和一个96KB的iRAM,芯片出厂时在iROM中已经固化了一个基本的启动代码,即BL0,BL0不需要用户修改。……
