(正点原子)UBOOT命令使用

UBOOT命令使用

一、查看UBOOT所支持的命令

        Help或者?

        查看某一个命令的帮助信息:?+ 命令

二、信息查询命令

        1.Bdinfo:查看板子信息。

        2.printenv:查看当前板子的环境变量(都是字符串)。

        3.Version:查看uboot的版本号。

三、环境变量操作命令

        1.setenv:设置环境变量。也可以自定义环境变量。还可以删除环境变量。

                删除环境变量:把环境变量设置为空值。例如:setenv  xxx(要删除的换变量名)

                例如:将环境变量bootdelay 改为5

                写入完成后还得保存。

        2.Saveenv: 保存环境变量。

        注:setenv和saveenv是成对出现的!

四、内存操作命令

        1. md命令:用于显示内存值

                md[.b,.w,.l] address[#of objects]

                .b:byte,.w:word,.l:long,分别表示1字节,2字节,4字节来显示内存值。

                address:要查看的内存起始地址。

                [#of objects]:表示要查看的数据长度。单位根据前面的.b,.w,.l,来选择

                注:uboot中的数字都是十六进制的!

                例如:查看0x80000000开始的20个字节的内存,显示格式为.b。

                .b,.w,.l的区别:

        2. nm命令:用于修改指定地址的内存值。

                nm[.b,.w,.l] address

                .b,.w,.l:指定格式。

                address:修改地址的起始地址

                修改完成后按q退出。

        3. mm命令:也是修改指定位置内存的值。

                nm命令相比mm命令修改过值后会自增。而nm命令不会。用法与nm命令一样。

        4. mw命令:使用一个指定数据填充一段内存。

                mw[.b,.w,.l]address value[count]

                value:表示要填充的数据。

                [count]:表示要填充的长度。

        5.cp命令:数据拷贝命令,用于将DRAM中的数据从一段内存拷贝到另一段内存。或者把FLASH中的数据拷贝到DRAM中。

                cp[.b,.w,.l] source target count

                cource:源地址。

                target:目标地址。

                count:拷贝的长度。

        6. cmp:命令:比较命令,用于比较两断内存是否相等

                cmp[.b,.w,.l] addr1 addr2 count

                addr1:第一段内存首地址。

                addr2:第二段内存首地址。

                count:比较的长度。

                如果不相等的会返回不相等的地址

五、网络操作命令

重点:电脑与开发板的网络要处于同一网段。

           设置环境变量。

        1.ping命令:查看开发板网络是否能使用,是否和ubuntu主机进行通讯。

                Ping + 服务器IP

                查看服务器IP 用ifconfig  每个人的IP不同,需要查看自己的IP

 

                开发板终端ping上ubuntu系统

                显示 is alive表示ping成功了。

        2.dhcp命令:从路由器获取IP地址,前提是开发板连接到路由器上,如果开发板和电脑是直接连接的,那么dhcp命令失效。

        3.nfs命令:网络文件系统,通过nfs可以在计算机之间通过网络分享。目的是为了调试。

        注:使用前ubuntu系统要先配置nfs相关配置。

        Nfs[loadAddress][[hostIPaddr:]bootfilename]

        Loadaddress:要保存的DRAM地址

        [hostIPaddr:]bootfilename:要下载的文件地址

        例如:在ubuntu下的nfs目录中有一个Linux镜像,通过serialCRT将其下载到开发板的DDR中就可以用nfs命令。

        4.tftp命令:和nfs命令一样,通过网络下载文件到DDR中,只是 tftp 命令

                使用的 TFTP 协议, Ubuntu 主机作为 TFTP 服务器。因此需要在 Ubuntu 上搭建 TFTP                 服务器,需要安装 tftp-hpa 和 tftpd-hpa。也需要在ubuntu下创建一个目录来存放文件。

                Tftp[loadaddress][[hostIPaddr:]bootfilename]

                Loadaddr:要将拷贝的文件存放在DDR中的位置。

                [[hostIPaddr:]bootfilename]:是要从 Ubuntu 中下载的文件。但是和 nfs 命令的区别在于, tftp 命令不需要输入文件在 Ubuntu 中的完整路径,只需要输入文件名即可。比如我们现在将 tftpboot 文件夹里面的 zImage 文件下载到开发板 DRAM 的 0X80800000 地址处,命令如下:

                tftp 80800000 zImage

注:tftp目录要和传输的文件都需要高权限,不然下载会失败。同时,ubuntu和开发板也需要连接到同一网段。

六、 EMMC和SD卡操作命令

       

       

        1.mmc info命令:

        2.mmc rescan 命令:扫描当前所有mmc设备,包括emmc和sd卡。

        3.mmc list 命令:用来查看当前开发板有几个MMC设备。

        4.mmc dev 命令:切换当前MMC设备。

                mmc dev 0:

        5.mmc part 命令:查看SD卡或者EMMC的分区。

                mmc part:(SD卡)

        6.mmc read命令:读取mmc设备的数据。

                mmc read addr blk#cnt

                addr:读取到数据存放在哪。

                blk:要读取的块的起始地址。

                cnt:读取块的数量。

                例如:

                将mmc分区为0x600的地址块开始读,读16个块的大小,存放到80800000的地方。

        7.mmc write命令:将数据写到MMC设备里面。

                mmc write addr blk# cnt

                和mmc read 一样。

七、FAT格式文件操作系统命令

        1.fatinfo命令:用于查询指定MMC设备分区的文件系统信息。

                fatinfo <interface> [<dev>[:part]]

                interface 表示接口,比如mmc。

                dev:表示查询的设备号。

                part:表示要查询的分区。

        2.Fatls命令:查询FAT格式设备的目录和文件信息。

                fatinfo <interface> [<dev>[:part]][directory]

                interface 表示接口,比如mmc。

                dev:表示查询的设备号。

                part:表示要查询的分区。

                directory:要查询的目录。

        3.Fstype命令:查看MMC设备某个分区的文件系统格式。

                fstype <interface> <dev>:<part>

                interface 表示接口,比如mmc。

                dev:表示查询的设备号。

                part:表示要查询的分区。

        4.fatload 命令:用于将指定文件读取到DRAM中。

                fatload <intertface> [<dev>{:part}{<addr>[<filenname>[bytes][pos]]}]

                interface 表示接口,比如mmc。

                dev:表示查询的设备号。

                part:表示要查询的分区。

                addr: 保存到DRAM中的起始地址。

                filename: 要读取的文件的名字。

                bytes:读取多少个字节。

                pos:要读取的文件相对于文件首地址偏移多少。

八、EXT格式文件操作命令

Uboot有ext2,和ext4两种文件格式的操作命令。常用的4个命令分别为ext2load、ext2ls、ext4load、ext4ls和ext4wtite。这些命令和使用FAT操作一样。比如在MMC分区2中就是ext4格式的根文件系统。

        例如:extls mmc 1:2

九、BOOT操作命令

 Uboot的本质是引导启动Linux运行,boot就是对UBOOT的引导启动

       1.Bootz命令:用于启动zImage(Liunx镜像)。

               Bootz[addr[initrd[:size] [fdt]]]

               addr:Linux镜像文件在DRAM中的位置,

                initrd:initrd文件的地址,如果不使用的用 ‘-’ 替代

                fdt:设备树文件(.dtb)在DRAM中的地址

                先使用tftp将zImage和.dtb设备树文件下载到80800000和83000000位置,在使用bootz启动

                2.Bootm命令:用于启动uImage镜像文件的。

                   uImage(uImage是一种包含压缩和非压缩内核镜像的格式,它能够根据实际情况选择合适的解压缩方式)。

                Bootm addr //不适用设备树情况

                Bootm [addr[initrd[:size]] [fdt]]

注:使用与bootz一样,只是启动的镜像不同,一个是非压缩镜像,一个是压缩镜像。

                3.Boot命令:用来启动Linux系统。

                 Boot会读取环境变量bootcmd来启动Linux系统。Bootcmd就是启动的一些命令的集合。可以修改。

注:本质和前面的bootz命令一样,也是启动镜像和设备树。

十、其他常用命令

       1.Reset命令:复位命令。

       2.Run命令:用来运行环境变量中定义的命令。

               例如 run bootcmd

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tofu_Cabbage

你的打赏是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值