RedBoot 命令使用

 

Redboot 常用命令详解(zt)

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://redboot.blogbus.com/logs/22381509.html

Redboot启动完成后,就进入命令行状态(CLI),接受命令并执行,如果你用Redboot作为boot-loader就一定需要熟悉相关的命令,命令的相关解释在帮助文档上面都解释的很详细,今天突然看到这里有一个中文的版本,作为一个速查手册感觉不错,就转载过来。

          Redboot 常用命令说明
        

1 cache
使用格式:cache [on | off]
功能描述:cache命令用于管理微处理器的cache。在传输大容量的文件时,最好是把cache打开。
Redboot>cache      //显示系统当前cache状态
Redboot>cache on   //打开cache
Redboot>cache off  //关闭cache
 
2 channel
使用格式:channel [-l | channel number]
功能描述:如果不带任何参数,channel命令会显示当前的控制台通道号;如果参数为-1,则将控制台通道切换到默认的控制台通道;若参数为硬件平台所支持的其他控制台号,则channel命令就对控制台作相应的切换。
 
3 dump
使用格式:dump [-b location] [-l length] [-s] [-1 | -2 | -4]
功能描述: 显示参数指定区域的数据,显示方式由参数指定。
-b  存储器的起始位置
-l  显示的长度
-s  使用Motorala S-reconds格式显示数据
-1  按单字节显示数据
-2  按双字节显示数据
-4  按四字节显示数据
 
4 exec
使用格式:exec [-w timeout] [-r ramdisk_address] [-s ramdisk_length] [-b load_address] [-l load_length] [-c kernel_command_line] [entry_point]
功能描述:执行一个映象文件,如引导Linux内核
-w  执行映象文件之前的等待时间
-r  传递给内核的ramdisk_address起始地址
-s  传递给内核的ramdisk_address长度
-b  内核映象文件地址
-l  内核映象文件长度
-c  传递给内核的命令行
 
5 fis creat
使用格式:fis creat [-b data_address] [-l length] [-f flash_address] [-e entry] [-r relocation_address] [-s data_length] [-n] [name]
功能描述:在FIS(Flash Image System)目录中创建一个映象,将当前RAM中的数据写入FLASH存储器中。因此,在使用该命令之前,映象文件数据必须已经保存在RAM中。
-b  待写入flash数据的存放地址
-f  flash地址
-e  可执行映象地址
-r  执行fis load命令时,可执行映象的重定位地址
-s  写入flash中的可执行映象的实际长度
-n  用于更新FIS目录
name 创建映象的名称
 
6 fis init
使用格式:fis init [-f]
功能描述:初始化FIS目录,-f表示将所有的flash空间初始化
 
7 fis list
使用格式:fis list [-c] [-d]
功能描述:显示FIS中当前的所有映象文件
-c  显示映象的校验和
-d  显示映象的长度
 
8 fis free
使用格式:fis free
功能描述:显示flash当前的空闲空间
 
9 fis delete
使用格式:fis delete [name]
功能描述:删除FIS目录中的映象。name为需要删除映象的名称。
举例:
Redboot>fis delete ramdisk.gz
 
10 fis lock
使用格式:fis lock [-f flash_address] [-l length]
功能描述:锁定flash空间
-f  锁定flash空间的起始地址
 
11 fis unlock
使用格式:fis unlock [-f flash_address] [-l length]
功能描述:解除flash空间的锁定
 
12 fis erase
使用格式:fis erase [-f flash_address] [-l length]
功能描述:擦除指定的flash空间
 
13 fis write
使用格式:fis write [-b mem_address] [-l length] [-f flash_address]
功能描述:将数据由RAM写入FLASH中
-b 待写数据在RAM中的起始地址
-f 写入Flash的起始地址
 
14 fconfig
使用格式:fconfig
功能描述:对已保存在flash中的配置选项进行管理和重配置。
 
15 go
使用格式:go [-w timeout] [start_address]
功能描述:执行放在某一位置的可执行代码
-w  执行代码前的等待时间
start_address  可执行代码的起始地址
 
16 ip_address
使用格式:ip_address [-l local_ip_address] [-h server_ip_address] [-d DNS_server_ip_address]
功能描述:设置或改变系统使用的IP地址
 
17 load
使用格式:load [-r] [-v] [-h host] [-m varies] [-c channel_number] [-b base_address] [file_name]
功能描述:下载数据到目标系统RAM中
-r  下载未处理的数据到RAM
-v  下载过程显示进度
-b  数据下载到RAM的地址
file_name  下载的文件名
 
18 mcmp
使用格式:mcmp [-s location] [-d location] [-l length] [-1 | -2 | -4]
功能描述:比较两个存储区域的内容
-s  源区域起始地址
-d  目的区域起始地址
-l  需要比较数据的长度
-1  单字节读取
-2  双字节读取
-4  四字节读取
 
19 mcopy
使用格式同mcmp,功能就是将数据从一个存储区域复制到另一个存储区域
 
20 mfill
使用格式:mfill [-b location] [-l length] [-p value] [-1 | -2 | -4]
功能描述:将给定的数值填充到指定的存储区域
 
21 reset
功能描述:复位系统
 
22 ping
使用格式:ping [-v] [-n count] [-l length] [-t timeout] [-r rate] [-i IP_addr] [-h IP_addr]
功能描述:向指定主机发送ICMP报文,用于检查网络是否正常。
-v  显示数据包信息
-n  发送数据包的数目
-l  发送报文的长度
-t  设置超时时间
-r  发送数据包的间隔时间
-i  本机IP地址
-h  远端主机IP地址
 
23 help
 
24 version

 

 

Redboot(Red Hat Embedded Debug and Bootstrap)是Red Hat 公司开发的一个独立运行在嵌入式系统上Bootloader程序,是目前比较流行的一个功能强大、可移植性好的BootLoader。
  

    reboot 是一个采用eCos 开发环境开发的应用程序,并采用了eCos 的硬件抽象层作为基础,但它完全可以脱离eCos 环境运行可以用来引导任何其他的嵌入式操作系统,如Linux、Wince 等。
  Redboot 除了一般Bootloader 的硬件初始化和引导内核的功能外,还支持下列功能:
λ支持引导脚本,可方便启动应用程序或嵌入式操作系统内核;
λ 提供完整的命令行接口,方便用户进行各种系统操作;
λ 支持串行通讯协议和网络通性协议;
λ 支持GDB 调试,内嵌GDB stub;
λ 支持Flash 映像文件系统;
λ 通过BOOTP 协议支持网络引导,也可以配置静态IP。
  redboot的只要常用命令(ep9315系统常用)
   Redboot 提供了功能完善的命令行接口,包括对Flash 的操作、对串口或网络的配置、内存管理以及文件下载等,在嵌入式系统的开发过程中,需要经常使用这些命令。Redboot 所支持的命令也会根据嵌入式系统硬件平台的不同而略有差异,例如硬件平台没有Flash,Redboot就不会支持所有关于Flash 的操作,同时,由于Redboot 是源代码开放的,用户甚至可根据特定系统的需求,添加新的命令。
cache
使用格式:cache [on | off]
功能描述:cache 命令用于管理微处理器的cache,当不带参数时,Redboot 将显示系
统当前cache 状态;有参数时,则根据参数值来设置cache 的状态。
使用示例:RedBoot>cache //显示系统cache 的当前状态;
channel
使用格式:channel [-1 | channel number]
功能描述:如果不带任何参数,channel 命令会显示当前的控制台通道号,若参数为
-l 时,该命令将控制台通道切换到默认的控制台通道,若参数为硬件平台所支持的其他
控制台号,则channel 命令就对控制台作相应的切换。
使用示例:
RedBoot>channel // 显示系统的当前控制台通道号;
dump
使用格式:dump {-b location} [-l length] [-s] [-1 | -2 | -4]
功能描述:显示参数指定区域的数据,显示方式由参数指定。其中:
-b location:存储器的起始位置;
-l length:显示的长度;
-s:使用Motorola S-reconds 格式显示数据;
-1:按单字节显示数据;
-2:按双字节显示数据;
-4:按四字节显示数据;
使用示例:
RedBoot>dump –b 0x0 -1 // 显示起始位置为0x0 的存储器内容,按单字节显示;
exec
使用格式: exec [-w timeout] [-r ramdisk_address] [-s ramdisk_length] [-b
load_address {-l load_length} ] [-c kernel_command_line] [entry_point]
功能描述:执行一个映像文件,如引导Linux 内核。
-w timeout:执行映象文件之前的等待时间;
-r ramdisk_address:传递给内核的ramdisk_address 起始地址;
-s ramdisk_length:传递给内核的ramdisk_address 长度;
-b load_address:内核映象文件地址;
-l load_length:内核映象文件长度;
-c kernel_command_line:传递给内核的命令行;
fis creat
使用格式:fis create {-b data address} {-l length} [-f flash address] [-e entry]
[-r relocation address] [-s data length] [-n] [name]
功能描述:在FIS(Flash Image System)目录中创建一个映像,将当前RAM 中的数据写入Flash 存储器中,因此,在使用该命令之前,映像文件数据必须已经保存在RAM 中。
-b data address:待写入Flash 数据的存放地址;
-l length:写入数据的长度;
-f flash address:Flash 地址;
-e entry:可执行映像地址;
-r relocation address:执行Fis load 命令时,可执行映像的重定位地址;
-s data length:写入Flash 中的可执行映像实际长度;
-n:用于更新FIS 目录;
name:创建映像的名称。
使用示例:
RedBoot>fis create -b 0x1000000 -l 0x1a5179 ramdisk.gz
// 在FIS 目录中创建一个名为ramdisk.gz 的映像,并将地址为0x1000000 的RAM 的内容写入
该映像,写入长度为0x1a5179;
fis init
使用格式:fis init [-f]
功能描述:初始化FIS 目录。
-f:将所有Flash 空间进行初始化;
使用示例:
RedBoot>fis init // 初始化FIS 目录。
fis list
使用格式:fis list [-c] [-d]
功能描述:显示FIS 中当前的所有映像文件。
-c:显示映像的校验和;
-d:显示映像的长度;
使用示例:
RedBoot>fis list // 显示FIS 中当前的所有映像文件。
fis free
使用格式:fis free
功能描述:显示Flash 当前的空闲空间。
使用示例:
RedBoot>fis free // 显示Flash 当前的空闲空间。
fis delete
使用格式:fis delete {name}
功能描述:删除FIS 目录中的映像。
name:需要删除映像的名称;使用示例:
RedBoot>fis delete ramdisk.gz // 删除FIS 目录中名为ramdisk.gz 的映像。
fis lock
使用格式:fis lock {-f flash_address} {-l length}
功能描述:锁定Flash 空间。
-f flash_address:锁定Flash 空间的起始地址;
-l length:锁定Flash 空间的长度;
使用示例:
RedBoot>fis lock -f 0x60000000 –l 0x2000 // 锁定起始地址为0x60000000,长度
为0x2000 的Flash 空间。
fis unlock
使用格式:fis unlock {-f flash_address} {-l length}
功能描述:解除Flash 空间的锁定,使用方式与fis lock 类似。
fis erase
使用格式:fis erase {-f flash_address} {-l length}
功能功能:擦除指定的Flash 空间。
-f flash_address:指定需要擦除Flash 空间的起始地址;
-l length:需要擦除Flash 空间的长度;
使用示例:
RedBoot>fis erase -f 0x60000000 –l 0x2000 // 擦除起始地址为0x60000000,长度
为0x2000 的Flash 空间。
fis write
使用格式:fis write {-b mem_address} {-l length} {-f flash_address}
功能描述:将数据由RAM 写入flash 中。
-b mem_address:待写数据在RAM 中的起始地址;
-l length:待写数据的长度;
-f flash_address:写入Flash 的起始地址;
使用示例:
RedBoot>fis write -b 0x00004000 –l 0x2000 –f 0x60000000 // 将RAM 中起始地址
为0x00004000,长度为0x2000 的数据写入起始地址为0x60000000 的Flash 中。
fconfig
使用格式:fconfig
功能描述:对已保存在Flash 中的配置选项进行管理和重配置。
使用示例:RedBoot>fconfig // 对Flash 中的配置选项进行管理和重配置。
go
使用格式:go [-w <timeout>] [start_address]
功能描述:执行放在某一位置的可执行代码。
-w <timeout>:执行代码前的等待时间;
start_address:可执行代码的起始地址;
使用示例:
RedBoot>go 0x00002000 // 执行位于0x00002000 的代码。
ip_address
使用格式:ip_address [-l <local_ip_address>] [-h <server_ip_address>] [-d
<DNS_server_ip_address>]
功能描述:设置或改变系统使用的IP 地址。
-l <local_ip_address>:本机的IP 地址;
-h <server_ip_address>:服务器IP 地址;
-d <DNS_server_ip_address>:DNS 服务器IP 地址;
使用示例:
RedBoot>ip_address –l 192.168.67.49 –h 192.168.67.1 // 设置本机IP 地址为:
192.168.67.49,服务器IP 地址为:192.168.67.1。
load
使用格式:load [-r] [-v] [-h <host>] [-m <varies>] [-c <channel_number>]
[-b <base_address>] <file_name>
功能描述:下载数据到目标系统RAM 中。
-r:下载未处理的数据到RAM;
-v:下载过程显示进度;
-b <base_address>:数据下载到RAM 的地址;
file_name:下载的文件名;
使用示例:
RedBoot>load –v –r –b 0x1000000 ramdisk.gz // 下载文件ramdisk.gz 到地址为
0x1000000 的RAM 中。
mcmp
使用格式:mcmp {-s location} {-d location} {-l length} [-1|-2|-4]
功能描述:比较两个存储区域的内容。
-s location:源区域起始地址;
-d location:目的区域起始地址;
-l length:需要比较数据的长度;
-1:单字节读取;
-2:双字节读取;
-4:四字节读取;
使用示例:
RedBoot>mcmp –s 0x00000000 –d 0x1000000 –l 0x20 // 比较存储器起始地址为
0x00000000 和0x1000000 的内容,共比较32 个数据。
mcopy
使用格式:mcopy {-s location} {-d location} {-l length} [-1|-2|-4]
功能描述:将数据从一个存储区域拷贝到另一个存储区域。
-s location:源区域起始地址;
-d location:目的区域起始地址;
-l length:需要拷贝数据的长度;
-1:单字节读取;
-2:双字节读取;
-4:四字节读取;
使用示例:
RedBoot>mcopy –s 0x00000000 –d 0x1000000 –l 0x20 // 将存储器起始地址为
0x00000000 的连续32 个数据拷贝到起始地址为0x1000000 位置。
mfill
使用格式:mfill {-b location} {-l length} {-p value} [-1|-2|-4]
功能描述:将给定的数值填充到指定的存储区域。
-b location:待填充存储区域的起始地址;
-l length:需要拷贝数据的长度;
-p value:填充的数值;
-1:单字节操作;
-2:双字节操作;
-4:四字节操作;
使用示例:
RedBoot>mfill –b 0x50000 –l 0x20 –p 0xaaaaaaaa // 将给定数值0xaaaaaaaa 填充
到起始地址为0x50000 位置,共填充32 个字节。
reset
使用格式:reset
功能描述:复位系统。
使用示例:RedBoot>reset // 复位系统。
ping
使用格式:ping [-v] [-n <count>] [-l <length>] [-t <timeout>] [-r <rate>]
[-i <IP_addr>] -h <IP_addr>
功能描述:该命令向指定主机发送ICMP 报文,用于检查网络连接是否正常。
-v:显示数据包信息;
-n <count>:发送数据包的数目;
-l <length>:发送报文的长度;
-t <timeout>:设置超时时间;
-r <rate>:发送数据包的时间间隔;
-i <IP_addr>:本机IP 地址;
-h <IP_addr>:远端主机IP 地址;
使用示例:
RedBoot> ping -v -n 5 -h 192.168.67.1 // 向IP 地址为:192.168.67.1 的主机发送
5 个数据包。
help
使用格式:help [<topic>]
功能描述:显示redboot 中可用命令的帮助信息。
使用示例:
RedBoot> help // 显示当前Redboot 可用命令的帮助信息。
version
使用格式:version
功能描述:显示Redboot 的当前版本信息。
使用示例:
RedBoot> version // 显示Redboot 的当前版本信息。

 

 

 

 

超级终端参数设置为:115200,8,N,1,无流控。

启动超级终端,将ICU板重新上电,按<Ctrl> + C进入RedBoot提示符状态,如下图。

 

2、常用命令

fis list

查看Flash文件系统的状态使用fis list命令,如下图。

fis delete

删除Flash文件系统中的文件使用fis delete <name>命令,注意不要删除FIS directory和RedBoot config,否则无法启动RedBoot。例如,fis delete tcc将删除程序tcc。如下图所示。

load

从PC机将程序下载到ARM板的RAM中使用load命令,例如:

在RedBoot提示符下输入load –m xmodem –c 0 –b 0x00600000 –r,然后回车,单击鼠标右键,

选择“发送文件”

选择“浏览”,找到指定的bin文件,然后单击“发送”

传输完成将显示

go

在RAM中执行程序使用go或exec命令,调试过程中一般都使用go命令,因为启动了RedBoot后,MMU功能有效,内存地址被映射成为虚拟地址(偏移量从0开始,实际物理内存地址不是从0开始)。exec是在没有MMU功能的条件下执行程序的命令。

fis create

创建Flash文件使用fis create命令,如下图所示。

fis unlock

若fis create执行不成功,可能是由于执行区域被锁定,需要先解锁,然后再创建,解锁使用fis unlock命令,如下图。

fis load

从文件系统上执行程序的方法如下:先fis load 程序,然后执行,如下图所示执行flash文件系统上的tcc程序。

help

查询RedBoot命令的简单用法可以使用help命令。

RedBoot命令详细说明参见《eCos Reference Manual》第二章。

 

你可能感兴趣的:(RedBoot 命令使用)