(转)vivi eboot wince 烧写 (续)

来源:互联网 发布:网络揭阳广播电视大学 编辑:程序博客网 时间:2024/05/17 22:19
 

/*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: offset = 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 <media_type> -- booting kernel
      value of media_type (location of kernel image
         1 = RAM
         2 = NOR Flash Memory
         3 = SMC (On S3C2410)
    boot <media_type> <mtd_part> -- boot from specific mtd partition
    boot <media_type> <addr> <size>
    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映像必须被放到这个分区中;
<addr> <size>分别表示 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

系列命令的帮助提示。

&#8226; part show 显示分区信息

&#8226; part add partname part_start_addr part_leng flag 添加分区,参数flag为分区类型

&#8226; part del partname 删除分区

&#8226; part save 保存part 分区信息

&#8226; part reset 恢复为系统默认part分区

----------------------------------------------------------------------

load 命令

load 命令下载程序到存储器中(Flash 或者RAM 中)。通过load help可以显示系统对load 系列命令的帮助提示。

&#8226; load flash partname x 使用xmodom 协议通过串口下载文件并且烧写带partname 分区

例:

-load flash vivi x          //注意,这里的vivi是分区名

-load flash kernel x

-load flash root x

&#8226; load ram partname or addr x 使用xmodom 协议通过串口下载文件到内存中

param命令

param 命令用于对bootloader 的参数进行操作。通过param help 可以

显示系统对param 系列命令的帮助提示。

&#8226; param show 命令用于显示bootloader 的当前参数值。

&#8226; param reset 将bootloader 参数值复位成系统默认值。

&#8226; param set paramname value 设置参数值

&#8226; param set linux_cmd_line ”linux bootparam” 设置linux 启动参数,参数linux bootparam 表示要设置的linux kernel 命令行参数。

&#8226; param save 保存参数设置

boot命令

boot 命令用于引导linux kernel 启动。通过boot help 可以显示系统对boot命令的帮助提示。

&#8226; boot 默认方式启动

&#8226; boot ram ramaddr lenth 启动sdram 中ramaddr处长度为lenth的linux 内核。

bon 命令

bon 命令用于对bon分区进行操作。通过bon help 可以显示系统对bon

系列命令的帮助提示。bon分区是nand flash 设备的一种简单的分区管理方式。

&#8226; bon part info 命令用于显示系统中bon分区的信息。

&#8226; 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 命令用于跳转到指定地址处执行该地址处的代码。

&#8226; go addr 跳转到指定地址运行该处程序。


原创粉丝点击