[U-Boot-Users] "Transferring control to Linux" hangs

Hi,
I work on an MPC866 board at home, with no emulator, and I use puts() and blinking leds on my board to debug the boot process. I know it is not supported, but U-boot is loaded by a pSOS bootrom by tftp, but that's not the problem.
If I put a call to my 'void leds_blink( void )' routine one line before the '(*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end);' call line at 'do_bootm_linux()', I see the leds blink continuously.
I inserted the same 'leds_blink()' code into the Linux-2.4.25 code tree downloaded from www.denx.de. I also inserted an 'extern' declaration in head_8xx.S. I perform a 'b leds_blink' as the first command in _start, just to but I see no blinking. I made sure head_8xx.o is used in the link, and ran 'nm' to make sure 'leds_blink' is used in it. I saw no compilation/link errors during kernel compilation.
Can somebody advise what more can be checked?
TNX, Gil
I attached the console printouts. ---------------------------------------------------------------------------- ---------- U-Boot 1.1.2 (Oct 29 2005 - 23:22:08)
CPU: unknown MPC86x (0x08010004) at 133 MHz: 16 kB I-Cache 8 kB D-Cache FEC present *** Warning: CPU Core has Silicon Bugs -- Check the Errata *** Board: IDU() DRAM: 16 MB Top of RAM usable for U-Boot at: 01000000 Reserving 129k for U-Boot at: 00fdf000 Reserving 260k for malloc() at: 00f9e000 Reserving 60 Bytes for Board Info at: 00f9dfc4 Reserving 48 Bytes for Global Data at: 00f9df94 Stack Pointer at: 00f9df78 New Stack Pointer is: 00f9df78 Now running in RAM - U-Boot at: 00fdf000 Using default environment
In: serial Out: serial Err: serial U-Boot relocated to 00fdf000 Net: FEC ETHERNET Monitor Command Prompt:>setenv ipaddr 10.0.0.4;setenv serverip 10.0.0.2;setenv gatewayip 10.0.0.138;setenv hostname idu;setenv bootcmd $nfsboot Monitor Command Prompt:>setenv bootfile uImage;setenv rootpath /opt/ELDK/ppc_8xx;setenv netmask 255.0.0.0;setenv netdev fec Monitor Command Prompt:>setenv ethaddr 00:01:02:03:04:05;setenv consoledev ttyS0;setenv console ttyS0,38400 Monitor Command Prompt:>tftpboot 500000 uImage Using FEC ETHERNET device TFTP from server 10.0.0.2; our IP address is 10.0.0.4 Filename 'uImage'. Load address: 0x500000 Loading: ################################################################# ################################################################# #### done Bytes transferred = 684999 (a73c7 hex) Monitor Command Prompt:>bootm 500000 ## Booting image at 00500000 ... Image Name: Linux-2.4.25 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 684935 Bytes = 668.9 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Current stack ends at 0x00F9DBB0 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF01 memstart = 0x00000000 memsize = 0x01000000 flashstart = 0x00000000 flashsize = 0x00000000 flashoffset = 0x00000000 sramstart = 0x00000000 sramsize = 0x00000000 immr_base = 0xFF000000 bootflags = 0x00000001 intfreq = 133 MHz busfreq = 66.500 MHz ethaddr = 00:01:02:03:04:05 IP addr = 10.0.0.4 baudrate = 38400 bps No initrd ## Transferring control to Linux (at address 00000000) ... (No more prints to the console) ---------------------------------------------------------------------------- ----------

In message 8A7F0BC83EA32C4BBEE5502F0E3D5E6F08E412@radwin-mail.radwin.ltd.com you wrote:
I inserted the same 'leds_blink()' code into the Linux-2.4.25 code tree downloaded from www.denx.de.
This most probably broke it. Don't mess with the kernel that way.
Can somebody advise what more can be checked?
Use a real debugger.
And note that Linux bringup / debugging is off topic on this list.
Best regards,
Wolfgang Denk
participants (2)
-
Gil Madar
-
Wolfgang Denk