BOOTLOADER的启动流程
●
●
●
●
●
第二阶段通常是由C语言实现的,这个阶段的主要任务有:
●
●
●
●
●
BOOTLOADER调用LINUX内核的方法是直接跳转到内核的第一条指令处,即跳转MEM_START+0x8000地址处,在跳转的时候必须满足下面的条件
●
●
●
vivi是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。 Vivi有两种工作模式:启动加载模式和下载模式。启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,见下表:
命令 | 功能 |
Load | 把二进制文件载入Flash或RAM |
Part | 操作MTD分区信息。显示、增加、删除、复位、保存MTD分区 |
Param | 设置参数 |
Boot | 启动系统 |
Flash | 管理Flash,如删除Flash的数据 |
1 vivi的配置与编译
1.1 建立交叉开发环境
1.2 配置和编译vivi
如果vivi的源代码已根据开发板作了相应改动,则需要对源代码进行配置和编译,以生成烧入flash的vivi 二进制映象文件。
需修改/vivi/Makefile里的一些变量设置:
LINUX_INCLUDE_DIR = /usr/local/arm/2.95.3/include
CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-
ARM_GCC_LIBS = /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3
进入/vivi目录执行make distclean。(目的是确保编译的有效性,在编译之前将vivi里所有的“*.o”和“*.o.flag”文件删掉)
进入/vivi目录里,输入“make menuconfig”,开始选择配置。可以Load一个写好的配置文件也可以自己修改试试。注意Exit时一定要选“Yes”保存配置。
再输入“make”正式开始编译,一会儿就完了。如果不报错,在/vivi里面就有你自己的“vivi”了。这个就是后面要烧写到flash中的bootloader。
vivi的代码包括arch,init,lib,drivers和include等几个目录,共200多条文件。
Vivi主要包括下面几个目录:
原文地址:http://blog.chinaunix.net/u1/56388/showart_438699.html