VIVI常用命令

来源:互联网 发布:学python入门看什么书 编辑:程序博客网 时间:2024/06/12 01:14

http://www.diybl.com/course/6_system/linux/Linuxjs/2008627/128720.html(表示感谢)

 vivi 是韩国Mizi 公司开发的BootLoader,适用于ARM9 处理器。vivi 有两种工作模式,启动加载模式可以在一段时间后(这个时间可更改)自行启动Linux 内核,这是vivi的默认模式。在下载模式下,vivi 为用户提供一个命令行接口,通过该接口可以使用vivi提供的一些命令。启动vivi时,在超级终端界面中键入任意键(除enter外)进入vivi命令界面,字符提示为“vivi>”,我是在启动vivi前按住ESC不放,因为vivi启动比较快,按其它键会有字符产生。
  ----------------------------------------------------------------------
  reset 命令 复位Arm9系统
  ----------------------------------------------------------------------
  help 命令
  help 显示开发板上vivi支持的所有命令
  param help 显示param命令的用法
  ----------------------------------------------------------------------
  part 命令
  part 命令用于对分区进行操作。通过part help 可以显示系统对part
  系列命令的帮助提示。
  part show 显示分区信息
  part add partname part_start_addr part_leng flag 添加分区,参数flag为分区类型
  part del partname 删除分区
  part save 保存part 分区信息
  part reset 恢复为系统默认part分区
  ----------------------------------------------------------------------
  load 命令
  load 命令下载程序到存储器中(Flash 或者RAM 中)。通过load help可以显示系统对load 系列命令的帮助提示。
  load flash partname x 使用xmodom 协议通过串口下载文件并且烧写带partname 分区
  例:
  -load flash vivi x //注意,这里的vivi是分区名
  -load flash kernel x
  -load flash root x
  load ram partname or addr x 使用xmodom 协议通过串口下载文件到内存中
  ----------------------------------------------------------------------
  param命令
  param 命令用于对bootloader 的参数进行操作。通过param help 可以
  显示系统对param 系列命令的帮助提示。
  param show 命令用于显示bootloader 的当前参数值。
  param reset 将bootloader 参数值复位成系统默认值。
  param set paramname value 设置参数值
  param set linux_cmd_line ”linux bootparam” 设置linux 启动参数,参数linux bootparam 表示要设置的linux kernel 命令行参数。
  param save 保存参数设置
  ----------------------------------------------------------------------
  boot命令
  boot命令用于引导linux kernel 启动。通过boot help 可以显示系统对boot命令的帮助提示。
  boot 默认方式启动
  boot ram ramaddr lenth 启动sdram 中ramaddr处长度为lenth的linux 内核。
  ----------------------------------------------------------------------
  bon 命令
  bon 命令用于对bon分区进行操作。通过bon help 可以显示系统对bon
  系列命令的帮助提示。bon分区是nand flash 设备的一种简单的分区管理方式。
  bon part info命令用于显示系统中bon分区的信息。
  bon part命令用于建立系统的bon分区表。bon分区表被保存到nand flash
  的最后0x4000 个字节中,即在nand flash的0x03FFC000 ~0x33FFFFFF 范围内,分区表起始于0x03FFC000。
  例如分为3个区:0~192k,192k~1M,1M~
  vivi> bon part 0 192k 1M
  doing partition
  size = 0
  size = 196608
  size = 1048576
  check bad block
  part = 0 end = 196608
  ----------------------------------------------------------------------
  go 命令
  go 命令用于跳转到指定地址处执行该地址处的代码。
  go addr 跳转到指定地址运行该处程序。
  
  以上是整理的一些常用的vivi命令,具体语法可通过相应的help命令查看。

(1) 在主机上打开minicom常按空格键(其实键入任意键 -- 除Enter外,就可以)
(2) 给目标板(开发板)加电/重启
即可进入vivi命令界面


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
loadyaffs {...} -- Load a yaffs image to Flash
eboot -- Run Wince Ethernet Bootloader(eboot)
wince -- Run Wince
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?


mem系列命令用于对系统的内存进行操作
------------------------------------------------------
vivi> mem
invalid 'mem' command: wrong argumets
Usage:
compare <dst> <src> <length> -- compare
mem copy <dst> <src> <length>
mem info
mem reset -- reset memory control register
mem serach <start_addr> <end_addr> <value> -- serach memory address that contain value

vivi>mem info
RAM Information:
Default ram size: 64M
Real ram size : 64M
Free memory : 63M

RAM mapped to : 0x30000000 - 0x34000000 (SDRAM映射的地址范围 -- 64M)
Flash memory mapped to -: 0x10000000 - 0x12000000 (Flash映射的地址范围 -- 32M)
Available memory region : 0x30000000 - 0x33f80000 (用户可以使用的有效的内存区域地址范围)
Stack base address : 0x33fafffc (栈的基地址)
Current stack pointer : 0x33fafc7c (当前栈指针的值)

Memory control register vlaues (S3C2410的内存控制寄存器的当前值)
BWSCON = 0x2211d120
BANKCON0 = 0x00000700
BANKCON1 = 0x00000700
BANKCON2 = 0x00000700
BANKCON3 = 0x00000700
BANKCON4 = 0x00000700
BANKCON5 = 0x00000700
BANKCON6 = 0x00018005
BANKCON7 = 0x00018005
REFRESH = 0x008e0459
BANKSIZE = 0x000000b2
MRSRB6 = 0x00000030
MRSRB7 = 0x00000030

 

load命令下载程序到存储器中(Flash或者RAM中)
------------------------------------------------------
vivi> load help
Usage:
load <flash|ram> [ <partname> | <addr> <size> ] <x|y|z|t>

<flash|ram>
关键字参数flash和ram用于选择目标介质是Flash还是RAM。
如果选择下载到Flash中,其实还是先要下载到RAM中(临时下载到SDRAM的起始地址处0x30000000保存一下,然后再转写入 FLASH),然后再通过Flash驱动程序提供的写操作,将数据写入到Flash中。如果选择了flash参数,那么到底是将"数据"写入NOR Flash还是NAND Flash,取决于boot loader编译的过程中,所进行的配置,这就要看配置的时候将MTD设备配置成NOR Flash还是NAND Flash。

[ <partname> | <addr> <size> ]
partname是vivi的MTD分区表中的分区名,MTD分区的起始地址;addr和size是让用户自己选择下载的目标存储区域,而不是使用 vivi的MTD分区。addr表示下载的目标地址,size表示下载的文件大小,单位字节,size参数不一定非要指定得和待下载的文件大小一样大,但是一定要大于等于待下载的文件的字节数。

<x|y|z|t>
关键字参数x y和z分别表示从 PC主机上下载文件到ARM9系统中,采用哪种串行文件传送协议,x表示采用xmodem协议,y表示采用ymodem协议,z表示采用zmodem协议
请注意目前该bootloader -- vivi还没有实现zmodem协议,所以该参数只能选择x和y
关键字参数t应该是开发板vivi增加的,是tftp下载!很好用的!速度比jtag要快多了!


开发板的vivi eboot烧写都要通过load命令
如:要烧写eboot.nb0到flash的eboot分区
vivi> load flash eboot t
使用交叉网线连好PC与开发板,把eboot.nb0拷贝到于mtftp.exe同一目录下,在windows命令行输入
mytftp -i 192.168.0.15 PUT eboot.nb0
等待烧写完成即可


param 命令用于对bootloader的参数进行操作
------------------------------------------------------
vivi> param help
Usage:
param help -- Help aout 'param' command
param reset -- Reset parameter table to default table
param save -- Save parameter table to flash memeory
param set <name> <value> -- Reset value of parameter
param set linux_cmd_line "..." -- set boot parameter
param set wince_part_name "..." -- set the name of partition wich wincewill be stored in
param show -- Display parameter table


vivi> param show
Number of parameters: 19
name : hex integer
-------------------------------------------------------------
//(1)类型,193表示 S3C2410的开发系统
//(2)媒介类型,即指示了bootloader从哪个媒介启动起来的
//(3)引导 linux 内核启动的基地址映像将被从 Flash 中拷贝到boot_mem_base + 0x8000 的地址处,内核参数将被建立在boot_mem_base+0x100的地址处
//(4)bootloader启动时,默认设置的串口波特率

mach_type
文章出处:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/2008627/128720.html)

原创粉丝点击