指令: bootm

UBoot常用命令手册

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。

第三个参数addr是程序印象的地址,这一个顺序影象必得转换成U-Boot的格式。

第四个参数对于教导Linux内核有用,平常作为U-Boot格式的XC90英特尔ISK影象存款和储蓄地方;也得以是传递给Linux内核的参数(缺省状态下传递bootargs情状变量给基础)。

叠合表明:
供给二进制代码为制订格式的。常常为mkimage处理过的二进制文件。起动UBOOT
TOOLS制作的压缩LINUX内核, bootm 3两千00

 

2、bootp

bootp [loadAddress] [bootfilename]

bootp命令通过bootp央求,供给DHCP服务器分配IP地址,然后通过TFTP合同下载内定的公文到内部存款和储蓄器。

第三个参数是下载文件存放的内部存款和储蓄器地址。

首个参数是要下载的文件名称,那几个文件应该在支付主机上图谋好。

外加表明: 通过互连网运转,须要提前设置好硬件地址bdinfo打字与印刷ARM相关新闻

 

3、cmp

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

     – compare memory

cmp命令能够比较2块内部存款和储蓄器中的剧情。.b以字节为单位;.w以字为单位;.l以长字为单位。注意:cmp.b中间无法保存空格,须要一而再敲入命令。

第2个参数addr1是率先块内部存款和储蓄器的苗头地址。

首个参数addr2是第二块内部存款和储蓄器的序幕地址。

第4个参数count是要相比的数目,单位依据字节、字依然长字。

 

4、cp

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

       – copy memory

cp命令能够在内部存储器中复制数据块,蕴含对Flash的读写操作。

第四个参数source是要复制的数目块开始地址。

第1个参数target是数码块要复制到的地点。那些地点假若在Flash中,那么会直接调用写Flash的函数操作。所以U-Boot写Flash就利用这一个命令,当然须求先把对应Flash区域擦净。

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

 

5、crc32

crc32 address count [addr]

     – compute CRC32 checksum [save at addr]  

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

第3个参数address是需求校验的数量发轫地址。

第一个参数count是要校验的数额字节数。

第1个参数addr用来钦赐保存结果的地点。

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必需是擦除末尾块的竣事地址。这种形式最常用。比方表达:擦除0x贰仟0
– 0x3ffff区域命令为erase 三千0 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命令能够执行应用程序。

首个参数是要进行顺序的输入地址。

第二个可选参数是传递给程序的参数,能够不用。

 

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可以打字与印刷程序影象的初始音信,满含了影像内容的校验(连串号、头和校验和)。

首个参数钦赐影象的开局部址。

可选的参数是点名越多的影像地址。

 

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命令一样。

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

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

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

用法: mw 3两千000 ff 一千0(把内存0x33000000方始的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
读入内部存款和储蓄器0x3两千000处。

 

18、printenv

printenv

      – print values of all environment variables

printenv name …

      – print value of environment variable ‘name’

printenv命令打字与印刷境况变量。

能够打字与印刷全体景况变量,也能够只打字与印刷参数中列出的境况变量。

 

19、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写爱惜的操作,能够使能和扫除写爱戴。

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

第2、3参数是钦赐Flash写爱抚操作范围,跟擦除的不二诀要同样。

用法:

protect on 1:0-3(正是对第意气风发块FLASH的0-3扇区进行有限协助)

protect off 1:0-3撤回写爱慕

protect off bank 1 解除/使能 第 N 块FLASH的写爱慕

 

20、rarpboot

rarpboot [loadAddress] [bootfilename]

rarboot命令可以行使TFTP合同通过网络运维影象。也正是把钦赐的文本下载到内定地方,然后施行。

第2个参数是影象文件下载到的内部存款和储蓄器地址。

第一个参数是要下载实践的影象文件。

 

21、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

 

22、setenv

setenv name value …

      – set environment variable ‘name’ to ‘value …’

setenv name

      – delete environment variable ‘name’

setenv命令能够设置情状变量。

第四个参数是情形变量的名号。

第三个参数是要安装的值,若无第1个参数,表示删除这些情状变量。

用法:

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

 

23、Saveenv

保留环境变量

指令将日前概念的兼具的变量及其值存入flash中。用来积累变量及其值的长空唯有8k字节,应不要超越。

 

24、sleep

sleep N

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

sleep命令能够延迟N分钟实施,N为十进制数。

 

25、tftpboot

tftpboot [loadAddress] [bootfilename]

tftpboot命令能够使用TFTP左券通过互联网下载文件。依照二进制文件格式下载。另外利用那么些命令,必须配备好不非亲非故系的境况变量。举例serverip和ipaddr。

第四个参数loadAddress是下载到的内部存款和储蓄器地址。

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

 

26、ping

注:只好开垦板PING别的机器

 

27、usb

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

 

28、kgo

运转未有滑坡的linux内核

kgo 32000000

 

29、fatls

列出DOS FAT文件系统

fatls usb 0列出第意气风发块U盘中的文件

 

30、fatload

读入FAT中的一个文书

fatload usb 0:0 33000000 aa.txt 把USB中的aa.txt 读到物理内部存款和储蓄器0x3三千000处

 

Printenv 打字与印刷情形变量。

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

Setenv 设置新的变量

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

Saveenv 保存变量

指令将眼下概念的持有的变量及其值存入flash中。用来存款和储蓄变量及其值的长空唯有8k字节,应不要高出。

Loadb 通过串口Kermit左券下载二进制数据。

Tftp 由此互连网下载程序,要求先安装好互联网铺排

Uboot> setenv ethaddr 12:34:56:78:9A:BC
Uboot> setenv ipaddr 192.168.1.1
Uboot> setenv serverip 192.168.1.254     (tftp服务器的地址)
下载bin文件到地址0x两千0000处。
Uboot> tftp 三千0000
application.bin (application.bin应放在tftp服务程序的目录)

Uboot> tftp 32000000 vmlinux
把server(IP=情况变量中装置的serverip)中/tftpdroot/
下的vmlinux通过TFTP读入到大要内部存款和储蓄器3两千000处。

Md 显示内部存储器区的开始和结果。

Mm 修改内部存款和储蓄器,地址自动依次增加。

Nm 修改内部存款和储蓄器,地址不活动依次增加。

Mw 用模型填充内部存款和储蓄器

mw 3三千000 ff 一千0(把内部存款和储蓄器0x33000000上马的0x10000字节设为0xFF)

Cp 拷贝黄金年代块内部存款和储蓄器到另生意盎然块

   cp.b
30000000 一千0000 ffff ;将两千0000的多寡写入10000000,ffff为文件大小

Cmp 相比较两块内部存款和储蓄器区

这几个内部存款和储蓄器操作命令后都可加三个后缀表示操作数据的高低,比如cp.b表示按字节拷贝。

Protect 写保养操作

protect on 1:0-3(就是对第风度翩翩块FLASH的0-3扇区进行维护)
protect off 1:0-3收回写爱抚

Erase 擦除扇区。

erase: 删除FLASH的扇区
erase 1:0-2(便是对每如日方升块FLASH的0-2扇区进行删减)

对DataFlash的操作

U-Boot在带领时借使发掘NPCS0和NPCS3上连有DataFlash,就能够分配虚构的地点给它,具体为

0xC0000000—NPCS0
0xD0000000—NPCS3

run 试行设置好的台本

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

bootcmd 封存的情形变量,也是后生可畏种脚本

要是定义了该变量,在autoboot方式下,将会履行该脚本的内容。

Go 推行内存中的二进制代码,叁个简约的跳转到钦命地方

Bootm 实行内部存款和储蓄器中的二进制代码

务求二进制代码为拟定格式的。平日为mkimage管理过的二进制文件。
起动UBOOT TOOLS制作的压缩LINUX内核, bootm 3300000

Bootp 通过网络运行,要求提前安装好硬件地址。

 得到全部命令列表

help help usb, 列出USB功能的行使验证

ping 注:只可以开垦板PING其余机器

usb

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

kgo 起动未有滑坡的linux内核

kgo 32000000

fatls 列出DOS FAT文件系统

fatls usb 0列出第风姿浪漫块U盘中的文件

fatload 读入FAT中的一个文本

fatload usb 0:0 33000000 aa.txt 把USB中的aa.txt
读到物理内部存款和储蓄器0x33000000处!

flinfo 列出flash的信息

nfs

nfs 32000000 192.168.0.2:aa.txt
把192.168.0.2(LINUX 的NFS文件系统)中的NFS文件系统中的aa.txt
读入内部存款和储蓄器0x3两千000处。

bootm  用于将内核镜像加载到内部存款和储蓄器的钦定地点处

例:

bootm 0x82000000

翻看和退换情形变量指令

常用情状变量列表
bootdelay 推行机关运营(bootcmd中的命令)的等候秒数 
baudrate 串口调整台的Porter率 
bootfile 默认的下载文件名 
bootargs 传递给Linux内核的开发银行参数 
bootcmd 自动运营时施行命令 
stdin 规范输入设备, 日常是串口  
stdout 规范输出, 日常是串口,也可是LCD(VGA)
stderr   规范出错,日常是串口,也可是LCD(VGA)
serverip TFTP服务器端的IP地址 
ipaddr 本地的IP地址  
ethaddr 以太网的MAC地址 
netmask 以太网的网络掩码 

gatewayip 以太网的网关

 

指令: setenvname value
第3个参数是意况变量的称呼。  
第4个参数是要设置的值,如果未有第1个参数,表示删除那么些际遇变量
例:
setenv serverip 192.168.1.12//加多条件变量serverip 其值为 192.168.1.12
setenv serverip 192.168.1.20//在上风姿洒脱行的底蕴上把条件变量serverip
值重新赋为 192.168.1.20
setenv serverip //把 serverip 变量删除

命令: saveenv保存意况变量

指令: printenv 查看情况变量
选拔该命令归来:
bootdelay=1
baudrate=115200
bootfile=”uImage”
filesize=6600EC
fileaddr=82000000
bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2
rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),27M(rootfs)
bootcmd=sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm
0x82000000
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Jan 20 2015 – 15:46:38)
serverip=192.168.1.12
ipaddr=192.168.1.129
ethaddr=00:01:02:11:88:91
netmask=255.255.255.0
gatewayip=192.168.1.1

 

翻看和修改内部存款和储蓄器值指令

翻看内部存款和储蓄器命令 md
修改内部存款和储蓄器命令 mm
填充内部存款和储蓄器命令 mw
复制内部存款和储蓄器命令 cp
这一个命令都足以带上后缀 “.b”(字节 byte),  ”.w”(字 word),  ”.l”(4字节
long)  为单位实行操作

命令: mw填充内部存款和储蓄器命令
mw[.b,.w,.l] address value [count]
表示以[.b,.w,.l]为单位往开端地址为address的内部存款和储蓄器填充count 个值为 value
的数额
例:
mw.b 83000000 ff
一千00从地址0x83000000地方最早填充0x一千00(1M字节)个值为0xff的数额

一声令下: md查看内部存款和储蓄器命令
md[.b,.w,.l] address [count]
表示以[.b,.w,.l]为单位展现从地点address开首的内存数据,显示的数据个数为count
例:
md.b 8两千000  10显得从地址0x83000000地点伊始的0x13个字节的数据
归来音讯:
82000000: d3 2c b4 4b 2c d3 4b b4 d3 d3 b4 b4 d3 2c b4 4b  
 .,.K,.K……,.K

一声令下: mm修改内部存款和储蓄器命令
mm[.b,.w,.l] address
表示以[.b,.w,.l]为单位从地点address带头修改内部存款和储蓄器数据,推行mm命令后,输入新数据后回车,地址会自行扩展,按“CT凯雷德L

  • c”退出;
    例: 把第一个字节数据0xd3修改为0xd4
    mm.b 82000000
    返回:
    82000000: d3 ? d4
    82000001: 2c ? 

命令: cp复制内存命令
cp[.b,.w,.l] source target [count]
表示以[.b,.w,.l]为单位从源地址source的内部存款和储蓄器复制count个数据到 指标地址
target的内部存款和储蓄器中去;

下载的指令
命令: tftp通过网口下载文件到设备
tftp  address  filename 把公文filename下载到地址address
例:
下载
tftp 0x8三千000 u-boot-hi3520d.bin
把TFTP目录下名称叫u-boot-hi3520d.bin的文本拷贝到SDRAM的 83000000 地址

上传
tftp 0x8两千000 flash 3000000 把SDRAM的 8三千000 地址初阶的
0x两千000(32M)字节的拷贝到把TFTP目录下命名字为flash(flash名字是还是不是可变)

Flash操作的授命(差别的Flash差别)
指令: eraseFlash擦除命令 
erase  start  end 擦除的范围为 start – end
erase  start+len 擦除的范围为 start – (start+len-1)
erase  all 擦除具有
例:
对于SPI NOR FLASH
sf erase 0 100000 擦除flash 0 – 0x100000 的数据

一声令下: writeFlash烧写命令
write addr off size将SDRAM的 addr 地址处的 size 字节的数码烧写到 flash
的 off 偏移地址
例:
对于SPI NOR FLASH
sf write 8三千000 0 一千00 把SDRAM地址 0x83000000 处
0x一千00(1M字节)的数码烧写到 flash 的 0 偏移地址

一声令下: readFlash读取命令
read addr off size从 Flash 的 off 偏移地址处读取 size
字节的多寡到SDRAM的 addr地址
例:
对于SPI NOR FLASH
sf read 8三千000 0 两千000 从 flash 的 0 偏移地址出读取
0x3000000(32M)字节的数据到 SDRAM的 8三千000 地址

 

来源: