From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Steward Date: Thu, 24 Nov 2011 10:58:25 +1100 Subject: [U-Boot] M5282EVB undefined reference to `environment' In-Reply-To: <4ECCE4E7.8040909@compulab.co.il> References: <4ECAC9E7.7000209@gmail.com> <201111220551.16053.marek.vasut@gmail.com> <4ECB3184.9050505@inchipdesign.com.au> <4ECCE4E7.8040909@compulab.co.il> Message-ID: <4ECD88A1.50003@inchipdesign.com.au> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Igor, On 23/11/11 23:19, Igor Grinberg wrote: > Hi James, > > On 11/22/11 07:22, James Steward wrote: >> On 22/11/11 15:51, Marek Vasut wrote: >>>> Hi, >>>> >>>> I'm trying to build U-Boot for the above mentioned board. Basically, >>>> I've done the following on a Ubuntu 10.04: >>>> >>>> wget >>>> https://sourcery.mentor.com/public/gnu_toolchain/m68k-elf/freescale-coldfir >>>> e-4.4-215-m68k-elf-i686-pc-linux-gnu.tar.bz2 >>>> >>>> sudo tar xvfj >>>> freescale-coldfire-4.4-215-m68k-elf-i686-pc-linux-gnu.tar.bz2 -C /opt >>>> >>>> export >>>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/free >>>> scale-coldfire-4.4/bin >>>> >>>> |sudo apt-get install git-core >>>> >>>> mkdir /home/james/u-boot-git&& cd ||/home/james/u-boot-git >>>> >>>> git clone ||git://git.denx.de/u-boot-coldfire.git >>>> >>>> ||cd u-boot-coldfire >>>> || >>>> ||make clean >>>> >>>> make M5282EVB_config >>> >>> try ./MAKEALL M5282EVB ... I suspect you don't have CROSS_COMPILE=your-crosscc- >>> prefix variable set, and maybe ARCH=m68k variable too. >> >> I didn't have those env vars set, however now with them set, and the latest codesourcery compiler I get the same error; >> >> export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/freescale-coldfire-2011.09/bin >> >> export CROSS_COMPILE=m68k-elf- >> >> export ARCH=m68k >> >> ./MAKEALL M5282EVB >> Configuring for M5282EVB board... >> cmd_nvedit.c: In function 'do_env_export': >> cmd_nvedit.c:748:3: warning: format '%zX' expects argument of type 'size_t', but argument 3 has type 'unsigned int' [-Wformat] >> cmd_nvedit.c:774:2: warning: format '%zX' expects argument of type 'size_t', but argument 3 has type 'unsigned int' [-Wformat] >> cmd_nvedit.c: In function 'do_env_import': >> cmd_nvedit.c:865:3: warning: format '%zd' expects argument of type 'signed size_t', but argument 2 has type 'size_t' [-Wformat] >> cmd_nvedit.c:865:3: warning: format '%zX' expects argument of type 'size_t', but argument 3 has type 'unsigned int' [-Wformat] >> mcfmii.c: In function 'mcffec_miiphy_write': >> mcfmii.c:318:8: warning: variable 'rdreg' set but not used [-Wunused-but-set-variable] >> common/libcommon.o:(.data.rel.env_ptr+0x0): undefined reference to `environment' >> make: *** [u-boot] Error 1 >> m68k-elf-size: './u-boot': No such file >> >> --------------------- SUMMARY ---------------------------- >> Boards compiled: 1 >> Boards with warnings or errors: 1 ( M5282EVB ) >> ---------------------------------------------------------- >> >> Any other thoughts? Do I need to define something to configure the environment to flash or something? > > Do you have CONFIG_ENV_IS_EMBEDDED set? > > A search with grep CONFIG_ENV_IS_EMBEDDED `find . -name "*.h"` indicates the answer is no. Should it be set? With grep CONFIG_ENV_IS_ `find . -name "*.h"` in include/configs/M5282EVB.h, I see #define CONFIG_ENV_IS_IN_FLASH 1 So looking in that file I see: /* Configuration for environment * Environment is embedded in u-boot in the second sector of the flash */ #define CONFIG_ENV_ADDR 0xffe04000 #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_ENV_IS_IN_FLASH 1 This is pure unadulterated coldfire git source that will not build out of the box. I assumed I was doing something wrong. But it seems there is really a bug in the default configuration for this board? Regards, James.