[U-Boot] CONFIG_ENV_ADDR incorrect in MPC8313ERDB.h
Norbert van Bolhuis
nvbolhuis at aimvalley.nl
Tue Dec 16 15:58:00 CET 2008
I built the latest u-boot for MPC8313E-RDB, flashed it, and ran into trouble
after saving my environment to flash.
I'm using git://git.denx.de/u-boot-nand-flash.git (I believe the "problem" is in
other gits as well).
I'm booting from NOR flash ('make MPC8313ERDB_33_config')
The problem is CONFIG_ENV_ADDR in MPC8313ERDB.h, it says:
#define CONFIG_SYS_MONITOR_BASE TEXT_BASE /* start of monitor */
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
I'm not sure what 'monitor' is, but the above makes CONFIG_ENV_ADDR = 0xfe040000.
This is incorrect since the resulting u-boot.bin is (in my case) 265356=0x40c8c bytes.
So the saveenv overwrites u-boot itself (in my case the av_ variable, causing
(k)malloc to crash every next reboot).
Although it is only a customization, setting the default CONFIG_ENV_ADDR to a correct
value would save 8313E-RDB u-boot users like me the trouble finding this.
"#define CONFIG_ENV_ADDR 0xfe080000" works fine for me.
More information about the U-Boot
mailing list