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 -_-;;)
------------------------------------------------------------------------
Table of Contents
1. Introduction
1.1. Definitions
2. Compiling the 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. Using the 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.
2. Compiling the vivi
This section describes how to compile the vivi.
2.1. Pre-Requirements
Here is a list of the minimum levels of software necessary to compile
the vivi.
* Gnu C 2.95.3
* Gnu make 3.79.1
* binutils 2.11.2
And then, your host platform are installed these tools.
* You have a cross-compiler and tool-chains.
* You have a Baurne-Again shell. (/bin/bash)
* You have a ncurses library.
2.2. Straight-forward compilation
The compiliation(configuration) environment of the vivi is simlilar to
the environment of the linux kernel. So, you can do make distclean,
make clean, make oldconfig , make menuconfig, and make config.
General compiling sequence sequence is:
1) make distclean
2) make menuconfig
3) make
Note that If you change configurations, run make clean and make.
Next two sections describes compilation of two examples.
2.3. SA-1110-Based machines with the NOR flash
I will take an example about the vivi compliation. I assumed that a
target platform's core block is composed like this:
* CPU: SA-1110 processor
* ROM: 32MB Intel Strata Flash (32-bit wide)
* RAM: 32MB DRAM
These features make sense to you. Many platforms I have met is designed
core block like above. For instance, KINGS, GILL, and ENDA's core block
is designed like this. Therefore, you refer to vivi/arch/def-configs/kings,
vivi/arch/def-configs/gill, and vivi/arch/def-configs/enda
If you want to compile vivi for KINGS(i.e. a configuration of a target
board, alredy exist in the vivi/arch/def-cofnigs), just do like this:
# make kings
Other machines can complie same ways.
2.4. S3C2410-Based machines with the NAND flash
Here, I will take an example about a S3C2410-Based machine. The
SMDK-2410 (a development board by SAMSUNG) is a S3C2410-Based machine.
The core block of SMDK-2410 is composed like this:
* CPU: S3C2410
* ROM: 64MB SMC (NAND Flash)
* RAM: 64MB DRAM
A configuration for SMDK-2401 will be found at
vivi/arch/def-configs/smdk2410. To compile for SMDK-2410, do like this:
(As I described above)
# make smdk2410
3. Using the vivi
3.1. Interface between an user and the vivi
The vivi uses the serical communication for user interface. Therefore,
to connect the vivi, you 1) connect a serial cable between host paltform
and target platform. 2) already have a serial communication program like
the minicom. 3) properly make the vivi binary to support a UART port
when you configure the vivi.
If all of above is ok, you can see messages on the screen printed by the
vivi. For example, below messages catched from the SMDK-2410
VIVI version 0.1.4 (nandy@nandy.mizi.com) (gcc version 2.95.2 20000516 (release)
[Rebel.com]) #0.1.4 수 10월 16 16:19:11 KST 2002
MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T)
Found saved vivi parameters.
Press Return to start the LINUX now, any other key for vivi
See the last line on the screen. (As I mentioned section 1.1) the vivi
has two mode: an autoboot mode and a prompt mode. The vivi wait for a
key input. If an user want to enter the prompt mode, press andy key
(except Enter key). And then you can see the "vivi>" prompt. Otherwise,
the vivi try boot the linux kernel after waiting a few seconds or minutes.
3.2. Built-in user commands
This is not full-described built-in user comamnd. But following commands
is enough to use the vivi (as far as I know).
3.2.1. load command
A load command is loading binaries to the flash or the ram.
Usage:
load <media_type> [ <partname> | <addr> <size> ] <x|y|z>
<media_type>
This argument is where to load. Availabe values are *flash* and *ram*.
[ <partname> ] or [ <addr> <size> ]
This arguement determines location where to load a binary. If you
want to use pre-defined mtd partiton informations, just type a
partition name. Otherwise you specify an address and a size.
<x|y|z>
This arguement determines the file transfer protocol. I shy that the
vivi only supprot xmodem curruntly. So, Available value is "x".
For exampe, you load zImage to flash memroy.
vivi > load flash kernel x
or you specify an address and a size.
vivi > load flash 0x80000 0xc0000 x
3.2.2. part command
The vivi has mtd partiton informations for the vivi. This informatin not
related to mtd partition informations of mtd device drivers. The vivi
uses partition informations when load a binary, boot the linux kernel,
erase flash memroy, etc...
Avalilable commands are:
Display mtd partition informations.
part show
Add a new mtd partition.
part add <name> <offset> <size> <flag>
<name>
is name of a new mtd partiton.
<offset>
is offset in the mtd device.
<size>
is a size of a mtd parition.
<flag>
is flags of a mtd parition. Available valuse are JFFS2, LOCKED,
and BONFS.
Delete a mtd partiton.
part del <partname>
Reset mtd partitions to default values.
part reset
Save paramter valuse and mtd parition informations to flash permanently.
part save
3.2.3. param command
The vivi has some parameter values. For example, the "boot_delay"
paramter determines how long wait keystroek when the vivi is in the
autoboot mode. I'm sorry that this feature is in progress. So all listed
parameter is not available.
Here, I give several tips for you.
If you change the "linxu command line",
vivi> param set linux_cmd_line "you wish.."
If you want to see paramters,
vivi> param show
If you want to wait a long time when recevie file via xmodem,
vivi> param set xmodem_initial_timeout 3000000
If you want to boot imediately when a hardware reset,
vivi> param set boot_delay 100000
3.2.4. boot command
A boot command is boot the linux kernel which is stored in the flash
memroy or ram. Usage:
boot <media_type> [ <partname> | <addr> <size> ]
<media_type>
This argument is where to store the linux kernel image. Availabe
values are ram, nor and smc.
[ <partname> ] or [ <addr> <size> ]
This arguement determines location where to store the linux kernel.
If you want to use pre-defined mtd partiton information, just type a
partition name. Otherwise you shuld specify an addre
没有合适的资源?快使用搜索试试~ 我知道了~
ARM9_2410vivi源码
共326个文件
h:81个
c:78个
o:52个
5星 · 超过95%的资源 需积分: 9 21 下载量 22 浏览量
2010-03-11
11:43:00
上传
评论
收藏 669KB RAR 举报
温馨提示
文件源码是基于ARM9系统Linux开发的bootloader(vivi),已经做好了Makefile文件的修改。请注意要在windows下解压,Linux环境下打开,修改;搭建好交叉编译环境再编译,移植后为78K左右。
资源推荐
资源详情
资源评论
收起资源包目录
ARM9_2410vivi源码 (326个子文件)
booting.ARM 4KB
function.awk 746B
EXEC.bat 28B
smc_core.c 35KB
intel_flash.c 29KB
amd_flash.c 29KB
net.c 28KB
cfi_cmdset_0001.c 25KB
bootp.c 23KB
nfs.c 18KB
mtdcore.c 16KB
forte_ide.c 16KB
textbox.c 15KB
dm9000x.c 14KB
vgadriver.c 14KB
md5.c 13KB
serial_16550a.c 13KB
menubox.c 13KB
memory.c 11KB
boot_kernel.c 11KB
memtst.c 11KB
command.c 11KB
imagewrite.c 11KB
bon.c 10KB
proc.c 10KB
eth.c 10KB
cfi_probe.c 10KB
util.c 10KB
checklist.c 10KB
tftp.c 9KB
test.c 9KB
printk.c 9KB
s3c2410_flash.c 8KB
cs8900.c 8KB
mtdpart.c 8KB
28f.c 7KB
vsprintf.c 7KB
ymodem.c 7KB
getcmd_ext.c 7KB
gen_probe.c 7KB
rw.c 7KB
param.c 7KB
inputbox.c 6KB
lxdialog.c 6KB
nand_ecc.c 5KB
mmu.c 5KB
xmodem.c 5KB
cmdnet.c 5KB
main.c 4KB
misc.c 4KB
load_file.c 4KB
smdk2410_test.c 4KB
string.c 4KB
exec.c 3KB
ecc.c 3KB
yesno.c 3KB
rarp.c 3KB
boot_ce.c 3KB
netcmd.c 3KB
pxa250_flash.c 3KB
smdk.c 3KB
heap.c 3KB
s3c2400_flash.c 3KB
sa1100_flash.c 3KB
msgbox.c 2KB
nand_read.c 2KB
smc_test.c 2KB
time.c 2KB
mport3_lcd.c 2KB
sntp.c 2KB
hello.c 2KB
serial_core.c 2KB
ctype.c 1KB
term.c 1KB
reset_handle.c 1KB
getcmd.c 1KB
timer.c 1KB
chipreg.c 1002B
call_func.c 254B
version.c 219B
skeleton.c 163B
CHANGELOG 7KB
ChangeLog 92B
.config 2KB
Configure 12KB
COPYING 18KB
.cvsignore 98B
.cvsignore 46B
.cvsignore 31B
.cvsignore 9B
defconfig 2KB
.depend 6KB
Configure.help.en 8KB
Entries 555B
sjf.exe 56KB
.s3c2410_flash.o.flags 326B
.serial_core.o.flags 322B
.boot_kernel.o.flags 322B
.getcmd_ext.o.flags 320B
.nand_read.o.flags 318B
共 326 条
- 1
- 2
- 3
- 4
资源评论
- wanglz6662012-05-11vivi源码,其实在linux下也可以识别这种压缩格式吧,安装一些软件包什么的~~~
晓数微码
- 粉丝: 2
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功