Problem debugging ppc kernel with DDD/GDB/BDI2000 on a custom MPC8260 board

Joao Vicente joao.vicente at spectel.com
Thu Oct 9 19:52:17 EST 2003


Hi

I am trying to boot the ppc kernel on a MPC8260 based custom board.
I am using the denx distribution linuxppc_2_4_devel, and I am configuring it using the TQM8260 default configuration, customising some CPM settings for UART and FEC.

I have managed to port the u-boot loader for this board, and am at a stage where I am decompressing the kernel image onto the top of the RAM.
I have debug enabled on the u-boot loader and the last line I see is

## Transferring control to Linux (at address 00000000) ...

And then the board resets when allowed to run free, past this point.

One of the doubts that I have is that when I look into the system.map file, it shows that the start address is at 0xc0000000 (as shown below)

c0000000 T _start
c0000000 T _stext
c000000c T __start
c000002c t __after_mmu_off
c0000060 t turn_on_mmu
c00000c4 T __secondary_hold
c0000100 t Reset
...

To the best of my knowledge the kernel image is not relocatable, so I am wondering if this could be my problem or just one of them ...
Should the map file be showing

00000000 T _start
...

If so, where should I change the .text address so that that happens ?

I am also trying to debug the code from that address with gdb/BDI2000, but I am not getting very far.
Basically I can see the program counter incrementing when I single step, but I cannot see the source even though I am trying to load the symbol table at 0x00000000 with the  'add-symbol-file vmlinux 0x00000000' gdb command, after invoking gdb from the kernel base directory (where vmlinux is)
I also have tried to load the code with 'File|Open Program' command (I am using DDD), and then tried to execute the gdb 'target remote 10.121.10.22:2001' command, and I can see the code (head.S file) on my DDD code window, but the lines are not bound to any address, and I cannot follow the code when I try to step though it.

Again does this not work because the code is not relocatable, or fo I need to use any additional compiler switches that are not switched on the default kernel configuration, or by any other reason I fail to see ?

I would appreciate any help on this issue

Thanks in advance

Joao Vicente,
Software Engineer.
www.spectel.com


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list