【发布时间】:2017-04-10 12:20:35
【问题描述】:
如何在使用 Yocto 构建的 U-Boot 中指定变量“fdt_file”的值? local.conf 中的 UBOOT_CONFIG="fdt_file=test.dtb" 是解决方案吗?它没有用。我们是否必须创建一个补丁文件才能应用到在 C 中设置这个变量。或者 Uenv.txt 文件会是一个解决方案吗?
【问题讨论】:
如何在使用 Yocto 构建的 U-Boot 中指定变量“fdt_file”的值? local.conf 中的 UBOOT_CONFIG="fdt_file=test.dtb" 是解决方案吗?它没有用。我们是否必须创建一个补丁文件才能应用到在 C 中设置这个变量。或者 Uenv.txt 文件会是一个解决方案吗?
【问题讨论】:
local.conf 中的 UBOOT_CONFIG="fdt_file=test.dtb" 是解决方案吗?
不,这是不正确的。 UBOOT_CONFIG 指定配置文件名(不带扩展名)应该用于构建 u-boot。配置文件位于 u-boot src 目录中include/configs 下。
我们是否必须创建一个补丁文件才能在 C 中设置此变量。
是的。 CONFIG_EXTRA_ENV_SETTINGS 变量(位于板配置文件内)定义了环境变量的默认值。您可以将"fdt_file=test.dtb\0" 附加到它(不要忘记最后的\0)。作为另一种解决方案,您可以在电路板初始化期间使用setenv("fdt_file", "test.dtb") 设置它的值。
或者 Uenv.txt 文件会是一个解决方案吗?
是的。
选择一种更符合您需求的解决方案。比如修改uEnv.txt比较简单,因为不需要每次都重新构建u-boot。但是在某些情况下,在 u-boot 中硬编码值可能很有用。
【讨论】: