http://daydreamer.idv.tw/rewrite.php/read-60.html
u-boot可以設定的環境變數,例如tftp server ip, eth ip…等,如果要在進入linux後還能隨意操縱這些enviroment variable,就必需藉由fw_printenv這個小程式,這支小程式能顯示和設定u-boot的環境變數
因為小弟的板子是nand flash,所以我下載目前最新的u-boot,並試著用make env指令把fw_printenv編出來(最新板的fw_printenv可以自動切換nand與nor flash的操作方式)
接下來就要設定fw_env.config檔案並把它擺在/etc下,因為小弟u-boot的env offset被設定成如下
#define CFG_ENV_OFFSET 0x020000
#define CFG_NAND_BASE 0x4E000000
#define CMD_SAVEENV
#define CFG_NAND_LEGACY
#define CFG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */
#define SECTORSIZE 512
所以fw_env.config必需被設定如下
# NAND example
# MTD device name offset env. size Flash sector size Number of sectors
/dev/mtd0 0x020000 0x10000 0x4000 512
MTD device name :環境變量所在的mtd分區;
Device offset :環境變量的地址偏移量(起始地址);
Env.size :環境變量的大小;
Flash sector size :環境變量所在的第一個sector的大小。
這樣一來以後改u-boot environment variable就不用特地進u-boot修改了…
執行畫面大致如下圖
http://daydreamer.idv.tw/attachments/200905/1124668809.jpg
注意注意
fw_env.config 要放在 /ETC 下面囉
留言列表