[U-Boot] MPC8641HPVN saveenv, newstart u-boot stops
Thies Peter Thiesen
TP.Thiesen at gmx.de
Wed Jun 27 16:19:26 CEST 2012
MPC8641HPVN saveenv, newstart u-boot stops
Hi All,
ich used the board freescale HPCN8641D board with nwest u-boot.
only after saveenv and following power off and on, u-boot stops directly without serial output.
Because analyse ich have seen:
The command "saveenv" writes environment variable directy the code-area from u-boot(flash).
I thing, the hard coded offset to flash "environment variable " after the .text area in the flash
is to be small actually.
I give some informations:
Power PC MPC8641D
Flash area u-boot:
version_string: 0xeff00004 .... __bss_end__ 0xeff7a360 size = 0x7a360
In command saveenv...env_flash.c
Routine saveenv
if (flash_sect_erase((long)flash_addr, end_addr))
used following addresses:
flash_addr = 0xeff60000 end_addr = 0xeff6ffff
static env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR;
File MPC8641HPCN.h
#ifndef CONFIG_SYS_RAMBOOT
#define CONFIG_ENV_IS_IN_FLASH 1
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + 0x60000)
#define CONFIG_ENV_SECT_SIZE 0x10000 /* 64K(one sector) for env */
#else
#define CONFIG_ENV_IS_NOWHERE 1 /* Store ENV in memory only */
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000)
#endif
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
#define CONFIG_SYS_TEXT_BASE 0xeff00000
I thing the constand with 0x60000 is to small (u-boot size is bigger)
For my test I have changed 0x60000 into 0x70000
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + 0x70000)
Can someone evaluate this analysis?
Thanks for the Help.
Thiesen
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
More information about the U-Boot
mailing list