02 uboot的常用命令及用法

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  //检测网络是否通

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值