ENV2 Q&A

Q1:目前Ikayaki中ENV支持了备份分区吗?

支持,但是需手动开启,默认关闭。

Q2:目前Ikayaki的ENV备份机制是怎么样的?

  1. nand flash的ENV分为两个分区:ENV0/ENV1 两个分区分别占用两个block(2*128K),实际数据使用的长度是4K,分区内支持跳一个坏块

    参考 image/configs/p3/spinand.ubifs.partition.dualenv.dispcam.config ENV分区配置

  2. nor flash不会出现坏块,UBOOT_ENV 分区大小为2*4K

    参考image/configs/p3/nor.squashfs.partition.dualenv.dispcam.config ENV分区配置

Q3:如何打开ENV备份?

  1. Uboot需要打开CONFIG_MS_NAND_ENV_BACKUP/CONFIG_MS_NOR_ENV_BACKUP (NAND / NOR)

    NAND:

    NOR:

    参考:configs/pioneer3_dualenv_defconfig / configs/pioneer3_dualenv_spinand_defconfig

  2. project 分区配置需要增加备份的ENV分区,参考Q2。

Q3: ENV的两个备份分区,数据是否完全一致?

除了第一次烧录是完全一致之外,后面每次saveenv都是交替保存,所以两个ENV之间会相差一次saveenv的结果,如果想要保持完全一致,setenv之后需要做两次saveenv动作即可

Q4: 目前Ikayaki在kernel起来后,支持通过user mode去设置ENV变量吗?

支持,通过uboot util提供的fw_printenv的bin即可完成设置

Q5:通过fw_printenv去设置ENV支持env备份机制吗?

支持,直接使用即可

Q6: uboot如何设置默认ENV?

请参考uboot设置默认env

...