U-Boot命令手册

U-Boot 还提供了更加详细的命令帮助,可以通过”?” 显示支持的命令列表, 通过help [CommandName] 命令还可以查看每个命令的参数说明。

1 bootm

bootm [addr [arg ...]]

    - boot application image stored in memory

          passing arguments 'arg ...'; when booting a Linux kernel,

           'arg' can be the address of an initrd image

bootm 命令可以引导启动存储在内存中的程序映像。这些内存包括RAM 和可以永久保存的Flash 。

第1 个参数addr 是程序映像的地址,这个程序映像必须转换成U-Boot 的格式。

第2 个参数对于引导Linux 内核有用,通常作为U-Boot 格式的RAMDISK 映像存储地址;也可以是传递给Linux 内核的参数(缺省情况下传递bootargs 环境变量给内核)。

附加说明: 要求二进制代码为制定格式的。通常为mkimage 处理过的二进制文件。起动UBOOT TOOLS 制作的压缩LINUX 内核, bootm 3200000

2 bootp

bootp [loadAddress] [bootfilename]

bootp 命令通过bootp 请求,要求DHCP 服务器分配IP 地址,然后通过TFTP 协议下载指定的文件到内存。

第1 个参数是下载文件存放的内存地址。

第2 个参数是要下载的文件名称,这个文件应该在开发主机上准备好。

附加说明 : 通过网络启动,需要提前设置好硬件地址 bdinfo 打印ARM相关信息

3 cmp

cmp [.b, .w, .l] addr1 addr2 count

     - compare memory

cmp 命令可以比较2 块内存中的内容。.b 以字节为单位;.w 以字为单位;.l 以长字为单位。注意:cmp.b 中间不能保留空格,需要连续敲入命令。

第1 个参数addr1 是第一块内存的起始地址。

第2 个参数addr2 是第二块内存的起始地址。

第3 个参数count 是要比较的数目,单位按照字节、字或者长字。

4 cp

cp [.b, .w, .l] source target count

       - copy memory

cp 命令可以在内存中复制数据块,包括对Flash 的读写操作。

第1 个参数source 是要复制的数据块起始地址。

第2 个参数target 是数据块要复制到的地址。这个地址如果在Flash 中,那么会直接调用写Flash 的函数操作。所以U-Boot 写Flash 就使用这个命令,当然需要先把对应Flash 区域擦净。

第3 个参数count 是要复制的数目,根据cp.b cp.w cp.l 分别以字节、字、长字为单位。

5 crc32

crc32 address count [addr]

     - compute CRC32 checksum [save at addr]  

crc32 命令可以计算存储数据的校验和。

第1 个参数address 是需要校验的数据起始地址。

第2 个参数count 是要校验的数据字节数。

第3 个参数addr 用来指定保存结果的地址。

 

    coninfo

打印ARM相关信息

6 echo

echo [args..]

      - echo args to console; c suppresses newline

echo 命令回显参数。

用法:echo $( bootcmd)

7 erase

erase start end

      - erase FLASH from addr 'start' to addr 'end'

erase N:SF[-SL]

      - erase sectors SF-SL in FLASH bank # N

erase bank N

      - erase FLASH bank # N

erase all

      - erase all FLASH banks

erase 命令可以擦Flash 。

参数必须指定Flash 擦除的范围。

按照起始地址和结束地址,start 必须是擦除块的起始地址;end 必须是擦除末尾块的结束地址。这种方式最常用。举例说明:擦除0x20000 – 0x3ffff 区域命令为erase 20000 3ffff 。

按照组和扇区,N 表示Flash 的组号,SF 表示擦除起始扇区号,SL 表示擦除结束扇区号。另外,还可以擦除整个组,擦除组号为N 的整个Flash 组。擦除全部Flash 只要给出一个all 的参数即可。

用法:

写入数据之前必须先执行该命令

用法: erase 0xc******* +0xYYYYYYYY

说明: 擦除从0xc******* 开始的0xYYYYYYYY 字节( 字节必须块对齐)

例:

Z228 # erase 0xc4040000 +0x180000

........................ done

Erased 24 sectors

附加: erase 1:0-2( 就是对每一块FLASH 的0-2 扇区进行删除)

h. cp.b

拷贝数据,从指定源地址到目标地址,地址可以是ram ,也可以是nor flash

用法: cp.b 0x******** 0x######## 0xYYYYYYYY

说明: 拷贝源0x******** 到目标0x########, 共拷贝0xYYYYYYY 字节

例:

Z228 # cp.b 0x200000 0xc4040000 0x180000

Copy to Flash... done

8 flinfo

flinfo

       - print information for all FLASH memory banks

flinfo N

       - print information for FLASH memory bank # N

flinfo 命令打印全部Flash 组的信息,也可以只打印其中某个组。一般嵌入式系统的Flash 只有一个组。

9 go

go addr [arg ...]

      - start application at address 'addr'

         passing 'arg' as arguments

go 命令可以执行应用程序。

第1 个参数是要执行程序的入口地址。

第2 个可选参数是传递给程序的参数,可以不用。

10 iminfo

iminfo addr [addr ...]

      - print header information for application image starting at

         address 'addr' in memory; this includes verification of the

         image contents (magic number, header and payload checksums)

iminfo 可以打印程序映像的开头信息,包含了映像内容的校验(序列号、头和校验和)。

第1 个参数指定映像的起始地址。

可选的参数是指定更多的映像地址。

11 loadb

loadb [ off ] [ baud ]

     - load binary file over serial line with offset 'off' and baudrate 'baud'

dKNLinux 联盟 loadb 命令可以 通过串口 Kermit 协议下载二进制数据


12 loads

loads [ off ]

    - load S-Record file over serial line with offset 'off'

loads 命令可以通过串口线下载S-Record 格式文件。

13 mw

mw [.b, .w, .l] address value [count]

     - write memory

dKNLinux 联盟 mw 命令可以按照字节、字、长字写内存,.b .w .l 的用法与cp 命令相同。

第1 个参数address 是要写的内存地址。

第2 个参数value 是要写的值。

第3 个可选参数count 是要写单位值的数目。

用法 : mw 32000000 ff 10000( 把内存0x32000000 开始的0x10000 字节设为0xFF)

14 nm

nm [.b, .w, .l] address

     - memory modify, read and keep address

nm 命令可以修改内存,可以按照字节、字、长字操作。

参数address 是要读出并且修改的内存地址。

15 Md

显示内存区的内容。

16 Mm

读或修改内存,地址自动递增。

mm 内存地址 回车

此时进入内存查看 直接按回车 保持原内容不变,若要改变,在问号后面输入数值然后回车 按 . 此符号退出

17 nfs

nfs [loadAddress] [host ip addr:bootfilename]

nfs 命令可以使用NFS 网络协议通过网络启动映像。

用法 :

nfs 32000000 192.168.0.2:aa.txt
把192.168.0.2(LINUX 的NFS 文件系统) 中的NFS 文件系统中的aa.txt 读入内存0x32000000 处。

16 printenv

printenv

      - print values of all environment variables

printenv name ...

      - print value of environment variable 'name'

printenv 命令打印环境变量。

可以打印全部环境变量,也可以只打印参数中列出的环境变量。

18 protect

protect on start end

      - protect Flash from addr 'start' to addr 'end'

protect on N:SF[-SL]

      - protect sectors SF-SL in Flash bank # N

protect on bank N

     - protect Flash bank # N

protect on all

      - protect all Flash banks

protect off start end

       - make Flash from addr 'start' to addr 'end' writable

protect off N:SF[-SL]

     - make sectors SF-SL writable in Flash bank # N

protect off bank N

     - make Flash bank # N writable

protect off all

     - make all Flash banks writable

protect 命令是对Flash 写保护的操作,可以使能和解除写保护。

第1 个参数on 代表使能写保护;off 代表解除写保护。

第2 、3 参数是指定Flash 写保护操作范围,跟擦除的方式相同。

用法 :

protect on 1:0-3( 就是对第一块 FLASH 0-3 扇区进行保护 )

protect off 1:0-3 取消写保护

protect off bank 1 解除 / 使能 N FLASH 的写保护

19 rarpboot

rarpboot [loadAddress] [bootfilename]

rarboot 命令可以使用TFTP 协议通过网络启动映像。也就是把指定的文件下载到指定地址,然后执行。

第1 个参数是映像文件下载到的内存地址。

第2 个参数是要下载执行的映像文件。

20 run

run var [...]

      - run the commands in the environment variable(s) 'var'

run 命令可以执行环境变量中的命令,后面参数可以跟几个环境变量名。

用法 :

Uboot> setenv flashit tftp 20000000 mycode.bin/; erase 10020000 1002FFFF/;
cp.b 20000000 10020000 8000
Uboot> saveenv
Uboot> run flashit

21 setenv

setenv name value ...

      - set environment variable 'name' to 'value ...'

setenv name

      - delete environment variable 'name'

setenv 命令可以设置环境变量。

第1 个参数是环境变量的名称。

第2 个参数是要设置的值,如果没有第2 个参数,表示删除这个环境变量。

用法 :

Uboot> setenv myboard AT91RM9200DK
Uboot> printenv
baudrate=115200
ipaddr=192.168.1.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
myboard=AT91RM9200DK
Environment size: 102/8188 bytes

22 Saveenv

保存环境变量

命令将当前定义的所有的变量及其值存入flash 中。用来存储变量及其值的空间只有8k 字节,应不要超过。

23 sleep

sleep N

      - delay execution for N seconds (N is _decimal_ !!!)

sleep 命令可以延迟N 秒钟执行,N 为十进制数。

24 tftpboot

tftpboot [loadAddress] [bootfilename]

tftpboot 命令可以使用TFTP 协议通过网络下载文件。按照二进制文件格式下载。另外使用这个命令,必须配置好相关的环境变量。例如serverip 和ipaddr 。

第1 个参数loadAddress 是下载到的内存地址。

第2 个参数是要下载的文件名称,必须放在TFTP 服务器相应的目录下。

25 ping

注:只能开发板PING 别的机器

26 usb

usb start: 起动usb 功能
usb info: 列出设备
usb scan: 扫描usb storage(u 盘) 设备

27 kgo

起动没有压缩的linux 内核

kgo 32000000

27 fatls

列出DOS FAT 文件系统

fatls usb 0 列出第一块U 盘中的文件

28 fatload

读入FAT 中的一个文件

fatload usb 0:0 32000000 aa.txt 把USB 中的aa.txt 读到物理内存0x32000000 处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值