Uboot下的命令与环境变量

help 命令

你可以得到大部分命令的用法介绍,展示出来的一般都是已经在Uboot代码中实现了的,也有例外。
还可以help [想要的指令] 的方式查询指令详细用法。

mem命令

mem list: 列出当前扫描到的所有的设备
mem dev: 当前正在操作的设备
mem dev num : 你可以选择切换到想要的设备上
mem part: 列出当前设备的分区

tftp命令

tftp [ARMaddress] filename
当通过setenv serverip 192.168.9.** 设置好tftp服务器后使用,把服务器的指定文件写入到指定内存中。

setenv

setenv ethact [网卡] 设置指定网卡,至于为什么是这个,而且为什么我用e1000网卡时是为 e1000#0 ,需要看了uboot代码才能懂。

booti 与 bootm区别:

bootp - boot image via network using BOOTP/TFTP protocol
bootz - boot Linux zImage image from memory
bootm - boot application image from memory。
用法:bootm [内存地址] // 从指定位置启动参考链接

booti - boot arm64 Linux Image image from memory。
用法:booti [addr [initrd[:size]] [fdt]]
booti:这是命令本身,用于引导 Linux ‘Image’ 格式的内核
addr:这是必选参数,指定内存中存储的 Linux ‘Image’ 格式的内核地址。
initrd:这是可选参数,指定内存中的 initrd(初始根文件系统)的地址。如果提供了 initrd 参数,还可以选择性地在后面加上 :size,以指定 RAW 格式 initrd 的大小。如果要引导带有 initrd 但没有设备树的内核,可以在 initrd 参数位置使用 ‘-’。
fdt:这是必选参数,指定内存中的设备树 blob 的地址。引导 Linux 内核需要扁平化的设备树。

疑问:什么是initrd?
initrd(Initial RAM Disk)是一个初始的根文件系统,它在Linux系统启动过程的早期阶段被用来加载必要的驱动模块,使得系统能够访问真正的根文件系统所在的磁盘分区。因为我常用的内核Image支持某种文件系统启动,所以这个一般不需要,参考链接:https://blog.csdn.net/weixin_45264425/article/details/129190771。

sf相关命令 与 ext4load、fatload

sf 有一堆相关命令以write为例,其他的看手册:

sf read addr offset|partition len

将于将内存中的数据写入到SPI闪存(SPI Flash)中,详解如下:
addr: 这是内存中数据的起始地址,即你想要从内存中写入到闪存的数据的地址。
offset|partition: 这个参数可以是选择两种形式之一:offset 是SPI闪存中的偏移量,即你想要开始写入数据的位置。partition 是SPI闪存分区的名称,如果你指定了一个分区名称,数据将从该分区的起始位置开始写入。
len: 这是你要写入到闪存中的数据的长度(以字节为单位)。

ext4load与fatload均用于从自己指定的文件系统中加载文件到内存中。使用方法相同:

xxxload <interface> <dev[:part]> [addr] [filename] [bytes]

<interface>:存储设备使用的接口,如mmc、sata等。
<dev[:part]>:设备编号和分区编号,用于指定EXT4文件系统所在的分区。
[addr]:可选参数,指定将文件加载到内存中的地址。
[filename]:要加载的文件名。
[bytes]:可选参数,指定要加载的字节数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值