From mboxrd@z Thu Jan 1 00:00:00 1970 From: Angelos Manousarides Date: Thu, 22 Jun 2006 13:21:54 +0300 Subject: [U-Boot-Users] Dynamic location of the environment sector In-Reply-To: <20060621204617.293D43525C5@atlas.denx.de> References: <20060621204617.293D43525C5@atlas.denx.de> Message-ID: <449A6F42.9090509@inaccessnetworks.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > In message <44997F0A.8010303@inaccessnetworks.com> you wrote: > >>Is this a bug introduced by the workaround for the flash_addr? Or am I >>doing something wrong and the env_size variable should never have >>appeared in my code? > > > You must be doing something wrong. > Ok. I found what the problem was. I was looking at the TRAB board which is a PXA board with the environment embedded and did exactly the same thing. What i did NOT notice is that it is mentioned explicitely in the common/environment.c file, and that is why it works and mine did not: #if (defined(CONFIG_CMI) || \ defined(CONFIG_FADS) || \ defined(CONFIG_HYMOD) || \ defined(CONFIG_ICU862) || \ defined(CONFIG_R360MPI) || \ defined(CONFIG_TQM8xxL) || \ defined(CONFIG_RRVISION) || \ defined(CONFIG_TRAB) || \ defined(CONFIG_MRG110_6) || \ defined(CONFIG_PPCHAMELEONEVB) ) && \ defined(ENV_CRC) /* Environment embedded in U-Boot .ppcenv section */ /* XXX - This only works with GNU C */ # define __PPCENV__ __attribute__ ((section(".ppcenv"))) # define __PPCTEXT__ __attribute__ ((section(".text"))) #elif defined(USE_HOSTCC) /* Native for 'tools/envcrc' */ # define __PPCENV__ /*XXX DO_NOT_DEL_THIS_COMMENT*/ # define __PPCTEXT__ /*XXX DO_NOT_DEL_THIS_COMMENT*/ #else /* Environment is embedded in U-Boot's .text section */ /* XXX - This only works with GNU C */ # define __PPCENV__ __attribute__ ((section(".text"))) # define __PPCTEXT__ __attribute__ ((section(".text"))) #endif My board is not on the first #if, so it felt back to the last #else, thus placing the env_size and environment in the wrong order. Regards, Angelos Manousaridis