Linux嵌入式新手对vivi的理解

来源:互联网 发布:飞豆软件 编辑:程序博客网 时间:2024/06/07 14:51

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的学习还在进行中...

 

原创粉丝点击