澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

uboot情状变量及常用命令,UBoot常用命令手册

2019-06-29 作者:澳门新萄京官方网站   |   浏览(106)

指令: 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。

第4个参数addr是程序印象的地方,那几个程序印象必须转变到U-Boot的格式。

第四个参数对于指点Linux内核有用,平时作为U-Boot格式的君越速龙ISK映像存储地方;也足以是传递给Linux内核的参数(缺省气象下传递bootargs情形变量给基础)。

叠合表明: 要求二进制代码为制订格式的。日常为mkimage管理过的二进制文件。起动UBOOT TOOLS制作的压缩LINUX内核, bootm 3300000

 

2、bootp

bootp [loadAddress] [bootfilename]

bootp命令通过bootp央浼,需求DHCP服务器分配IP地址,然后经过TFTP协议下载钦定的文本到内部存款和储蓄器。

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

首个参数是要下载的文件名称,这一个文件应该在支付主机上盘算好。

外加表达: 通过网络运转,须求超前设置好硬件地址bdinfo打字与印刷ARM相关消息

 

3、cmp

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

     - compare memory

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

第4个参数addr1是第一块内存的胚胎地址。

第一个参数addr2是第二块内存的开局地址。

第三个参数count是要比较的数码,单位依照字节、字可能长字。

 

4、cp

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

       - copy memory

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

第一个参数source是要复制的数码块早先地址。

第三个参数target是多少块要复制到的地点。那个地方借使在Flash中,那么会直接调用写Flash的函数操作。所以U-Boot写Flash就应用那个命令,当然供给先把对应Flash区域擦净。

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

 

5、crc32

crc32 address count [addr]

     - compute CRC32 checksum [save at addr]  

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

首个参数address是索要校验的数据起首地址。

第4个参数count是要校验的数目字节数。

第4个参数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 30000 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命令能够执行应用程序。

第4个参数是要实行顺序的输入地址。

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

 

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

第一个参数address是要写的内部存款和储蓄器地址。

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

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

用法: mw 3贰仟000 ff 10000(把内部存款和储蓄器0x3三千000开始的0x一千0字节设为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写爱抚的操作,能够使能和清除写珍爱。

第二个参数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协议通过网络运维印象。也正是把钦点的文书下载到内定地点,然后实行。

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

第1个参数是要下载施行的影象文件。

 

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是下载到的内部存款和储蓄器地址。

第3个参数是要下载的文件名称,必须放在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 3三千000 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读入到大要内部存储器33000000处。

Md 展现内存区的从头到尾的经过。

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

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

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

mw 3两千000 ff 10000(把内部存款和储蓄器0x3三千000方始的0x一千0字节设为0xFF)

uboot情状变量及常用命令,UBoot常用命令手册。Cp 拷贝一块内部存款和储蓄器到另一块

   cp.b 30000000 一千0000 ffff ;将20000000的多寡写入一千0000,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 读到物理内部存款和储蓄器0x3三千000处!

flinfo 列出flash的信息

nfs

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

U-Boot遭受变量的解说表达

U-Boot中的意况命令能够动用$(filesize)来规定刚下载(传输)获得的公文大小.

U-boot菜鸟入门

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

环 境 变 量
解 释 说 明
bootdelay
定义执行自动启动的等候秒数
baudrate
定义串口控制台的波特率
netmask
定义以太网接口的掩码
ethaddr
定义以太网接口的MAC地址
bootfile
定义缺省的下载文件
bootargs
定义传递给Linux内核的命令行参数
bootcmd
定义自动启动时执行的几条命令
serverip
定义tftp服务器端的IP地址
ipaddr
定义本地的IP地址
stdin
定义标准输入设备,一般是串口
stdout
定义标准输出设备,一般是串口
stderr
定义标准出错信息输出设备,一般是串口

因为使用类似tftp命令传输文件后,会自动更新filesize情状变量。
如:setenv updaterootfs nand write.yaffs 30000000 200000 $(filesize)
那会儿尽管printenv,会发觉updaterootfs=nand write.yaffs 两千0000 三千00 6365D0
此处的6365D0为setenv语句时碰着变量filesize的大小.
急需引起注意的是:6365D0以此值是永远的,不会随每一回传输文件后而退换。
由此假若run updaterootfs,则这里的6365D0那些值就不是大家想要的了,大家想要的是上次传输的文件大小。
没有错的做法是行使单引号:setenv updaterootfs nand write.yaffs 两千0000 两千00 '$(filesize)'
此刻printenv,则会议及展览示 updaterootfs=nand write.yaffs 三千0000 300000 $(filesize) 

一。编译U-boot

例:

 

 

二。U-boot命令详解

bootm 0x82000000

Uboot相关命令介绍
printenv 查看意况变量
setenv 增添,修改,删除情形变量
例 setenv aaa 123 //增多意况变量aaa其值为123
setenv aaa 789 //在上行变量基础上把aaa的值修改(重设)为789
setenv aaa //把aaa变量删除

U-boot常用命令

  1.声援命令

查阅和修改情况变量指令

saveenv 保存情况变量
flinfo 查看flash信息
bdinfo 查看开荒板音信
翻开和修改内部存款和储蓄器值的下令(能够查看和改换SDRAM和寄存器值)
[.b, .w, .l]表示了翻看和修改方式:bit、word、long
md 查看内部存款和储蓄器
参数 md.b [address] //按字节展现
md.w [address] //按字展现
md.l [address] //按长字展现

 

    # help

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

nm 修改内部存款和储蓄器值 (内定地址)
参数 nm.b [address] //按字节彰显
nm.w [address] //按字显示
nm.l [address] //按长字展现

1. U-Boot的常用命令的用法

    autoscr -run script from memory

gatewayip 以太网的网关

mm 内部存储器修改,地址自动递增
参数 mm.b [address] //按字节呈现
mm.w [address] //按字突显
mm.l [address] //按长字突显

进入U-Boot调节分界面后,可以运维各类指令,例如下载文件到内部存款和储蓄器,擦除、读写Flash,运维内部存款和储蓄器、NO奥德赛 Flash、NAND Flash中的程序,查看、修改、相比内部存款和储蓄器中的多寡等。

    base -print or set address offset

 

mw 用钦点的数目填充内部存款和储蓄器
参数 mw.b [address value ] //按字节呈现
mw.w [address value ] //按字突显
mw.l [address value ] //按长字呈现

应用各类指令时,能够利用其初步的好几个假名代表它。比方tftpboot命令,能够使用t、tf、tft、tftp等字母代表,只要任何命令不以这么些假名初叶就可以。

    bdinfo -print Board Info structure

指令: setenvname value
第2个参数是情状变量的名称。  
第1个参数是要设置的值,若无第3个参数,表示删除那么些情形变量
例:
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 变量删除

cp 内部存款和储蓄器的正片(包含内部存款和储蓄器与Nor Flash间的数码拷贝)
参数 cp.b [source target count] //按字节展现
cp.w [source target count] //按字展现
cp.l [source target count] //按长字呈现

当运营三个限令之后,如若它是可另行试行的(代码中使用U_BOOT_CMD定义这几个命令时,第1个参数是1),若想再也运转可以平昔输入回车。

    bootm -boot application image from memory

命令: saveenv保存处境变量

例 cp source dest len

U-Boot接受的多寡都以16进制,输入时能够轻巧前缀0x、0X。

  2.景况变量相关命令

指令: 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

protect 扇区写珍爱(对Flash 写珍贵)

上边介绍常用的通令:

   (1). 查看景况变量#printenv

 

protect on all 爱护全开
protect off all 珍爱解除

(1)帮衬命令help。

      ipaddr=192.168.0.1

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

protect on start end //start end是照起头地址和了结地址定义范围,
protect off start end //start是维护块的前奏地址;
//end 是保养末尾块的完工地址。
诸如:珍视Sector 2和Sector 3区域命令为protect 两千0 3ffff

运营help命令能够看看U-Boot中具有命令的效益,假使要查看某些命令的运用方法,运维“help 命令名”,举例“help bootm”。

      ethaddr=12:34:56:78:9A:BC

查阅内部存款和储蓄器命令 md
修改内部存款和储蓄器命令 mm
填充内部存储器命令 mw
复制内部存款和储蓄器命令 cp
那几个命令都足以带上后缀 “.b”(字节 byte),  ”.w”(字 word),  ”.l”(4字节 long)  为单位开始展览操作

protect on start size //start size是照伊始地址和操作字节数定义范围
protect off start size //start是维护块的序幕地址;
//size 是保险的字节数。
举个例子:保护Sector 2和Sector 3区域命令为protect 20000 30000

能够采用“?”来代替“help”,例如直接输入“?”、“? bootm”。

      serverip=192.168.1.5

一声令下: mw填充内存命令
mw[.b,.w,.l] address value [count]
表示以[.b,.w,.l]为单位往开端地址为address的内部存款和储蓄器填充count 个值为 value 的多寡
例:
mw.b 8两千000 ff 一千00从地址0x8两千000地方开端填充0x一千00(1M字节)个值为0xff的数码

protect on N:SF[-SL]
protect off N:SF[-SL]
//N:SF[-SL]是依照组和扇区,N 代表Flash 的Block号,
//SF 代表爱慕发轫Sector号,SL 代表珍重得了Sector号。
举个例子:爱护Block1 的Sector 2和Sector 3区域命令为protect 1:2-3

(2)下载命令。

   (2). 修改意况变量

指令: md查看内部存储器命令
md[.b,.w,.l] address [count]
表示以[.b,.w,.l]为单位出示从地点address初步的内部存款和储蓄器数据,显示的数据个数为count
例:
md.b 8两千000  10出示从地址0x83000000地点起首的0x十二个字节的数额
回来新闻:
82000000: d3 2c b4 4b 2c d3 4b b4 d3 d3 b4 b4 d3 2c b4 4b    .,.K,.K......,.K

protect on bank N //bank N是珍重全部Block,
protect off bank N //保护Block号为N 的整个Flash

U-Boot协助串口下载、互联网下载,相关命令有:loadb、loads、loadx、loady和tftpboot、nfs。

      setenv 增添、修改、删除情况变量

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

erase 擦除Flash的命令
erase all 擦除整套
erase start end //start end是照初步地址和终止地址定义范围,
//start是擦除块的起先地址;
//end 是擦除末尾块的终结地址。
比方:擦除Sector 2和Sector 3区域命令为erase 两千0 3ffff

前多少个串口下载命令使用方法一般,以loadx命令为例,它的用法为“loadx [
off ] [ baud
]”。中括号“[]”表示个中的参数能够大约,off代表文件下载后存放的内部存款和储蓄器地址,baud表示使用的Porter率。假若baud参数省略,则应用当前的Porter
率;假若off参数省略,存放的地址为布局文件中定义的宏CFG_LOAD_ADDR。

      **setenv name value ...

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

erase start size //start size是照初步地址和操作字节数定义范围
//start是擦除块的胚胎地址;
//size 是擦除的字节数。
比方说:擦除Sector 2和Sector 3区域命令为erase 两千0 三千0

tftpboot命令使用TFTP协议从服务器下载文件,服务器的IP地址为意况变量
serverip。用法为“tftpboot [loadAddress]
[澳门新萄京官方网站,bootfilename]”,loadAddress表示文件下载后存放的内部存款和储蓄器地址,bootfilename表示要下载的文件的名称。若是
loadAddress省略,存放的地方为布局文件中定义的宏CFG_LOAD_ADDSportage;如若bootfilename省略,则选拔单板的IP地址构造
三个文件名,譬喻单板IP为192.168.1.17,则缺省的文本名称为C0A80711.img。

        -add/modify environment variable 'name' to 'value‘

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

erase N:SF[-SL]
//N:SF[-SL]是遵照组和扇区,N 代表Flash 的Block号,
//SF 表示擦除起头Sector号,SL 表示擦除甘休Sector号。
比如:爱戴Block1 的Sector 2和Sector 3区域命令为erase 1:2-3

nfs命令使用NFS协议下载文件,用法为“nfs [loadAddress]
[host ip
addr:bootfilename]”。loadAddress、bootfilename的意思与tftpboot命令同样,host ip
addr表示服务器的IP地址,默感到条件变量serverip。

      **setenv name

下载的吩咐
一声令下: tftp通过网口下载文件到器具
tftp  address  filename 把公文filename下载到地址address
例:
下载
tftp 0x8三千000 u-boot-hi3520d.bin 把TFTP目录下名叫u-boot-hi3520d.bin的文件拷贝到SDRAM的 8两千000 地址

erase bank N //bank N是擦除整套Block,
//擦除Block号为N 的整个Flash

下载文件成功后,U-Boot会自动创制或更新蒙受变量filesize,它表示下载的文件的尺寸,可以在三回九转命令中央银行使“$(filesize)”来援引它。

        -deleteenvironment variable 'name'

上传
tftp 0x8三千000 flash 三千000 把SDRAM的 8两千000 地址开端的 0x两千000(32M)字节的拷贝到把TFTP目录下命名称叫flash(flash名字是或不是可变)

从Nand flash中读数据
Nand read dest(sdram) src(Flash) size

(3)内部存款和储蓄器操作命令。

      #setenv myboard 210

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 的数据

对Nand flash擦除数据
Nand erase start size

常用的吩咐有:查看内部存款和储蓄器命令md、修改内部存款和储蓄器命令md、填充内部存款和储蓄器命令mw、拷贝命令cp。那么些
命令都足以带上后缀“.b”、“.w”或“.l”,表示以字节、字(2个字节)、双字(4个字节)为单位开始展览操作。比方“cp.l 贰仟0000
3一千000 2”将从上马地址0x两千0000处,拷贝2个双字到开端地址为0x3一千000的地点。

      #printenv

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

向Nand flash中写多少
Nand write src(sdram) dest size

md命令用法为“md[.b, .w, .l] address [count]”,表示以字节、字或双字(默以为双字)为单位,展现从地点address初阶的内部存款和储蓄器数据,彰显的数目个数为count。

      serverip=192.168.1.5

命令: readFlash读取命令
read addr off size从 Flash 的 off 偏移地址处读取 size 字节的数据到SDRAM的 addr地址
例:
对于SPI NOR FLASH
sf read 8三千000 0 3000000 从 flash 的 0 偏移地址出读取 0x三千000(32M)字节的数额到 SDRAM的 83000000 地址

 

mm命令用法为“mm[.b, .w, .l] address”,表示以字节、字或双字(默以为双字)为单位,从地点address开头修改内部存款和储蓄器数据。施行mm命令后,输入新数据后回车,地址会自行扩张,Ctrl C退出。

      myboard=210

 

原稿链接:

mw命令用法为“mw[.b, .w, .l] address value [count]”,表示以字节、字或双字(默感到双字)为单位,往开首地址为address的内部存款和储蓄器中填充count个数据,数据值为value。

   (3). 保存情状变量#saveenv

来源:

cp命令用法为“cp[.b, .w, .l] source target count”,表示以字节、字或双字(默感到双字)为单位,从源地址source的内部存款和储蓄器拷贝count个数据到目标地址的内部存款和储蓄器。

      将眼下概念所以变量及其值存到flash中 

 

(4)NO劲客 Flash操作命令。

  3.顺序下载命令

常用的一声令下有翻动Flash音信的flinfo命令、加/解写珍视命令protect、擦除
命令erase。由于NO冠道 Flash的接口与一般内部存款和储蓄器相似,所以有的内部存款和储蓄器命令能够在NO安德拉 Flash上运用,比方读NO奥迪Q5
Flash时能够行使md、cp命令,写NOMurano Flash时能够动用cp命令(cp总局点分辨出是NO牧马人 Flash,从而调用NO索罗德
Flash驱动实现写操作)。

   (1). tftp网络下载

直接运维“flinfo”就能够看出NOEscort Flash的新闻,有NORAV4 Flash的型号、体量、各扇区的早先地址、是不是只读等消息。举例对于本书基于的开拓板,flinfo命令的结果如下:

      注意:使用tftp,须要先配备好网络

Bank # 1: AMD: 1x Amd29LV800BB (8Mbit)

      #setenv ethaddr 12:34:56:78:9A:BC

Size: 1 MB in 19 Sectors

      #setenv ipaddr 192.168.0.3

Sector Start Addresses:

      #setenv serverip 192.168.0.2(tftp服务器的地址)

00000000 (RO) 00004000 (RO) 00006000 (RO) 00008000 (RO) 00010000 (RO)

      #ping 192.168.0.2(tftp服务器的地点)

00020000 (RO) 00030000 00040000 00050000 00060000

      范例:

00070000 00080000 00090000 000A0000 000B0000

      #tftp 0x31000000 uImage

000C0000 000D0000 000E0000 000F0000 (RO)

      把tftp服务器上的uImage下载到0x3一千000处。

当中的RO表示该扇区处于写珍视景况,只读。

   (2). USB下载

对此只读的扇区,在擦除、烧写它从前,要先去掉写珍爱。最简便的吩咐为“protect off all”,解除全体NO翼虎 Flash的写爱护。

   (3). 串口下载

erase命令常用的格式为“erase start
end”──擦除的地址范围为start至end、“erase start  len”──擦除的地点范围为start至(start   len
– 1),“erase all”──表示擦除具有NOLacrosse Flash。

  4.内部存款和储蓄器操作命令

只顾:在那之中的地点范围,刚好是叁个扇区的开端地址到另一个(或同贰个)扇区的终止地址。举个例子要擦除Amd29LV800BB的前5个扇区,施行的吩咐为“erase 0 0x2ffff”,而非“erase 0 0x两千0”。

    (1). md 地址

(5)NAND Flash操作命令。

    (2). md.d 地址

NAND Flash操作命令唯有一个:nand,它根据不相同的参数进行分裂操作,比方擦除、读取、烧写等。

    (3). mm  修改内部存款和储蓄器的值

“nand info”查看NAND Flash信息。

  5.Flash操作命令

“nand erase [clean] [off size]”擦除NAND
Flash。加上“clean”时,表示在种种块的首先个扇区的OOB区加写入清除标志;off、size代表要擦除的开端挥舞地址和长短,要是轻松
off和size,表示要擦除整套NAND Flash。

    (1).nand erase  早先地址start长度len擦除start处早先的,长度为len的区域

“nand read[.jffs2] addr off size”从NAND Flash偏移地址off处读出size个字节的数据,存放到开端地址为addr的内部存款和储蓄器中。是还是不是加后缀“.jffs”的差异只是读操作时的ECC较验方法区别。

      范例:

“nand write[.jffs2] addr off size”把起头地址为addr的内存中的size个字节数据,写到NAND Flash的偏移地址off处。是还是不是加后缀“.jffs”的异样只是写操作时的ECC较验方法分歧。

        #nand erase 0x400000 0x500000

“nand read.yaffs addr off size”从NAND Flash偏移地址off处读出size个字节的数据(包蕴OOB区域),存放到开首地址为addr的内部存款和储蓄器中。

    (2).nand write  内部存款和储蓄器发轫地址flash起首地址长度len将内部存储器起首地址处,长度为len的多寡,写入flash初始地址处。

“nand write.yaffs addr off size”把发轫地址为addr的内部存款和储蓄器中的size个字节数据(个中有要写入OOB区域的数额),写到NAND Flash的摇晃地址off处。

      范例:

“nand dump off”,将NAND Flash偏移地址off的一个扇区的数目打字与印刷出来,包含OOB数据。

        #nand write 31000000 400000 500000

(6)情形变量命令。

    (3).nand read 内部存款和储蓄器伊始地址flash开头地址长度len将flash起首地址处,长度为len的数目,读到内存开头地址处。

“printenv”命令打印全体情况变量,“printenv name1 name2 ...”打字与印刷名为name1、name2、……”的情况变量。

      范例:

“setenv name value”设置名叫name的情状变量的值为value。

        #nand read 31000000 400000 500000

“setenv name”删除名称为name的情状变量。

  6.程序施行命令

地点的设置、删除操作只是在内部存款和储蓄器中实行,“saveenv”将退换后的保有意况变量写入NO景逸SUV Flash中。

    #bootm 0x31000000

(7)运行命令。

  7.设置自动运行

不带参数的“boot”、“bootm”命令都是实行情形变量bootcmd所钦赐的一声令下。

    (1).设置从nand flash自动运行

“bootm [addr [arg
...]]”命令运转存放在地点addr处的U-Boot格式的影像文件(使用U-Boot目录tools下的mkimage工具创制获得),[arg
...]代表参数。假如addr参数省略,影象文件所在地方为布局文件中定义的宏CFG_LOAD_ADDR。

      #setenv bootcmdnand read 31000000 400000 500000 ; bootm 31000000

“go addr [arg ...]”与bootm命令类似,运转存放在地方addr处的二进制文件, [arg ...]意味着参数。

    (2).设置自动下载内核到内部存款和储蓄器后运维

“nboot [[[loadAddr] dev] offset]”命令将NAND
Flash设备dev上偏移地址off处的影像文件复制到内部存款和储蓄器loadAddr处,然后,假若条件变量autostart的值为“yes”,就开动那一个映
像。如若loadAddr参数省略,存放地方为布局文件中定义的宏CFG_LOAD_ADDENCORE;假设dev参数省略,则它的取值为境况变量
bootdevice的值;假如offset参数省略,则默以为0。

      #setenv bootcmdtftp 31000000 uImage ; bootm 31000000

2. U-Boot限令使用实例

上边通过多少个事例来演示怎样行使种种吩咐烧写内核印象文件、yaffs影象文件,并运营系统。

(1)制作内核影像文件。

对于本书使用的Linux 2.6.22.6版本,编译内核时能够直接生成U-Boot格式的映像文件uImage。

对于不可能一贯生成uImage的根本,制作方法在U-Boot根目录下的README文件中
有表明,借使已经编译好的基石文件为vmlinux,它是ELF格式的。mkimage是U-Boot目录tools下的工具,它在编写翻译U-Boot时自
动生成。施行以下3个指令将根本文件vmlinux制作为U-Boot格式的影像文件uImage,它们首先将vmlinux调换为二进制格式,然后压
缩,最后构造尾部新闻(里面包蕴有文件名称、大小、类型、CRC较验码等):

① arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin

② gzip -9 linux.bin

③ mkimage -A arm -O linux -T kernel -C gzip -a 0x30008000 -e 0x30008000 -n "Linux Kernel Image" -d linux.bin.gz uImage

(2)烧写内核印象文件uImage。

首先将uImage放在主机上的tftp或nfs目录下,确认保证已经拉开tftp或nfs服务。

接下来运转如下命令下载文件,擦除、烧写NAND Flash:

① tftp 0x30000000 uImage 或 nfs 0x30000000 192.168.1.57:/work/nfs_root/uImage

② nand erase 0x0 0x00200000

③ nand write.jffs2 0x30000000 0x0 $(filesize)

第3条命令之所以选用“nand write.jffs2”而不是“nand
write”,是因为前端不要求文件的长度是页对齐的(512字节对齐)。也得以利用“nand
write”,不过要求将下令中的长度参数改为$(filesize)向上拓展512取整后的值。例如uImage的分寸为1540883,向上拓展
512取整后为1541120(即0x178400),能够采取命令“nand write 0x两千0000 0x0
0x178400”实行烧写。

(3)烧写yaffs文件系统印象。

即便yaffs文件系统影像的文件名叫yaffs.img,首先将它座落主机上的tftp或nfs目录下,确定保证已经开启tftp或nfs服务;然后实践如下命令下载、擦除、烧写:

① tftp 0x30000000 yaffs.img 或 nfs 0x30000000 192.168.1.57:/work/nfs_root/yaffs.img

② nand erase 0xA00000 0x3600000

③ nand write.yaffs 0x30000000 0xA00000 $(filesize)

那时,重启系统,在U-Boot尾数3秒以往,就能够自行运转Linux系统。

(4)烧写jffs2文件系统影象。

尽管jffs2文件系统影象的文书名称叫jffs2.img,首先将它身处主机上的tftp或nfs目录下,确定保证已经张开tftp或nfs服务;然后试行如下命令下载、擦除、烧写:

① tftp 0x30000000 jffs2.img 或 nfs 0x30000000 192.168.1.57:/work/nfs_root/jffs2.img

② nand erase 0x200000 0x800000

③ nand write.jffs2 0x30000000 0x200000 $(filesize)

系统运转后,就足以选取“mount -t jffs2 /dev/mtdblock1 /mnt”挂接jffs2文件系统。

本文由澳门新萄京官方网站发布于澳门新萄京官方网站,转载请注明出处:uboot情状变量及常用命令,UBoot常用命令手册

关键词: