[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