LV.13 D4 uboot使用 学习笔记

2023-12-16 16:48:08

一、uboot环境变量命令

1.1 uboot模式

自启动模式
????????uboot 启动后若没有用户介入,倒计时结束后会自动执行自启动环境变量 (bootcmd) 中设置的命令(一般作加载和启动内核)
?

交互模式
????????倒计时结束之前按下任意按键 uboot 会进入交互模式,交互模式下,用户可输入 uboot 命令

?

1.2 uboot帮助命令

help
????????查看 uboot 支持的所有命令


help 命令
????????查看当前命令的使用方法

1.3 uboot环境变量命令

printenv
????????打印 uboot 中所有的环境变量


setenv
????????设置指定的环境变量(保存在 RAM 中)
????????????????setenv 环境变量 环境变量的值


saveenv
????????保存所有环境变量到 EMMC 中

1.4 uboot 常用环境变量

ipaddr
????????uboot 的 IP 地址
serverip
????????服务器的 IP 地址(即 ubuntu 的 IP )
bootdelay
????????进入自启动模式之前倒计时的秒数

二、uboot网络传输命令

loadb
????????通过 Kermit 协议下载文件到指定的内存地址
????????????????loadb 地址
tftp
????????通过 tftp 协议下载文件到指定的内存地址
????????????????tftp 地址 文件名


注:使用 tftp 之前要配置好网络及 tftp 服务器

?

1、选择桥接模式,桥接至有线网卡,配置ubuntu的ip信息

2、sudo service tftpd-hpa restart 命令重启tftp

?

3、开发板的ipaddr和服务器必须是同一个网段的,serverip必须和ubuntu服务器ip一致

4、插网线

然后我们测试一下

测试一下网络是否连通?

三、uboot存储器访问命令

mmc read ? ?

将EMMC中指定扇区中的内容读取到内存中指定的地址 ?? ?

????????mmc read ?<addr> <blk#> <cnt> ?? ??? ?

????????????????addr:?? ?内存地址 ?? ??? ?

????????????????blk#:?? ?EMMC中的扇区编号 ?? ??? ?

????????????????cnt:?? ?读取的扇区的个数 ?

mmc write ? ?

将内存中指定地址中的内容写入到EMMC中指定的扇区 ? ? ? ?

????????mmc write <addr> <blk#> <cnt>?? ?

测试一下:

先通过tftp命令下载一个interface.bin文件到开发板(客户端)

?使用mmc write命令把内存文件写到外存,0表示写到EMMC中(不同编号表示存储器不同)。

如何验证:之前都是下载到内存,开发板一断电,文件就消失了。但现在下载到了外存EMMC,断电不会消失。

再把interface.bin文件读到内存,然后运行。?

四、uboot自启动环境变量

bootcmd ? ?

????????自启动的环境变量 ? ?

????????该环境变量可以设置成一到多个uboot命令的集合(若有多个使用\;分割)

????????自启动模式下uboot就会按照bootcmd中命令的顺序逐条执行 ?? ?

????????????????eg: ?? ? ? ?

????????????????????????setenv bootcmd tftp 40008000 interface.bin\;go 40008000 ?? ? ? ?

????????????????????????saveenv

测试一下:

我们把自启动环境变量设置成printenv,并用saveenv命令保存。下次再启动开发板,进入自启动模式后,就会自动打印出uboot的环境变量。

要使用多个命令时,用\;分割。如:setenv bootcmd printenv\;printenv

文章来源:https://blog.csdn.net/djjyy/article/details/134996600
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。