vivi是一个bootloader,在s3c2410启动时,按空格键就可以进入vivi的配置菜单了,键入"help"可以查看vivi的帮助:
*************** Welcome to Winsilicon! ***************
Press Return to start the LINUX now, any other key for vivi
type "help" for help.
vivi> help
Usage:
cpu [{cmds}] -- Manage cpu clocks
bon [{cmds}] -- Manage the bon file system
reset -- Reset the system
param [set|show|save|reset] -- set/get parameter
part [add|del|show|reset] -- Manage MTD partitions
mem [{cmds}] -- Manage Memory
load {...} -- Load a file to RAM/Flash
go <addr> <a0> <a1> <a2> <a3> -- jump to <addr>
dump <addr> <length> -- Display (hex dump) a range of memory.
call <addr> <a0> <a1> <a2> <a3> -- jump_with_return to <addr>
boot [{cmds}] -- Booting linux kernel
help [{cmds}] -- Help about help?
迄今为止我发现的几个用得着的命令:
1) reset 重启系统
2) param show 查看vivi的配置参数
vivi> param show
Number of parameters: 9
name : hex integer
-------------------------------------------------------------
mach_type : 000000c1 193
media_type : 00000003 3
boot_mem_base : 30000000 805306368
baudrate : 0001c200 115200
xmodem_one_nak : 00000000 0
xmodem_initial_timeout : 000493e0 300000
xmodem_timeout : 000f4240 1000000
ymodem_initial_timeout : 0016e360 1500000
boot_delay : 01000000 16777216
Linux command line: noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0
可以看到一些有关xmodem等的参数,但是最能解开我疑惑的就是,为什么Linux内核加载后会去自动执行linuxrc文件,上面param shouw最后一行给出了答案。
3) load使用串口下载文件到板子上,串口的速度非常的慢,使用115200波特率进行连接,每秒大概8Kb的速度,实在是感觉有点慢。
vivi> load
invalid 'load' command: too few(many) arguments
Usage:
load <flash|ram> [ <partname> | <addr> <size> ] <x|y|z>
vivi>
例如 load flash kernel x
就是使用xmodem协议将接收到的文件保存到falsh中的kernel文件段去。此处的kernel并非是linux kernel的意思,而是vivi定义的一个part名称,见下。
4) part,vivi对flash分的几个节进行管理。
vivi> part show
mtdpart info. (4 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x000c0000 0 768k
root : 0x00100000 0x00140000 4 1M+256k
最后一个root的意思是,其大小有1M加上256KB吧。
如果load root的文件大于这个数值,就会导致操作失败,解决方法是Linux kernel加载成功后,使用ifconfig进行ip的配置,然后再使用zTelnet(host上安装这个软件)进行传输。我现在的理解是,zTelnet是一个基于Telnet协议的ftp:)
5) boot,就是要加载kernel吧。。。
对vivi的学习还在进行中...