Jason 3 17 апреля Опубликовано 17 апреля · Жалоба 1. Скомпилируйте инструмент fw_printenv. Выполните команду по исходному пути uboot, а затем сгенерируйте исполняемый файл fw_printenv в папке Tools/env. . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabimake env 2. Настройте файл fw_env.config. Измените файл fw_env.config в разделе Tools/env в исходном каталоге uboot в соответствии с разделом mtd, расположением и размером переменных среды UBOOT и т. д. См. инструкции в файле fw_env.config и файле /tools/env/README. файл для конкретных модификаций. Среди них смещение устройства, размер Env и размер сектора Flash должны соответствовать соответственно трем определениям макросов CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE и CONFIG_ENV_SECT_SIZE в файле include/configs/xxxx.h в каталоге исходного кода U-Boot. vi include/configs/mx6ul_14x14_evk.h В качестве примера возьмем тест 256nand: CONFIG_ENV_OFFSET = 0x600000 ONFIG_ENV_SECT_SIZE = 0x20000 Откройте инструменты/env/fw_env.config и внесите изменения, как показано на следующих рисунках: В качестве примера возьмем тест 1gnand: CONFIG_ENV_OFFSET = 0x1000000 ONFIG_ENV_SECT_SIZE = 0x20000 номер модели nand MT29F8G08ABACA Обратитесь к руководству, чтобы изменить значение ENV_SECT_SIZE на 256 КБ. Откройте инструменты/env/fw_env.config и внесите изменения, как показано на следующих рисунках: номер модели nand MT29F8G08ABABA Обратитесь к руководству, чтобы изменить значение ENV_SECT_SIZE на 512 КБ. Откройте инструменты/env/fw_env.config и внесите изменения, как показано на следующих рисунках: 3. Скопируйте файл Скопируйте инструменты/env/fw_env.config в путь /etc платы разработки; Скопируйте инструменты/env/fw_printenv в корневую файловую систему платы разработки по пути /usr/bin. И создайте мягкую ссылку на fw_setenv ln -s /usr/bin/fw_printenv /usr/bin/fw_setenv 4. Чтение и запись теста переменной среды. Чтение среды: Запишите переменную среды: Фаза uboot была изменена синхронно. 5. Проблемы и решения Проблема: make env сообщает об ошибке в исходном коде uboot. Решение: закомментируйте CC в Makefile верхнего уровня и используйте переменную среды в CC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 17 апреля Опубликовано 17 апреля · Жалоба 29 minutes ago, Jason said: закомментируйте CC в Makefile А вы в курсе, что этого можно не делать? Makefile вообще лучше не трогать. Если он хорошо написан, то его поведение можно изменять извне. $ cat Makefile CC = gcc .PHONY: all all: @echo $(CC) $ make gcc $ make CC=gxx gxx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться