Hi, I have a custom board, based on Freescale M5271EVB, use codesourcery toolchains 2010.09-41. Board code are almost same as the evb board: - include/configs/M5271EVB.h - board/freescale/m5271evb/ - arch/m68k/cpu/mcf52x2/
$ export CROSS_COMPILE=... $ make M5271EVB_config $ make 1. I got linking error in version 2010-09 and later: libgcc.o not found. It is just fine in 2010-06, which use libgcc.a from the toolchains. How to change back the build rules to link to libgcc.a in the latest version of u-boot? 2. I have u-boot 2010-06 booted on my board. Everything seems ok (uart, ethernet, ram, flash,...) * 0x00000000 - 0x00FFFFFF SDRAM 16M * 0x20000000 - 0x2000FFFF Int SRAM 64k * 0xFF800000 - 0xFFFFFFFF Flash 8M ========== U-Boot 2010.06-svn8 (Jan 26 2011 - 10:08:06) CPU: Freescale ColdFire MCF5271 rev. 1, at 100 MHz Board: TEST DRAM: 16 MiB Top of RAM usable for U-Boot at: 01000000 Reserving 132k for U-Boot at: 00fde000 Reserving 264k for malloc() at: 00f9c000 Reserving 58 Bytes for Board Info at: 00f9bfc6 Reserving 48 Bytes for Global Data at: 00f9bf96 Reserving 64k for boot parameters at: 00f8bf96 Stack Pointer at: 00f8bf78 Start relocate of code from ff800400 to 00fde000 Now running in RAM - U-Boot at: 00fde000 FLASH: Manufacturer ID: 0001 Manufacturer: AMD (Spansion) Device ID: 227E Mirror Bit flash: addr[14] = 00002210 addr[15] = 00002200 Chip: S29GL064N flash_protect ON: from 0xFF800400 to 0xFF81AAFF protect on 0 protect on 1 protect on 2 protect on 3 protect on 4 protect on 5 protect on 6 protect on 7 protect on 8 8 MiB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial U-Boot relocated to 00fde000 Net: FEC0 ### main_loop entered: bootdelay=5 ### main_loop: bootcmd="<UNDEFINED>" > ========== But if I run mtest (0x400 - 0x380000), it crashed: > mtest ========== Pattern 00000000 Writing... Reading... *** Unexpected exception *** Vector Number: 3 Format: 04 Fault Status: 4 PC: 00fe73a2 SR: 00002019 SP: 00f8bd8c D0: 00018a9f D1: 0000000a D2: ffffffff D3: 00000000 D4: 00000000 D5: ffffffff D6: 00018aa0 D7: 00f9bf96 A0: 00062e7d A1: 00fe54ca A2: 00062e80 A3: 00000002 A4: 00000400 A5: 00ff6300 A6: 00f8bdfc *** Please Reset Board! *** ========== Vector #3 is Invalid Address. PC is at do_mem_mtest() @ 0x176 ========== #else /* The original, quickie test */ incr = 1; for (;;) { if (ctrlc()) { 16e: 2d48 fff8 movel %a0,%fp@(-8) 172: 206e fff8 moveal %fp@(-8),%a0 176: 4e90 jsr %a0@ 178: 4a80 tstl %d0 17a: 6600 0088 bnew 204 <do_mem_mtest+0x122> putc ('\n'); return 1; } ========== I remove calling ctrlc(), then it is only fine if I run mtest 0x400 0x190a00 Memory dump: ========== > md 190cd0 64 00190cd0: ....md.190cd0.64 00190ce0: ...&..|....(.... ... 00190dc0: .......D...J.... 00190dd0: ....md 190cd0 64 00190de0: ...........l.... ... 00190e00: .....### main_lo 00190e10: op: bootcmd="<UN 00190e20: DEFINED>"....... ========== I have no idea why the command i just typed is in this address. The problem seems u-boot memory is overwritten, But I think it must be in the preserved range (> 00f8bf96) after relocating. Thanks in advance. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot