Hi Grant, My zImage.elf has 1.1 MB and uImage 968 KB. Could you tell me please how to hook up GDB to debug u-boot?
I have examined the file in u-boot which does the bootelf: cat common/cmd_elf.c: int do_bootelf (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) : : : : addr = load_elf_image (addr); printf ("## Starting application at 0x%08lx ...\n", addr); /* * QNX images require the data cache is disabled. * Data cache is already flushed, so just turn it off. */ if (dcache_status ()) dcache_disable (); /* * pass address parameter as argv[0] (aka command name), * and all remaining args */ rc = ((ulong (*)(int, char *[])) addr) (--argc, &argv[1]); : : } and I have determined that the system hangs just after the command: rc = ((ulong (*)(int, char *[])) addr) (--argc, &argv[1]); This command starts executing the linux image from the location: 0x00400000 On the console it is printed the following stuff: loaded at: 00400000 004F3138 board data at: 004F1120 004F1138 relocated to: 004040B4 004040CC zimage at: 00404E59 004F003D avail ram: 004F4000 01FFFFFF Linux/PPC load: console=ttyUL0,9600 root=/dev/nfs rw nfsroot=129.117.144.113:/opt/eldk41/ppc_4xx,tcp ip=::::virtex4-mirek:eth0:dhcp panic=1 Uncompressing Linux... It seems to be that it is the Linux kernel which does the uncompression and it hangs. The question remain why? Maybe it is not enough space in RAM or the address in RAM where the uncompression is done is wrong. When I load the u-boot to ram via jtag it is placed under the address: 0x800000 as follows: section, .text: 0x00800000-0x0081513c section, .resetvec: 0x0081513c-0x00815140 section, .rodata: 0x00815140-0x00817ce0 section, .reloc: 0x00817d00-0x00818674 section, .data: 0x00818674-0x00818b08 section, .data.rel: 0x00818b08-0x00818b34 section, .data.rel.local: 0x00818b34-0x00818f6c section, .u_boot_cmd: 0x00818f6c-0x008191dc section, .bss: 0x00819200-0x0081dd04 Than I load the zImage.elf via tftp to the memory location 0xf00000. When I issue the command bootelf 0xf00000 the zImage.elf is placed in the memory: 0x400000 as follows: section, .text: 0x00400000-0x004036cc section, .data: 0x00404000-0x004f7000 section, .bss: 0x004f7000-0x004f9138 After that uncompression of zImage.elf starts. I am just wandering which memory location is involved for that? My evaluation board has 32 MB of SDRAM address range: (0x00000000-0x01ffffff) DDR_SDRAM_1 plb Any Idea? Best Regards Mirek On Tue, 28 Aug 2007, Grant Likely wrote: > On 8/28/07, Miroslaw Dach <[EMAIL PROTECTED]> wrote: > > This buffer refers to the kernel which I boot straight from jtag but not > > u-boot. > > /me remembers something.... > > How big is your kernel image? Seems to me I've had problems with > kernel images that were too large not being uncompressed properly. > Can you hook up GDB and debug u-boot? Find out where it is hanging? > > g. > > -- ============================================================================= Miroslaw Dach ([EMAIL PROTECTED]) - SLS/Controls Group PSI - Paul Scherrer Institut CH-5232 Villigen ============================================================================= _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded