转载 uboot 命令

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用来指定保存结果的地址。

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处。

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写保护的操作,可以使能和解除写保护。

第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的写保护

20、rarpboot

rarpboot [loadAddress] [bootfilename]

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

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

第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个参数是环境变量的名称。

第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

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。

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

第2个参数是要下载的文件名称,必须放在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 32000000 aa.txt 把USB中的aa.txt 读到物理内存0x32000000处!

转载 uboot 命令

时间: 2024-10-11 13:39:03

转载 uboot 命令的相关文章

uboot命令(1):mmc命令

版权声明 更新:2017-06-07博主:LuckyAlan联系:[email protected]声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 今天在进行Android分区修改的时候发现擦除后无法进入kernel,查了一下是因为bootargs_Hi3798MV200-emmc.txt文件中的bootcmd没有修改.这个参数与内核启动有关,需要用到mmc命令,因此多mmc相关的命令做一个学习总结. 2 开发平台 软件平台:Android系统.硬件平台:hisi3798MV200 3 阅

嵌入式linux开发uboot移植(五)——uboot命令体系

嵌入式linux开发uboot移植(五)--uboot命令体系 本文将根据SMDKV210开发板的三星官方uboot源码分析uboot的命令体系.内容 包括uboot的命令体系的实现机制,uboot命令是如何执行的,以及如何在uboot中添加一个自定义的命令. 一.uboot命令体系简介 uboot命令体系代码放在uboot/common中,包括cmd_xxx.c.command.c .main.c源码文件.uboot实现命令体系的方法是每一个uboot命令对应一个函数,与shell的实现是一致

uboot 命令总结

uboot中实现了很多的命令,这些命令很多是非常实用的   这里就总结一下 第一项:当然是help 命令 u-boot-1.2.0的help命令能打印出啥来: [arm79-uboot-1.2.0]# help ? - alias for 'help' autoscr - run script from memory base - print or set address offset bdinfo - print Board Info structure boot - boot default

uboot 命令

Printenv 打印环境变量. Uboot> printenvbaudrate=115200ipaddr=192.168.1.1ethaddr=12:34:56:78:9A:BCserverip=192.168.1.5Environment size: 80/8188 bytes Setenv 设置新的变量 Uboot> setenv myboard AT91RM9200DKUboot> printenvbaudrate=115200ipaddr=192.168.1.1ethaddr=

uboot移植之uboot命令体系解析

1:回归到main_loop uboot启动第二阶段的最后,进入死循环main_loop()函数,命令行中没输出一次命令,就会执行一次main_loop函数,完成一次命令的获取.解析和执行. 2:uboot命令体系的实现原理 uboot中里面维护了很多命令,每个命令对应一个结构体变量,当我们在命令行输入一个命令时.这时就涉及如何去维护这些命令的问题,一般的方法有两种,数组或者链表,但是数组的缺陷在开始的时候需要确定数组的大小,链表的话效率比较低,所以uboot使用了另一种方式.uboot中一个命

u-boot命令体系

u-boot命令体系 u-bootcommand u-boot命令体系 一.从main_loop开始 ??每一次执行main_loop就是完成cmd读取.解析.执行的一次过程. run_command分析 cmd_tbl_s结构体 ??该结构体存储待执行的指令,包含参数数量限制,是否可重复,实现功能的函数的指针,usgae和相应help. struct cmd_tbl_s { char *name; /* Command Name */ int maxargs; /* maximum numbe

u-boot命令行调试LCD简单记录

一般来说,调试uboot最好的方式是使用openjtag,因为uboot说到底就是一段裸机程序,只不过比较复杂.但是受实际环境限制,实际工作中使用较多的调试技巧主要有两种:打印和直接在命令行测试,打印比较常见也比较简单,直接使用printf即可,这里就以最近这段时间调试uboot下面lcd为例,简单说说命令行调试. 平台: am335x,u-boot 2010.09,linux 3.10 问题: 由于此版本u-boot比较旧,没有整套framebuffer子系统框架,所以采取的是移植好官方裸机驱

uboot命令实现举例

之前一直在想,为什么没有人出一个完全从零写uboot和移植剪裁内核的教程,后来发现,确实这样的教程十分不容易,还有就是我们也没有必要花那么多时间去做别人已经做好的事情,所以,一般而言我们只用管怎么实现功能.(把更多的时间给音频.视频.图像类等的算法去更加符合经济效益). 我们知道uboot的菜单中是支持很多指令的,我们今天就来增加一条hello指令.分析uboot知道,我们指令依托于一个 run_command函数,而且支持分号,比如 print:ls就会先执行print然后接着执行ls指令.其

[转载]VIM命令合集

Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ..