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