日志档案

发表于 2006-10-14 23:37:33

34

标签: bootloader  linux  uboot  vivi  arm  

几种Bootloader简介(二)

  l         ViVi

        vivi是什么?

        vivi是由mizi公司设计为ARM处理器系列设计的一个bootloader,因为vivi目前只支持使用串口和主机通信,所以您必须使用一条串口电缆来连接目标板和主机。

       它有如下作用:

       1)、 把内核(kernel)从flash复制到RAM,然后启动它

       2)、 初始化硬件

       3)、 下载程序并写入flash(一般通过串口或者网口先把内核下载到RAM中,然后写入到flash)

       4)、 检测目标板(bootloader会有一些简单的代码用以测试目标板硬件的好坏)

       vivi的使用方法

       摘录自vivi的guide.txt,稍作修改。

Getting started with vivi

Janghoon Lyu (nandy@mizi.com)

This is a short introduction about the vivi.

Revision History

Revision v0.1 2002-10-21 Revised by: jl

Initial public release. very very short descriptions. (with foolish sentences -_-;;)

------------------------------------------------------------------------

   

1. Introduction.

1.1. Definitions.

1.2. vivi的目录结构及文件.

1.2.1 vivi的目录树.

1.2.2 vivi的文件.

2. vivi 的编译.

2.1. Pre-Requirements.

2.2. Straight-forward compilation.

2.3. SA-1110-Based machines with the NOR flash.

2.4. S3C2410-Based machines with the NAND flash.

3. vivi的使用.

3.1. Interface between an user and the vivi.

3.2. Built-in user commands.

3.2.1. load command.

3.2.2. part command.

3.2.3. param command.

3.2.4. boot command.

3.2.5. flash command.

------------------------------------------------------------------------

1. Introduction

This document explains to you:

 

1) compiling the vivi

 

2) interface an user and the vivi

 

3) avaliable user commands

1.1. Definitions

vivi

 

The vivi is one of arm boot loaders.

 

Autoboot mode

 

The vivi has two modes. one of these is autoboot mode. This is a default mode. In this mode, The vivi automatically boot-up the linux kernel when a delay time is expired.

 

Prompt mode

 

One of vivi's modes is prompt mode. In this mode, An user is able to command to the vivi doing something.

 

Host platform

 

Generally, an engineer develop the software on the powerful destktop computer (not on the embedded machines). This descktop called host platform.

 

Target platform

 

Target platform means developemnt boards or embedded machines.

1.2. vivi的目录结构及文件

1.2.1 vivi的目录树

E:\S3C2410_VIVI_R1.1

├───Documentation

   └───html

├───arch

   ├───def-configs

   └───s3c2410

├───drivers

   ├───mtd

      ├───maps

      ├───nand

      └───nor

  └───serial

├───include

   ├───mtd

   ├───proc

   └───platform

├───init

├───lib

   └───priv_data

├───scripts

   └───lxdialog

└───util

1.2.2 vivi的文件

Directory of E:\s3c2410_vivi_r1.1

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2006-08-30  14:10    <DIR>          Documentation

2006-08-30  14:10    <DIR>          arch

2006-08-30  14:10    <DIR>          drivers

2006-08-30  14:10    <DIR>          include

2006-08-30  14:10    <DIR>          init

2006-08-30  14:10    <DIR>          lib

2006-08-30  14:10    <DIR>          scripts

2006-08-30  14:10    <DIR>          util

2004-05-07  08:48            18,008 COPYING

2004-05-07  08:48             5,540 Makefile

2004-05-07  08:48             4,348 Rules.make

               3 File(s)      27,896 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\Documentation

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2006-08-30  14:10    <DIR>          html

2004-05-07  08:48                98 .cvsignore

2004-05-07  08:48             7,002 CHANGELOG

2004-05-07  08:48             8,537 Configure.help

2004-05-07  08:48             7,979 Configure.help.en

2004-05-07  08:48             1,301 README

2004-05-07  08:48             4,373 booting.ARM

2004-05-07  08:48               682 compile.txt

2004-05-07  08:48             8,965 guide.txt

2004-05-07  08:48             1,353 optoions.txt

2004-05-07  08:48             1,490 vivi_priv_data.txt

              10 File(s)         41,780 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\Documentation\html

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48            18,232 guide.html

               1 File(s)         18,232 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\arch

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2006-08-30  14:10    <DIR>          def-configs

2004-05-07  08:48             2,282 Makefile

2004-05-07  08:48             3,435 config.in

2004-05-07  08:48             2,070 defconfig

2004-05-07  08:48               137 vivi.lds.in

2006-08-30  14:10    <DIR>          s3c2410

               4 File(s)          7,924 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\arch\def-configs

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48             2,070 smdk2410

               1 File(s)          2,070 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\arch\s3c2410

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48               379 Makefile

2004-05-07  08:48            16,566 head.S

2004-05-07  08:48             4,858 mmu.c

2004-05-07  08:48             1,597 nand_read.c

2004-05-07  08:48             9,077 proc.c

2004-05-07  08:48             2,497 smdk.c

2004-05-07  08:48             3,801 smdk2410_test.c

2004-05-07  08:48             9,069 test.c

               8 File(s)         47,844 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2006-08-30  14:10    <DIR>          mtd

2004-05-07  08:48               237 Makefile

2006-08-30  14:10    <DIR>          serial

               1 File(s)            237 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2006-08-30  14:10    <DIR>          maps

2006-08-30  14:10    <DIR>          nand

2004-05-07  08:48               506 Config.in

2004-05-07  08:48               284 Makefile

2004-05-07  08:48            12,856 mtdcore.c

2006-08-30  14:10    <DIR>          nor

               3 File(s)         13,646 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\maps

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48               553 Config.in

2004-05-07  08:48               340 Makefile

2004-05-07  08:48             2,683 pxa250_flash.c

2004-05-07  08:48             2,701 s3c2400_flash.c

2004-05-07  08:48             7,570 s3c2410_flash.c

2004-05-07  08:48             2,632 sa1100_flash.c

               6 File(s)         16,479 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\nand

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48               630 Config.in

2004-05-07  08:48               278 Makefile

2004-05-07  08:48            10,376 bon.c

2004-05-07  08:48             5,252 nand_ecc.c

2004-05-07  08:48            26,771 smc_core.c

               5 File(s)         43,307 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\nor

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48             2,000 Config.in

2004-05-07  08:48               265 Makefile

2004-05-07  08:48            29,770 amd_flash.c

2004-05-07  08:48            25,191 cfi_cmdset_0001.c

2004-05-07  08:48             9,777 cfi_probe.c

2004-05-07  08:48             1,007 chipreg.c

2004-05-07  08:48             6,781 gen_probe.c

               7 File(s)         74,791 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\serial

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48               955 Config.in

2004-05-07  08:48               324 Makefile

2004-05-07  08:48             1,174 getcmd.c

2004-05-07  08:48               647 getcmd.h

2004-05-07  08:48             6,878 getcmd_ext.c

2004-05-07  08:48             1,530 serial_core.c

2004-05-07  08:48             1,264 term.c

2004-05-07  08:48             4,895 xmodem.c

2004-05-07  08:48             7,204 ymodem.c

               9 File(s)         24,871 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\include

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2006-08-30  14:10    <DIR>          mtd

2006-08-30  14:10    <DIR>          proc

2004-05-07  08:48               691 architecture.h

2004-05-07  08:48             2,835 bitfield.h

2004-05-07  08:48               764 boot_kernel.h

2004-05-07  08:48             3,122 cap.h

2004-05-07  08:48               912 command.h

2004-05-07  08:48               257 compile.h

2004-05-07  08:48               196 config.h

2004-05-07  08:48               106 ctype.h

2004-05-07  08:48               106 errno.h

2004-05-07  08:48               105 flash.h

2004-05-07  08:48               112 getcmd.h

2004-05-07  08:48               694 hardware.h

2004-05-07  08:48               229 heap.h

2004-05-07  08:48               385 io.h

2004-05-07  08:48               441 linkage.h

2004-05-07  08:48             1,087 machine.h

2004-05-07  08:48             3,938 md5.h

2004-05-07  08:48               427 memory.h

2004-05-07  08:48               796 mmu.h

2004-05-07  08:48               114 printk.h

2004-05-07  08:48             1,657 priv_data.h

2004-05-07  08:48               312 processor.h

2004-05-07  08:48            24,247 pxa250.h

2004-05-07  08:48               357 reset_handle.h

2004-05-07  08:48            16,876 s3c2400.h

2004-05-07  08:48            17,357 s3c2410.h

2004-05-07  08:48            17,979 sa1100.h

2004-05-07  08:48               438 serial.h

2004-05-07  08:48               104 setup.h

2004-05-07  08:48             1,130 sizes.h

2004-05-07  08:48               198 time.h

2004-05-07  08:48               125 types.h

2004-05-07  08:48             1,296 vivi.h

2004-05-07  08:48               273 vivi_lib.h

2004-05-07  08:48               328 vivi_string.h

2004-05-07  08:48               115 xmodem.h

2004-05-07  08:48             2,690 ymodem.h

2006-08-30  14:10    <DIR>          platform

              37 File(s)        102,799 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\include\mtd

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48             2,918 amd_flash.h

2004-05-07  08:48               201 bonfs.h

2004-05-07  08:48            11,521 cfi.h

2004-05-07  08:48             1,277 flashchip.h

2004-05-07  08:48               505 gen_probe.h

2004-05-07  08:48             2,632 map.h

2004-05-07  08:48             5,997 mtd.h

2004-05-07  08:48             6,572 nand.h

2004-05-07  08:48               782 nand_ecc.h

2004-05-07  08:48             3,216 nand_ids.h

              10 File(s)         35,621 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\include\proc

 

2006-08-30  14:10    <DIR>          .

2006-08-30  14:10    <DIR>          ..

2004-05-07  08:48             1,773 proc_pxa250.h

2004-05-07  08:48             1,301 proc_s3c2400.h

2004-05-07  08:48             1,803 proc_s3c2410.h

2004-05-07