全部博文(92)
分类: 嵌入式
2010-03-28 10:49:42
嵌入式系统移植
一个嵌入式Linux系统从软件的角度看通常分为4个层次:
1.Bootloader
2.Linux内核
3.文件系统
4.用户应用程序
Bootloader 概述
简单地说,Bootloader就是在操作系统运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立系统的内存空间映射图,从而将系统的软件硬件环境带到一个合适的状态,以便为调用操作系统内核准备好正确的环境。
最终,Bootloader把操作系统内核映像加载到RAM中,并将系统控制权交给它
常用的bootloader
U-Boot
U-Boot(Universal Boot Loader)是德国DENX小组开发的用于多种嵌入式CPU的BootLoader程序,它可以运行于PowerPC、ARM、MIPS等多种嵌入式开发板上。
vivi
vivi是由韩国MIZI公司开发的专门用于SAMSUNG ARM架构的一种Bootloader
vivi的启动过程分析
Bootloader的启动过程大多是分两个阶段,即stage1和stage2。
依赖CPU体系结构的代码通常放在stage1中,而且通常用汇编语言实现。
stage2中的代码通常用C语言实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性
Bootloader的stage1通常包括以下步骤:
1、硬件设备初始化
2、为加载stage2准备RAM空间
3、复制stage2到RAM空间
4、设置好堆栈