uboot常用命令
uboot是bootloader的一种,主要是用于引导内核启动。
uboot除此功能外,还带有很多其它功能;功能是通过命令来调用。
uboot常用命令:
help //列出当前uboot所有支持的命令
help 命令 //查看指定命令的帮助
reset //重启uboot
printenv //打印所有环境变量的值
printenv 环境变量名 //查看指定的环境变量值
常用环境变量:
bootdelay // uboot启动后,倒计时多少秒后自动执行环境变量bootcmd的语句
bootcmd // 倒计时到0后,自动执行里面的语句
bootargs // 是用于提供给内核的启动参数语句
setenv //设置/修改/删除环境变量的值
setenv 环境变量名 //删除指定的环境变量
setenv myargs "hello" //设置环境变量myargs=hello,如果环境变量没有则会创建,如果已存则会修改它的值
saveenv //保存环境变量;环境变量修改过后必须执行此命令才可以保存起来,否则重启后环境变量就恢复了
bootm //启动内核
如:bootm 0x42000000 //从内存地址0x42000000启动内核,启动前需把内核镜像uImage存放到指定的内存地址
loady //从uart线下载文件到板上内存里(loadb,loads,loadx基本一样)
loady 0x40008000 //把下载的文件从内存地址0x40008000开始存放(执行"loady 0x40008000"后,uboot就会进入等待状态,等着接收数据)
(按"Ctrl+a",松手后再按"s",选择"ymodem",在弹出的界面里,按两下空格键进入所选目录,按一下空格键选中要传的文件)
md 内存地址 //查看内存地址上的值
md.b 0x40008000 100 //从内存地址0x40008000开始,查看0x100个字节值并输出值
md.w 0x40008000 100 //从内存地址0x40008000开始,查看0x100个16位值并输出值
md.l 0x40008000 100 //从内存地址0x40008000开始,查看0x100个32位值并输出值
mw //修改内存地址上的值
mw.b 0x40008000 0xab 100 //从内存地址0x40008000开始的0x100字节空间,都设值为0xab
mw.w 0x40008000 0xabcd 100 //从内存地址0x40008000开始的0x200字节空间,每16位值设为0xabcd
mw.l 0x40008000 0xabcdef88 100 //从内存地址0x40008000开始的0x400字节空间,每32位值设为0xabcdef88
go //执行指定内存地址上的指令
如:go 0x40008000
mmc //sd或mmc接口设备(sd卡,emmc)操作命令, 按扇区操作(每扇区512字节)
mmc read addr blk cnt //从mmc设备上的第blk个扇区开始,共读出cnt个扇区到内存地址addr上
mmc write addr blk cnt //把内存地址addr上的数据写入mmc设备的第blk个扇区,共cnt个扇区大小
mmc dev //查看当前的mmc设备是第几个
mmc erase blk cnt //从mmc设备的第blk个扇区开始清零,共清除cnt个扇区大小
mmc part //列出当前mmc设备的分区信息
mmc list //列出所有的mmc设备信息
ext4ls //查看存储设备的ext2/3/4分区里的内容
ext4ls mmc 0:2 //查看第0个存储设备的第二个分区
ext4load //从ext2/3/4分区里读出文件到指定的内存地址
ext4load mmc 0:2 0x40008000 /uImage //从第0个存储设备的第2个分区的根目录读出uImage文件到内存地址0x40008000
fatls //查看存储设备的fat分区里的内容
fatls mmc 0:1 //查看第0个存储设备的第1个分区(fat分区)
fatload //从fat分区里读出文件到指定的内存地址
fatload mmc 0:1 0x40008000 /uImage //从第0个存储设备的第1个分区的根目录读出uImage文件到内存地址0x40008000
fatwrite //把内存上的数据存储到fat分区的一个文件里
fatwrite mmc 0:1 0x40008000 /my.txt 0x35 //把内存地址0x40008000开始的0x35个字节数据写入到第0个设备的第1个分区里,文件名为my.txt
run //执行指定的环境变量里的语句
run bootcmd //执行环境变量bootcmd里的语句
//如果uboot上已驱动好网络设备并环境变设好IP及PC端IP,还可以使用以下命令:
ping ip //检测网络是否通
tftpboot 0x40008000 文件名 //通过网络下载文件到内存地址0x40008000,PC端需配置好tftp服务器
nfs 0x40008000 pc端IP:/带路径的文件名 //pc端需配置好nfs服务器