[U-Boot-Users] gdb debug!
Jerry Van Baren
gerald.vanbaren at smiths-aerospace.com
Thu Jul 14 14:21:04 CEST 2005
junping feng wrote:
> Hi,I have some question on gdb-debugger with
> BDI2000.My board is like MPC8260ADS,ppcboot version is
> 2.0.0. I have programed ppcboot.bin into flash with
> BDI2000. After power on board ,information printed is
> PPCBoot 2.0.0 (Jul 10 2005 - 11:54:35)
> Rewin Tech :fengjunping && huangjianzhong
> MPC8260 Reset Status: External Soft, External Hard
> MPC8260 Clock Configuration
> - Bus-to-Core Mult 5x, VCO Div 2, 60x Bus Freq 20-60
> , Core Freq 100-300
> - dfbrg 0, corecnf 0x0b, busdf 5, cpmdf 1, plldf 0,
> pllmf 2
> - vco_out 199999998, scc_clk 49999999, brg_clk
> - cpu_clk 166666665, cpm_clk 99999999, bus_clk
> CPU: MPC8260 (Rev 14, Mask unknown
> [immr=0x0064,k=0x002d]) at 166.666 MHz
> Board: Motorola MPC8260ADS
> I2C: ready
> DRAM: 16 MB
> (stop here!)
> Then ,cpu hangs!
> When I debug source code with gdb,I am troubled with
> the problem below:
> I don't know where is wrong!
> [root at localhost root]# cd ./ppcboot
> [root at localhost ppcboot]# ppc-linux-gdb ppcboot
> GNU gdb Yellow Dog Linux (5.2.1-4b_4)
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General
> Public License, and you are
> welcome to change it and/or distribute copies of it
> under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show
> warranty" for details.
> This GDB was configured as "--host=i386-redhat-linux
> (gdb) target remote 192.168.1.108:2001
> Remote debugging using 192.168.1.108:2001
> 0xff812568 in crc32 (crc=1165264316,
> buf=0xff845760 '?' <repeats 200 times>...,
> len=239780) at crc32.c:166
> 166 DO8(buf);
> (gdb) b cpu_init_f
> Breakpoint 1 at 0xff803be8: file cpu_init.c, line 118.
> (gdb) cont
> warning: Cannot insert breakpoint 1:
> Error accessing memory address 0xff803be8: Unknown
> error 4294967295.
> (gdb) run
> The program being debugged has been started already.
> Start it from the beginning? (y or n) n
> Program not restarted.
> (gdb) c
> Program received signal SIGSTOP, Stopped (signal).
> 0x00000800 in ?? ()
> Now, many people are still using ppcboot, please help
> Thanks in advance!!
It appears you are doing new development. While u-boot is spelled
differently than ppcboot, it is actually the same thing and you should
switch if at all possible. The only reason I can think of not to switch
is purely political, not technical. Ppcboot is dead-ended at 2.0.0:
u-boot can be considered ppcboot 3.1.2 (2.0.0 + 1.1.2).
Stopping at 0x800 is the "Floating-Point Unavailable Exception". This
is symptomatic of having 0xFFs in your memory where you are trying to
execute code - op-codes starting with 0xFF are floating point
instructions and the FP unit isn't enabled.
My deduction is that you have memory problems (gee, how did the list
guess I was going to say that :-). Verify your flash really works
(hardware problem or software problems). Verify your SDRAM
initialization. Verify your memory map is correct (i.e. you are not
jumping to non-existant memory).
Read the FAQ
14.2.3 U-Boot crashes after relocation
Read and understand the following:
More information about the U-Boot