使用须知:
- “[.b, .w, .l]”里面的字母分别代表:Byte、Word、Long;
- u-boot里面的数值均为16进制;
- 不同版本的u-boot命令支持与格式可能会有所差别,尤其是flash的操作。
1、帮助信息
命令 | 功能 |
---|
help 或 ? | 查看当前u-boot所支持的命令,若后面接着命令则查看该命令 |
help cmd 或 ? cmd | 查看命令cmd的使用方法 |
2、信息查询
命令 | 功能 |
---|
version | 查看u-boot版本信息 |
bdinfo | 查看板子信息 |
3、查看/设置环境变量
命令 | 功能 |
---|
print 或 printenv | 查看所有环境变量 |
print env或 printenv env | 查看环境变量env |
setenv env val | 设置环境变量env的值为val,若没有该环境变量则自动新建 (部分版本也可以使用set) |
setenv env | 删除环境变量env |
saveenv | 保存环境变量到flash中 (部分版本也可以使用save) |
4、网络命令
命令 | 功能 |
---|
ping ipaddr | ping测试,其他机器ping u-boot会没反应 |
dhcp | 动态获取IP地址 |
tftp addr filename | tftp下载名为filename的文件到内存地址addr |
nfs addr hostip:/dir/filename | nfs从hostip下载具体文件/dir/filename到内存地址addr (filename所在路径需要在nfs服务器配置文件中) |
5、内存操作命令
命令 | 功能 |
---|
md[.b, .w, .l] addr count | 从内存地址addr开始读取count个数据 |
mw[.b, .w, .l] addr val count | 从内存地址addr开始填充count个数据为val |
nm[.b, .w, .l] addr | 修改内存addr的值,会先提示当前值,输入值后回车即可,q退出修改 |
mm[.b, .w, .l] addr | 同样是修改内存,但mm命令的内存地址addr会自动递增 |
cp[.b, .w, .l] source target count | 从源地址source拷贝内容到目的地址target,数量为count个 |
cmp[.b, .w, .l] addr1 addr2 count | 对比addr1和addr2两个地址共count个单位[.b, .w, .l]的内容 |
6、nand flash操作命令
命令 | 功能 |
---|
nand info | 查看Nand Flash信息 |
nand erase[.spread] [clean] offset size | 从指定地址offset开始擦除大小size个地址 |
nand erase.part [clean] partname | 以分区名为单位擦除 (部分版本不需要带.part后缀) |
nand erase.part [clean] | 擦除整个nand flash |
nand write addr offset size | 将内存地址addr开始写入到nand指定地址offset,大小为size |
nand write addr partname | 将内存地址addr开始写入到nand指定分区 |
nand write.jffs2 addr offset size | 写入jffs2格式的根文件系统 |
nand write.yaffs addr offset size | 写入yaffs格式的根文件系统 |
nand read addr offset size | 读取nand指定地址offset内容到内存地址addr,大小为size |
nand read addr partname | 以分区形式读取nand的内容到内存地址addr |
7、emmc/SD卡操作命令
命令 | 功能 |
---|
mmc rescan | 扫描当前板上所有MMC设备 |
mmc list | 列出当前板上所有MMC设备 |
mmc dev [dev] [part] | 切换当前MMC设备,不写part分区号则默认为0 |
mmc info 或 mmcinfo | 查看当前使用中的MMC设备信息 |
mmc part | 查看分区情况 |
mmc read addr blk count | 读取MMC的起始blk块(1块=512字节)到内存地址addr处,count为块的个数 |
mmc write addr blk count | 将内存地址addr开始写入起始blk块,count为块的个数 (注意:MMC设备前2个blk保存分区信息,千万不要写入; 另外烧写emmc设备需要额外执行“mmc partconf 1 1 0 0”进行配置。) |
mmc erase blk count | 擦除MMC设备指定起始块blk,count为块的个数 |
8、FAT/EXT格式文件系统操作命令
两者针对的文件系统类型不同,但是命令使用方式一样,这里仅列出fat的操作命令,与之相应的ext2/ex4命令为:ext2ls/ext4ls、ext2load/ext4load、ext2write/ext4write等。
命令 | 功能 |
---|
fstype <interface> <dev>:<part> | 查看文件系统格式,如“fstype mmc 1:1” |
fatinfo <interface> [<dev[:part]>] | 查询指定MMC设备的指定分区的文件系统信息 |
fatls <interface> [<dev[:part]>] [dir] | 列出指定MMC设备指定分区的所有目录和文件 |
fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] | 读取指定文件到内存中;bytes表示要读取的字节数,0或省略表示整个文件,pos为相对于文件首地址的偏移,0或省略表示首地址 |
fatwrite <interface> <dev[:part]> <addr> <filename> <bytes> | 将内存地址addr处开始写入到文件filename中,bytes为写入字节数 (注意:该命令正常使用的前提是uboot源码定义了CONFIG_FAT_WRITE) |
9、fdt相关命令
使用该命令前提是先将设备树文件读取到内存中。
命令 | 功能 |
---|
fdt addr [addr] | 设置fdt的地址addr |
fdt header | 查看设备树的头信息 |
fdt print | 查看设备树内容 |
10、boot启动命令
命令 | 功能 |
---|
bootz [kerneladdr [initrdaddr[:size]] [fdtaddr]] | 启动zImage镜像,若不使用initrd则使用“-”代替 |
bootm [kerneladdr [initrdaddr[:size]] [fdtaddr]] | 启动uImage镜像,若不使用fdt设备树则bootm kerneladdr即可 |
boot | 读取环境变量“bootcmd”来启动 |
11、其他命令
命令 | 功能 |
---|
reset | 软件复位重启 |
go addr [arg…] | 跳到内存地址addr去执行bin程序 |
run env | 运行指定环境变量env |
mtest [start [end [pattern [iterations]]]] | 内存测试 |