移植 U-boot常见命令和重要环境变量

U-boot官方提供的命令有很多,并且支持自定义命令。但在实际开发中,即落实到具体某一款开发板时,并不需要那么多的命令,所以半导体厂商或开发板生产厂商会配置自己的uboot

1.查询命令

        1.1 bdinfo

                查看芯片中各设备使用的地址

                使用方式:bdinfo

        1.2 printenv

                查看芯片中的环境变量,注意:uboot中的环境变量都是字符串

                使用方式:printenv

        1.3 version

                查看uboot版本号

                使用方式:version

2.环境变量相关命令

        2.1 setenv

                设置环境变量的值,此时值存放在 DRAM 中

                使用方式:1)单一赋值        setenv XXX 000 

                                  2)多值赋值        setenv bootargs 'console=ttySTM0,115200 root=/dev/mmcblk2p2 rootwait rw' (单引号内的四组值都属于XXX,值之间用空格分开)

                                  3)删除环境变量        setenv XXX        //即赋空值,重启 uboot 此变量消失

        2.2 saveenv

                保存环境变量的值,将值保存到外部 flash 中(一般环境变量存放在外部 flash 中,uboot启动时会将环境变量从外部 flash 读取到 DRAM 中)

                使用方式:saveenv        //紧跟 setenv 后

3.内存(DRAM)相关命令

        3.1 md

                查看内存里的值

                使用方式:md[.b .w .l] address [# of objects]

                                .b .w .l 分别表示 byte word long,即用 1 字节  2 字节  4 字节为度,显示内存

                                address 表示要查看的 内存的起始地址

                                [# of objects]表示要显示多少个度,注意:uboot命令中的数字都是十六进制的,且不用加 0x 前缀

                                如:想看 0xc0100000 往后的20个字节        md.b c0100000 14

        3.2 nm

                设置内存里的值

                使用方式:第一步. nm[.b .w .l] adress

                                  第二步. 0x12

                                  第三步. q

                                  如:修改 0xc0100000 地址的值为 0x12 

                                

        3.3 mm

                设置内存里的值,且会连续询问下个度的内存地址是否更改值

                使用方式:第一步. mm[.b .w .l] adress

                                  第二步. 0x12345678

                                              地址递增,重复询问

                                  第三步. q

                                  如:修改 0xc0100000 ,度=四字节 的值为0x12345678

                                   

        3.4 mw

                使用指定数据填充一段内存

                使用方式:mw[.b .w .l] address value [count]

                                value = 要填充的值,count = 度的个数

                                如:想用 0x12345678 填充 0xc0100000 往后的20个字节        mw.l c0100000 12345678 5

        3.5 cp

                数据复制

                使用方式:cp[.b .w .l] source target count

                                source = 源地址,target = 目标地址,count = 度的个数

                                如:cp.l c0100000 c0100100 10

        3.6 cmp

                比较两段内存里的值是否相等

                使用方式:cmp[.b .w .l] addr1 addr2 count

                                add1 和 add2 = 内存首地址,count = 度的个数

                                如:cmp.l c0100000 c0100100 10

4.网络相关命令

        4.1 ipaddr

                开发板 ip 地址,可以不设置,用 dhcp 命令从路由器获取

                使用方式:setenv ipaddr 192.168.1.250

        4.2 ethaddr

                开发板 MAC 地址

                使用方式:setenv ethaddr b8:ae:1d:01:01:00

        4.3 gatewayip

                网关地址

                使用方式:setenv gatewayip 192.168

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值