vivi是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。Vivi有两种作业形式:发动加载形式和下载形式。发动加载形式能够在一段时刻后(这个时刻可更改)自行发动linux内核,这时vivi的默许形式。在下载形式下,vivi为用户供给一个指令行接口,经过接口能够运用vivi供给的一些指令,如下:
指令
功用
Load
把二进制文件载入Flash或RAM
Part
操作MTD分区信息。显现、添加、删去、复位、保存MTD分区
Param
设置参数
Boot
发动体系
Flash
办理Flash,如删去Flash的数据
vivi代码剖析
vivi的代码包含arch,init,lib,drivers和include等几个目录,共200多条文件。
Vivi首要包含下面几个目录:
arch:此目录包含了一切vivi支撑的方针板的子目录,例如s3c2410目录。
drivers:其间包含了引导内核需求的设备的驱动程序(MTD和串口)。MTD目录下分map、nand和nor三个目录。
init:这个目录只要main.c和version.c两个文件。和一般的C程序相同,vivi将从main函数开端履行。
lib:一些渠道公共的接口代码,比方time.c里的udelay()和mdelay()。
include:头文件的公共目录,其间的s3c2410.h界说了这块处理器的一些寄存器。Platform/smdk2410.h界说了与开发板相关的资源装备参数,咱们往往只需求修正这个文件就能够装备方针板的参数,如波特率、引导参数、物理内存映射等。