使用须知:
- “[.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 info 或 mmcinfo |
查看当前使用中的MMC设备信息 |
mmc rescan |
扫描当前板上所有MMC设备 |
mmc list |
列出当前板上所有MMC设备 |
mmc dev [dev] [part] |
切换当前MMC设备,不写part分区号则默认为0 |
mmc part |
查看分区情况 |
mmc read addr blk count |
读取MMC的起始blk块(1块=512字节)到内存地址addr处,count为块的个数 |
mmc write addr blk count |
将内存地址addr开始写入起始blk块,count为块的个数 (注意:MMC设备前2个blk保存分区信息,千万不要写入) |
mmc erase blk count |
擦除MMC设备指定起始块blk,count为块的个数 |
8、fdt相关命令
使用该命令前提是先将设备树文件读取到内存中。
命令 |
功能 |
fdt addr [addr] |
设置fdt的地址addr |
fdt header |
查看设备树的头信息 |
fdt print |
查看设备树内容 |
9、FAT/EXT格式文件系统操作命令
两者针对的文件系统类型不同,但是命令使用方式一样,这里仅列出fat的操作命令,与之相应的ext2/ex4命令为:ext2ls、ext2load、ext2write、ext4ls、ext4load、ext4write等。
命令 |
功能 |
fatinfo <interface> [<dev[:part]>] |
查询指定MMC设备的指定分区的文件系统信息 |
fstype <interface> <dev>:<part> |
查看文件系统格式 |
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) |
fatls <interface> [<dev[:part]>] [dir] |
列出指定MMC设备指定分区的所有目录和文件 |
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]]]] |
内存测试 |