VIVI常用命令

VIVI常用命令 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命令查看。 ********************************************************************************************************************************************* 在超级终端界面中键入任意键(除enter外)进入vivi命令界面 vivi> 输入help 可以见到开发板上的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 load {...} -- Load a file to RAM/Flash go -- jump to dump -- Display (hex dump) a range of memory. call -- jump_with_return to boot [{cmds}] -- Booting linux kernel help [{cmds}] -- Help about help? display -- Set the display format flash [{cmds}] -- Manage Flash memory wince [rewrite] -- boot wince from ethernet or f lash by eboot os -- set the default os mem命令 mem系列命令用于对系统的内存进行操作 vivi> mem help 'mem' command usage: ----------command parameter list----------- mem size -- probe dram size mem read -- read a word(4bytes) from special dram address mem write -- write a word(4bytes) into special dram address mem test [ ] -- memory test -----------sub command list------------- mem cmp -- compare mem copy -- copy memory from to mem info -- display memory infomation mem reset -- reset memory control register mem search -- search memory address that contain value in the special memory address range vivi>mem info RAM Information: Default ram size: 64M Real ram size : 64M Free memory : 61M RAM mapped to : 0x30000000 - 0x34000000 (SDRAM映射的地址范围) Flash memory mapped to : 0x10000000 - 0x12000000 (Flash映射的地址范围) Available memory region : 0x30000000 - 0x33de4000 (用户可以使用的有效的内存区域地址范围) Stack base address : 0x33debffc (栈的基地址) Current stack pointer : 0x33debc78 (当前栈指针的值) Memory control register vlaues (S3C2410的内存控制寄存器的当前值) BWSCON = 0x22111d10 BANKCON0 = 0x00000700 BANKCON1 = 0x00000700 BANKCON2 = 0x00001f7c BANKCON3 = 0x00000700 BANKCON4 = 0x00000700 BANKCON5 = 0x00000700 BANKCON6 = 0x00018001 BANKCON7 = 0x00018001 REFRESH = 0x008e01e9 BANKSIZE = 0x000000b1 MRSRB6 = 0x00000020 MRSRB7 = 0x00000020 vivi> load命令 load 命令下载程序到存储器中(Flash或者 RAM中)过 load help 可 以显示系统对 load系列命令的帮助提示 vivi> load help Usage: load [ | ] 关键字参数 flash 和 ram 用于选择目标介质是 Flash还是 RAM 到 Flash 中还是先要下载到 RAM 中(临时下载到 SDRAM 的起始地址处 0x30000000保存一下,然后再转写入 FLASH),然后再通过 Flash驱动程 序提供的写操作,将数据写入到 Flash中选择了 flash 参数,那名 到底是对 NOR Flash操作还是对 NAND Flash操作,这取决于 bootloader 编译的过程中,所进行的配置,这就要看配置的时候将MTD设备配置成NOR Flash还是 NAND Flash 参数 partname 和 addr size二者选其一,partname是 vivi的 MTD分区表中 的分区名 MTD分区的起始地址;addr和 size是让用户自己选择下载的目标存储区域,而不是使用 vivi的 MTD分区, addr表示下载的目标地址,size表示下载的文件大小,单位字节,size参数 不一定非要指定得和待下载的文件大小一样大,但是一定要大于等于待下载 的文件的字节数 关键字参数 x y 和 z 分别表示从 PC主机上下载文件到 ARMer9系统中, 采用哪种串行文件传送协议,x表示采用XModem协议,y表示采用Ymodem协议,z表示采用 ZModem协议请注意目前该 bootloader vivi 还没有 实现 ZModem协议,所以该参数只能选择 x和 y 关键字参数t应该是开发板vivi增加的,是tftp下载!很好用的!速度比jtag要快多了! 开发板的vivi eboot烧写都要通过load命令 如:要烧写eboot.nb0到flash的eboot分区,首先在超级中断进入vivi的shell,输入 load flash eboot t 使用交叉网线连好PC与开发板,把eboot.nb0拷贝到于mtftp.exe同一目录下,在windows命令行输入 mytftp -i 192.168.0.15 PUT eboot.nb0 等待烧写完成即可 param命令 param系列命令用于对 bootloader的参数进行操作 通过 param help可以 显示系统对 param系列命令的帮助提示 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 -- Reset value of parameter param set linux_cmd_line "..." -- set boot parameter param set wince_part_name "..." -- set the name of partition wich wince will be stored in param show -- Display parameter table vivi> param show 可以显示可以设置的参数 vivi> param show Number of parameters: 19 name hex integer ------------------------------------------------------------- mach_type 000000c1 193 //机器类型,193表示 S3C2410的开发系统 media_type 00000003 3 //媒介类型,即指示了bootloader从哪个媒介启动起来的 boot_mem_base 30000000 805306368 /*引导 linux 内核启动的基地址映像将被从 Flash 中拷贝到 boot_mem_base + 0x8000 的地址处,内核参数将被建立在 boot_mem_base+0x100的地址处 */ baudrate 0001c200 115200 //bootloader启动时,默认设置的串口波特率 /*以上三个参数和 Xmodem文件传送协议相关 xmodem_one_nak表示接收端(即 ARMer9系统这端)发起第一个 NAK信 号给发送端(即 PC主机这端)到启动; xmodem_initial_timeout表示接收端(即 ARMer9系统这端)启动 XModem 协议后的初始超时时间,第一次接收超时按照这个参数的值来设置,但是超 时一次后,后面的超时时间就不再是这个参数的值了,而是xmodem_timeout 的值; xmodem_timeout表示在接收端(即 ARMer9系统这端)等待接受发送端(即 PC 主机这端)送来的数据字节过程中,如果发生了一次超时,那么后面的 超时时间就设置成参数 xmodem_timeout的值了 这三个参数不需要修改,系统默认的值就可以了,不建议用户去修改这几个 参数值 */ xmodem_one_nak : 00000000 0 xmodem_initial_timeout : 000493e0 300000 xmodem_timeout : 000f4240 1000000 /*ymodem_initial_timeout ymodem_initial_timeout 表示接收端(即 ARMer9 系统这端)在启动了 YModem协议后的初始超时时间 这个参数不需要修改,系统默认的值就可以了,不建议用户去修改这几个参 数值 */ ymodem_initial_timeout : 0016e360 1500000 /*boot_delay是 bootloader自动引导 linux kernel功能的延时时间*/ boot_delay : 00300000 3145728 os : WINCE display : VGA 640X480 ip : 192.168.0.15 host : 192.168.0.1 gw : 192.168.0.1 mask : 255.255.255.0 wincesource : 00000001 1 wincedeploy : 00000000 0 mac : 00:00:c0:ff:ee:08 wince part name: wince Linux command line: noinitrd root=/dev/mtdblock/3 init=/linuxrc console=ttyS0 /*Linux command line 不是bootloader的参数,而是kernel启动的时候,kernel 不能自动检测到的必要的参数些参数需要 bootloader 传递给 linux kernel Linux command line就是设置 linux kernel启动时,需要手工 传给 kernel的参数 */ part命令 part命令用于对 MTD分区进行操作 vivi> part show mtdpart info. (7 partitions) name offset size flag ------------------------------------------------ vivi : 0x00000000 0x00020000 0 128k param : 0x00020000 0x00010000 0 64k kernel : 0x00030000 0x001c0000 0 1M+768k root : 0x00200000 0x00400000 0 4M eboot : 0x00600000 0x00080000 0 512k wince : 0x00680000 0x01c80000 0 28M+512k flashdisk : 0x02300000 0x01d00000 0 29M MTD分区是针对 Flash(NOR Flash或者 NAND Flash)的分区,以便于对 bootloader对 Flash进行管理 part add命令用于添加一个 MTD分区 命令的详细格式如下: part add name offset size flag 参数 name是要添加的分区的分区名 参数 offset 是要添加的分区的偏移(相对于整个 MTD 设备的起始地址的偏 移,在 ARMer9系统中不论配置的是 NOR Flash,还是 NAND Flash,都只 注册了一个 mtd_info结构,也就是说逻辑上只有一个 MTD设备,这个 MTD 设备的起始地址为 0x00000000); 参数 size是要添加的分区的大小,单位为字节; 参数 flag是要添加的分区的标志,参数 flag的取值只能为以下字符串(请注 意必须为大写)或者通过连接符 | 这个标志表示了这个分区的用途 “BONFS” 作为 BONFS文件系统的分区; “JFFS2” 作为 JFFS2文件系统的分区; “LOCK” 该分区被锁定了; “RAM” 该分区作为RAM使用 例如,添加新的 MTD分区 mypart vivi> part add mypart 0x500000 0x100000 JFFS2 mypart: ōffset = 0x00500000, size = 0x00100000, flag = 8 part del命令用于删除一个 MTD分区 命令的详细格式如下: part del name 参数 name是要删除的 MTD分区的分区名 bon 命令用于对 BON分区进行操作 BON 分区是只针对 NAND Flash 设备的一种简单的分区管理方式 Bootloader支持BON分区,同时Samsung提供的针对S3C2410移植的linux 版本中也支持了 BON分区,这样就可以利用 BON分区来加载 linux的 root 根文件系统了 MTD 分区和 BON 分区,当 ARMer9 系统配置 了 NAND Flash 作为 MTD 设备,那么 MTD 分区和 BON 分区都在同一片 NAND Flash上 boot命令用于引导linux kernel启动 vivi>boot help Usage: boot -- booting kernel value of media_type (location of kernel image 1 = RAM 2 = NOR Flash Memory 3 = SMC (On S3C2410) boot -- boot from specific mtd partition boot boot help -- help about 'boot' command boot 关键字后面 media_type 必须指定媒介类型,因为 boot命令对不同媒介的处理方式 是不同的,例如如果 kernel在 SDRAM中,那么 boot执行的过程中就可以 跳过拷贝 kernel映像到 SDRAM中这一步骤了 Boot命令识别的媒介类型有以下三种: ram 表示从 RAM(在 ARMer9系统中即为 SDRAM)中启动linux kernel, linux kernel必须要放在 RAM中 nor 表示从NOR Flash中启动 linux kernel,linux kernel必须已经被烧写到 了 NOR Flash中 smc表示从 NAND Flash中启动 linux kernel,linux kernel必须已经被烧写 到了 NAND Flash中 取值参数意义如下: 参数 mtd_part是 MTD分区的名 MTD设备的一个 分区中启动 linux kernel,kernel映像必须被放到这个分区中; 分别表示 linux kernel起始地址和 kernel的大小为什么要指定 kernel大小呢?因为kernel首先要被copy到boot_mem_base + 0x8000的 地方,然后在 boot_mem_base + 0x100开始的地方设置内核启动参数,要 拷贝 kernel,当然需要知道 kernel的大小啦,这个大小不一定非要和 kernel 实际大小一样,但是必须许大于等于 kernel的大小,单位字节 reset 命令 复位Arm9系统 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 跳转到指定地址运行该处程序。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值