1. fw_printenv ツールをコンパイルします。
uboot ソースパス下で実行し、tools/env 配下に fw_printenv の実行ファイルを生成します。
。 /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabimake env
2. fw_env.config ファイルを構成する
mtd パーティション、UBOOT 環境変数の場所とサイズなどに従って、uboot ソース ディレクトリの tools/env にある fw_env.config ファイルを変更します。fw_env.config ファイルと /tools/env/README の手順を参照してください。特定の変更を行うためのファイル。
このうち、デバイス オフセット、環境サイズ、およびフラッシュ セクター サイズは、U-Boot ソース コード ディレクトリの include/configs/xxxx.h ファイル内の 3 つのマクロ定義 CONFIG_ENV_OFFSET、CONFIG_ENV_SIZE、および CONFIG_ENV_SECT_SIZE にそれぞれ対応する必要があります。
vi include/configs/mx6ul_14x14_evk.h
例としてテスト 256nand を取り上げます。
CONFIG_ENV_OFFSET = 0x600000
ONFIG_ENV_SECT_SIZE = 0x20000
tools/env/fw_env.config を開き、次の図に示すように変更します。
例としてテスト 1gnand を取り上げます。
CONFIG_ENV_OFFSET = 0x1000000
ONFIG_ENV_SECT_SIZE = 0x20000
nand型番MT29F8G08ABACA
マニュアルを参照して ENV_SECT_SIZE 値を 256K に変更してください。
tools/env/fw_env.config を開き、次の図に示すように変更します。
nand型番MT29F8G08ABABA
マニュアルを参照してENV_SECT_SIZE値を512Kに変更してください。
tools/env/fw_env.config を開き、次の図に示すように変更します。
3. ファイルをコピーします
tools/env/fw_env.config を開発ボードの /etc パスにコピーします。
tools/env/fw_printenv を、パス /usr/bin の下の開発ボードのルート ファイル システムにコピーします。
そして、 fw_setenv ln -s /usr/bin/fw_printenv /usr/bin/fw_setenv へのソフトリンクを作成します。
4. 環境変数の読み書きテスト
読み取り環境:
環境変数を書き込みます:
uboot フェーズは同期的に変更されました。
5. 問題点と解決策
問題: make env が uboot ソース コードのエラーを報告する
解決策: 最上位 Makefile 内の CC をコメントアウトし、CC 内の環境変数を使用します。
元は www.forlinx.net で公開されています。