В зависимости от нескольких конфигураций я пытался в /etc/fw_env.config
, таких как один или две записи, я получил следующие ошибки при попытке прочитать U-загрузочные переменные окружения:fw_printenv fw_setenv на вар-сома-АМ33 не удается
[email protected]:~# fw_printenv serverip
Warning: Bad CRC, using default environment
или
[email protected]:~# fw_printenv serverip
Cannot read bad block mark: Invalid argument
Согласно этой обучающей программе (https://developer.ridgerun.com/wiki/index.php/Setting_up_fw_printenv_to_modify_u-boot_environment_variables), я построил мой /etc/fw_env.config
выглядеть следующим образом:
# MTD device name Device offset Env. size Flash sector size Number of sectors
/dev/mtd6 0x1C0000 0x20000 0x20000 1
/dev/mtd7 0x1E0000 0x20000 0x20000 1
FYI Я использую чип TI OMAP ARM (вар-сома-AM33) с Yocto Fido по умолчанию вне коробки от Варисцита с этими версиями программного обеспечения:
U-версией загрузчика:
u-boot-var-som-am33 2014-+gitrAUTOINC+adf9a14020
U-Boot-ФВ-Utils версии:
u-boot-fw-utils v2014.07+gitAUTOINC+524123a707-r0-arago0-var
Просто комментарий, '' fw_printenv' и fw_setenv' делает только использовать избыточную копию среды, если U-Boot построить который построил их, были настроены сделать так. Для NAND-flash вы действительно ** должны использовать эту функцию **. Кроме того, если это касается качества продукции, я бы рекомендовал добавить несколько запасных блоков в каждый раздел среды и настроить U-Boot соответственно. – Anders