uboot基本命令详解

来源:互联网 发布:2016年最红的网络歌曲 编辑:程序博客网 时间:2024/05/18 01:52

1.help:在线帮助命令,即打印出uboot的所有命令。

2.环境变量类的命令:

  • printenv:查看环境变量(缩写:print)。

  • print+环境变量名:答应某一个环境变量。

这里写图片描述

  • setenv name value … :添加或者修改环境变量。

  • setenv name:删除环境变量。

  • saveenv :保存环境变量,即将当前定义的所有环境变量及其值存入flash中。

3.文件下载

  • tftp通过网络下载文件(虚拟机linux与开发板)
    setenv ipaddr 192.168.1.100 (设置开发板的ip与linux同一网段)
    setenv serverip 192.168.1.138 (设置linux 的ip)
    saveenv (保存已经设置的环境变量)
    ping 192.168.1.138 (检查链路是否畅通,注意是开发板ping主机)

实例:tftp 0x31000000 uImage (下载文件)

  • 注意事项:为何首次开发板ping不通?
    开发板要想ping通linux,首先开发板必须ping通windows(这需要关闭windows的防火墙,设置本地连接与开发板ip在同一个网段),其次windows要ping通linux(这需要关闭linux的防火墙,Windows的ip要与linux的ip在同一网段)。

4.执行程序(执行固定格式的二进制文件,即二进制文件不许含有文 件头。文件头即包含文件的信息,例如os信息,是否压缩,压缩格式)

bootm {addr} {arg} (后两个参数是要执行文件的地址和参数)

例:bootm 0x31000000

5.内存相关命令

  • 查看内存内容
    md 显示内存区的内容。
    md采用十六进制和ASCII码两种形式来显示存储单元的内容。这条命令还可以采用长度标识符 .l (以长字为单位) 、.w(字)和.b(字节)。
    md[.b, .w .l] address
    范例:md.w 10000000

  • 修改内存内容:

    • mm :修改内存,地址自动递增。
      mm [.b,.w,.l] address
      mm 提供了一种互动修改存储器内容的方法。它会显示地址和当前值,然后提示用户输入。如果你输入了一个合法的十六进制数,这个新的值将会被写入该地址。然后提示下一个地址。如果你没有输入任何值,只是按了以下回车,那么该地址的内容保持不变。如果想结束输入,则输入空格,然后回车。

    • mw 用指定的数据填充内存
      格式: mw [.b, .w, .l] address value [count]

    • cp 内存的拷贝(包括内存与Nor Flash间的数据拷贝)
      格式:cp [.b, .w, .l] source target count

6.nandflash相关操作命令

  • 擦除nandflash
    格式:nand erase 起始地址start 长度len
    含义:擦除start出开始的,长度为len的区域。
    范例:nand erase 0x400000 0x500000

  • 写nandflash
    格式:nand write 内存起始地址 flash起始地址 长度len
    含义:将内存起始地址处,长度为len的数据,写入flash起始地址处。
    范例:nand write c0008000 400000 500000

  • 读nandflash
    格式:nand read 内存起始地址 flash起始地址 长度len
    含义:将flash起始地址处,长度为len的数据,读入内存起始地址处。
    范例:nand read c0008000 400000 500000

  • 设置自动启动(Mini2440开发板)

    • 设置从nandflash自动启动
      setenv bootcmd nand read 30000000 0x60000 0x500000 \;bootm 30000000

    • 设置自动下载内核到内存后启动
      setenv bootcmd tftp 0x30000000 uImage.bin \; bootm 0x30000000

1 0