U-Boot常用命令(reset go runmtest)

Posted 行稳方能走远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了U-Boot常用命令(reset go runmtest)相关的知识,希望对你有一定的参考价值。

参考:U-Boot命令之常用命令
作者:一只青木呀
发布时间: 2020-10-20 22:16:23
网址:https://blog.csdn.net/weixin_45309916/article/details/109190028


uboot 中还有其他一些常用的命令,比如 reset、 go、 run 和 mtest 等。

命令描述
reset输入“reset”即可复位重启
go用于跳到指定的地址处执行应用
run用于运行环境变量中定义的命令
mtest内存读写测试命令

1、 reset 命令

reset 命令顾名思义就是复位的,输入“reset”即可复位重启,如下图所示:

2、 go 命令

go 命令用于跳到指定的地址处执行应用,命令格式如下:

go addr [arg ...]

addr 是应用在 DRAM 中的首地址,我们可以编译一下裸机例程的实验 13_printf,然后将编译出来的 printf.bin 拷贝到 Ubuntu 中的 tftpboot 文件夹里面,注意,这里要拷贝 printf.bin 文件,不需要在前面添加 IVT 信息,因为 uboot 已经初始化好了 DDR 了。使用 tftp 命令将 printf.bin下载到开发板 DRAM 的 0X87800000 地址处,因为裸机例程的链接首地址就是 0X87800000,最后使用 go 命令启动 printf.bin 这个应用,命令如下:

tftp 87800000 printf.bin
go 87800000


从上图可以看出,通过 go 命令我们就可以在 uboot 中运行裸机例程。

3、 run 命令

run 命令用于运行环境变量中定义的命令,比如可以通过“run bootcmd”来运行 bootcmd 中的启动命令,但是 run 命令最大的作用在于运行我们自定义的环境变量。在后面调试 Linux 系统的时候常常要在网络启动和 EMMC/NAND 启动之间来回切换,而 bootcmd 只能保存一种启动方式,如果要换另外一种启动方式的话就得重写 bootcmd,会很麻烦。这里我们就可以通过自定义环境变量来实现不同的启动方式,比如定义环境变量 mybootemmc 表示从 emmc 启动,定义 mybootnet 表示从网络启动,定义 mybootnand 表示从 NAND 启动。如果要切换启动方式的话只需要运行“run mybootxxx(xxx 为 emmc、 net 或 nand)”即可。

说干就干,创建环境变量 mybootemmc、 mybootnet 和 mybootnand,命令如下:

setenv mybootemmc 'fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ullalientek-emmc.dtb;bootz 80800000 -83000000'

setenv mybootnand 'nand read 80800000 4000000 800000;nand read 83000000 6000000100000;bootz 80800000 - 83000000'

setenv mybootnet 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz  80800000 - 83000000'

saveenv

创建环境变量成功以后就可以使用 run 命令来运行 mybootemmc、 mybootnet 或 mybootnand来实现不同的启动:

run mybootemmc

run mytoobnand

run mybootnet

4、 mtest 命令

mtest 命令是一个简单的内存读写测试命令,可以用来测试自己开发板上的 DDR,命令格式如下:

mtest [start [end [pattern [iterations]]]]

start是要测试的DRAM 开始地址, end 是结束地址,比如我们测试 0X80000000~0X80001000这段内存,输入“mtest 80000000 80001000”,结果如下图所示:

从上图可以看出,测试范围为 0X80000000~0X80001000,已经测试了 6656 次,如果要结束测试就按下键盘上的“Ctrl+C”键。

至此, uboot 常用的命令就讲解完了,如果要使用 uboot 的其他命令,可以查看 uboot 中的帮助信息,或者上网查询一下相应的资料

以上是关于U-Boot常用命令(reset go runmtest)的主要内容,如果未能解决你的问题,请参考以下文章

u-boot常用命令

u-boot常用命令

Linux系统移植:U-Boot常用指令(上)

Linux系统移植:U-Boot常用指令(下)

嵌入式Linux6.U-Boot常用命令

嵌入式Linux6.U-Boot常用命令