我以为这只是简单地改变 u-boot 源中的 CONFIG_ENV_SIZE 以及改变用户空间 /etc/fw_env.config 中的大小以匹配,但事实并非如此。
答案1
解决了:
为了使用闪存更新环境大小(特别是在 Tegra 上),我们需要:
确保
CONFIG_FILE
在 uboot src 中的 /tools/env/fw_env.h 中定义(确保此行未注释(#define CONFIG_FILE "/etc/fw_env.config")更改
CONFIG_ENV_SIZE
为所需大小(uboot src 中的 /include/configs/tegra-common.h),注意如果使用 mmc,则需要 4k 对齐闪存将下面的环境大小与以下大小匹配
CONFIG_ENV_SIZE
将下面的设备偏移量设置为 ((环境结束地址 + 1) -
CONFIG_ENV_SIZE
) (事实证明 uboot 环境存储在启动分区的末尾)如果环境大小不同,则将 Flash 扇区大小设置为 0x2000