嵌入式开发需要掌握的u-boot命令

如果不是在芯片级公司工作,而是在产品级公司工作,当我们拿到一款芯片,厂家都会提供可以使用的bootloader,我们对u-boot基本掌握就行,只需要掌握如下命令。

目录

1.1 查看帮助【help / ?】

1.2 查看板子信息【bdinfo】

1.3 查看当前板子环境变量【printenv】

1.4 设置环境变量【setenv】

1.5 uboot内存操作命令

1.5.1 显示内存值【md】

1.5.2 修改内存值【nm】

1.5.3 修改内存值(自增)【mm】

1.5.4 快速填充内存【nw】

1.6 数据拷贝【cp】

1.7 数据比较【cmp】

1.8 uboot网络操作命令

1.8.1 测试网络【ping】

1.8.2 网络文件系统【nfs】

1.8.3 简单文件传输【tftp】


1.1 查看帮助【help / ?】

直接使用help或“?”可以查看当前uboot支持的命令

可以使用 help +其他命令,查看命令的使用说明。

1.2 查看板子信息【bdinfo】

1.3 查看当前板子环境变量【printenv】

 

1.4 设置环境变量【setenv】

环境变量如果不存在,则该命令创建变量,变量存在则修改替换

设置完环境变量记得保存,保存环境变量【saveenv】,否则重启后将恢复原来的值。

设置简单环境变量:=> setenv bootdelay 5



设置字符串形式的环境变量,需要用单引号括起来
=> setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'

删除环境变量,直接设置某个变量为空,如:=> setenv aaaa

1.5 uboot内存操作命令

内存操作命令就是用于直接对内存操作命令,常用内存命令有md、nm、 mm、mw、cp和 cmp。

1.5.1 显示内存值【md】

命令格式:
md[.b, .w, .l] address [# of objects]
命令中的[.b .w .l]对应 byte、word 和long,也就是分别以 1 个字节、2 个字节、4 个字节显示

如查看以0X30000000开始的10个字节的内存值,显示格式为.b(10的16进制是0xa)

md.b 30000000 a

1.5.2 修改内存值【nm】

命令格式:nm [.b, .w, .l] address

它会先读取地址里面原来的内容,在?后面修改新值,输入q退出修改。

1.5.3 修改内存值(自增)【mm】

mm [.b, .w, .l] address,每次修改地址值会自增

1.5.4 快速填充内存【nw】

命令格式:mw [.b, .w, .l] address value [count]

将地址address后面的count个b/w/l长度都修改为值value

1.6 数据拷贝【cp】

将 DRAM 中的数据从一段内存拷贝到另一段内存中,或者把NorFlash 中的数据拷贝到DRAM 中

命令格式:cp [.b, .w, .l] source target count  

1.7 数据比较【cmp】

cmp 是比较命令,用于比较两段内存的数据是否相等

命令格式:cmp [.b, .w, .l] addr1 addr2 count 

1.8 uboot网络操作命令

1.8.1 测试网络【ping】

ping ipaddress

1.8.2 网络文件系统【nfs】

前提是先配置nfs服务器,linux下命令:sudo apt-get install nfs-kernel-server

命令格式:
nfs [loadAddress] [[hostIPaddr:]bootfilename]
loadAddress 是要保存的 DRAM 地址,[[hostIPaddr:]bootfilename]是要下载的文件地址。

如将文件下载到 80800000 地址:
nfs 80800000 192.168.2.25:/home/fourth/linux/nfs/zImage

1.8.3 简单文件传输【tftp】

命令格式:tftpboot [loadAddress] [[hostIPaddr:]bootfilename]

loadAddress 是文件在 DRAM 中的存放地址,[[hostIPaddr:]bootfilename]是要从Ubuntu 中下载的文件。

使用tftp,在windows的话直接搜索tftpd这个软件。

在linux下32位运行 sudo apt-get install tftpd-hpa,64位运行sudo apt-get install tftpd openbsd-inetd,安装完默认路径在/srv/tftp,可以通过修改/etc/inetd.conf中最后一个路径来修改文件路径。

tftp 40000000 test.txt 把主机上test.txt下载到内存40000000的位置,test.txt中只有abcd几个字符,下载完毕,我们通过md命令查看内存,验证一下,成功。

猜你喜欢

转载自blog.csdn.net/freestep96/article/details/126866811