uboot是bootloader的一种,主要是用于引导内核启动.
uboot除此功能外, 还带有很多其它功能. 功能是通过命令来调用.
uboot的命令: help //列出当前uboot所有支持的命令 help 命令 //查看指定命令的帮助 reset //重启uboot bootm //用于启动内核 用法: bootm 0x42000000 //从内存地址0x42000000启动内核, 启动前需把内核镜像uImage存放到指定的内存地址 printenv //打印所有环境变量的值 printenv 环境变量名 //查看指定的环境变量值 常用环境变量: bootdelay // uboot启动后, 倒计时多少秒后自动执行环境变量bootcmd的语句 bootcmd // 倒计时到0后,自动执行里面的语句 bootargs // 是用于提供给内核的启动参数语句 setenv //设置/修改/删除环境变量的值 用法: setenv 环境变量名 //删除指定的环境变量 setenv myargs "hello" //设置环境变量myargs=hello, 如果环境变量没有会创建出来,如果已存则会修改它的值 saveenv //保存环境变量,环境变量修改过后必须执行此命令才可以保存起来,否则重启后环境变量就恢复了. loady //用于从uart线下载文件到板上内存里(loadb, loads, loadx基本一样) 用法: loady 0x40008000 //把下载的文件从内存地址0x40008000开始存放 执行"loady 0x40008000"后, uboot就会进入等待状态,等着接收数据 minicom具有通过uart传输文件的功能. 按"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,还可以使用以下命令: tftpboot 0x40008000 文件名 // 通过网络下载文件到内存地址0x40008000, PC端需配置好tftp服务器 nfs 0x40008000 pc端IP:/带路径的文件名 //pc端需配置好nfs服务器 ping ip //检测网络是否通