如何轻松配置多个 u-boot 变量

How to easily configure multiple u-boot variables

每次设置新的嵌入式设备时,我都需要更改多个 u-boot 环境变量,例如IP地址,以太网地址等。 在终端提示下打字很乏味,而且,我不知道这是不是我的终端,尝试剪切和粘贴超过几个字符的任何内容都会导致错误。在文本编辑器中更改它们并将该文件复制到闪存中的特定位置会比终端好得多。 谁有一次性修改多个环境变量的好方法?

我已经能够使用 PuTTY 将我的变量复制并粘贴到 U-Boot 中。如果您想一次处理所有变量,可以用分号分隔声明,如下所示:

    setenv ipaddr 192.168.1.5; setenv serverip 192.168.1.10;

脚本文件非常适合这种情况。它比许多命令的复制和粘贴要好得多,并且可以处理更多的复杂性。您可以将所有命令输入一个文本文件和 create a script image using mkimage(其中 myscript 是文本文件的名称):

mkimage -T script -C none -n 'My Script' -d myscript myscript.img

然后您可以简单地加载并执行 myscript.img 来执行设备的所有设置任务。

例如,要从 U 盘加载并执行 myscript.img

usb start && load usb 0:1 ${loadaddr} myscript.img && source ${loadaddr}

可以将此加载命令添加到 U-Boot 的默认环境中,因此您需要做的就是 运行 命令的名称。如果存在 USB 设备和脚本文件,您甚至可以将逻辑添加到默认启动顺序以自动执行设备设置。根据 U-Boot 版本,您可以通过修改 U-Boot 源或 editing uEnv.txt (when supported).

来操纵默认环境

脚本对于维护多个设置配置也很有用,这些配置允许您为许多部署或开发配置之一设置设备。