首页 > 解决方案 > 在 u-boot SPL 中设置环境

问题描述

是否有任何选项可以在 u-boot SPL 中加载环境变量?我有一个设备(Arria10 SoC),其中一部分 FPGA 固件通过使用固件加载器 API 加载到 u-boot SPL 中。这允许使用环境变量storage_interfacefw_dev_part来定义存储。

我能够在 u-boot 中设置变量并将它们存储到 MMC 设备。u-boot 也能正确读取变量。但是在 SPL 中,环境变量没有被初始化。

是否可以在 SPL 中加载它并使用 MMC 中的值?

感谢您的任何提示!

标签: embedded-linuxbootloaderu-boot

解决方案


通过调用 env_init() 初始化环境。其他板在板或体系结构特定的 spl.c 文件中以下列任一函数调用此函数:

  • board_boot_order()
  • board_init_f()
  • board_init_r()
  • spl_start_uboot()

只需 grep for 'env_init(' 即可找到代码位置。

您将必须实现其中一项功能。


推荐阅读