Uboot常用命令使用

Posted cqlismy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uboot常用命令使用相关的知识,希望对你有一定的参考价值。

1、前言

Uboot启动后,会进入到一个倒计时,在倒计时结束之前,如果此时我们按下键盘的回车键,将进入到uboot的命令行模式,有点类似Linux系统终端模式,如果没有按下回车键的话,将直接启动Linux内核,本篇文章将介绍uboot中的一些常用命令,熟悉这些命令后,以后在适配调试uboot的时候会得心应手。

如下所示,倒计时的时候按下回车键后,进入到uboot的命令行模式:

技术图片

在行的前面多了"=>"字符串,说明此时已经进入uboot的命令行模式了,接下来就可以进行一些命令输入。

 

2、查看uboot支持的命令

在使用uboot命令之前,我们先来看看当前的uboot版本所支持的命令有哪些,可以在当前的命令函数输入:

=> help
or
=> ?

该命令用于查看当前uboot版本所支持的所有命令,输入后按回车即可,在我当前使用的uboot版本中所支持的命令如下:

?       - alias for help
base    - print or set address offset
bdinfo  - print Board Info structure
bmode   - sd1|sd2|qspi1|normal|usb|sata|ecspi1:0|ecspi1:1|ecspi1:2|ecspi1:3|esdhc1|esdhc2|esdhc3|esdhc4 [noreset]
bmp     - manipulate BMP image data
boot    - boot default, i.e., run bootcmd
bootd   - boot default, i.e., run bootcmd
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
clocks  - display clocks
clrlogo - fill the boot logo area with black
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
erase   - erase FLASH memory
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4size- determine a files size
ext4write- create a file in the root directory
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a files size
fdt     - flattened device tree utility commands
flinfo  - print FLASH memory information
fstype  - Look up a filesystem type
fuse    - Fuse sub-system
go      - start application at address addr
gpio    - query and control gpio pins
help    - print command description/usage
i2c     - I2C sub-system
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
load    - load binary file from a filesystem
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls      - list files in a directory (default /)
md      - memory display
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
pmic    - PMIC
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
save    - save file to a filesystem
saveenv - save environment variables to persistent storage
setenv  - set environment variables
setexpr - set environment variable as the result of eval expression
showvar - print local hushshell variables
size    - determine a files size
sleep   - delay execution for some time
source  - run script from memory
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version

对于上面的命令列表中的命令,并不是所有都能运行的,如果该命令并没有在板级文件中使能配置的话,哪么直接在命令行中输入后按回车键,将会直接提示运行不了,也就是说上面列出的命令,并没有全部都使能了。

上面列出的命令,后面都描述了命令的功能,例如,最后一个version命令,它的功能就是用来输出uboot编译和链接的相关版本信息,除此之外,如果我们想查看某个命令的详细用法的话,可以输入:

=> help command_name
or
=> ? command_name

例如,我们查看bootz命令的用法,输入如下,然后回车:

=> help bootz
or
=> ? bootz

回车后,输出如下:

技术图片

从输出的结果可以看到,bootz命令的用法被详细的列出来了,该命令就是用来在内存中启动Linux内核的,对于其它命令的详细用法,我们也可以使用这个方式进行命令的详细使用方式进行查询,接下来,我们了解一些常用的uboot命令用法。

 

3、信息查询相关命令

在uboot的命令中,常用的信息查询命令主要有3个,分别是bdinfo、printenv和version命令。

首先是bdinfo命令,该命令用来查询当前板子的相关信息,在命令行模式下,直接输入bdinfo,然后回车即可,输出如下:

技术图片

如上所示,通过该命令可以查看板子的DRAM的大小以及DRAM的起始地址、当前使用的网络接口以及IP地址、波特率和uboot偏移地址以及偏移量等相关信息。

接下来是printenv命令,该命令用于查询当前板子的一些相关环境变量,同样,在命令行模式下输入printenv并回车,输出如下:

技术图片

从上图可以看到,命令输入后,将会输出一堆的环境变量,例如:当前串口的波特率baudrate、启动参数bootargs以及启动命令bootcmd等,这些环境变量都是字符串,能对其进行修改。

最后则是version命令,该命令用于查询uboot版本和交叉编译工具的相关信息,在命令模式下输入version后并回车,输出如下:

技术图片

从输出的信息可以看到,当前的uboot版本号为2016.03,后面接的是编译时间,交叉编译工具链为arm-linux-gnueabihf-gcc,版本号为4.9.4。

 

4、环境变量相关命令

 

5、内存操作相关命令

以上是关于Uboot常用命令使用的主要内容,如果未能解决你的问题,请参考以下文章

Uboot常用命令使用

[架构之路-26]:目标系统 - 系统软件 - bootloader uboot使用方法常用命令

uboot常用命令

uboot使用命令整理(2016.03)

uboot的常用命令及用法

UBoot常用命令手册