This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Running tests on MPC823FADS


I'm having trouble running a basic test on the MPC823FADS, using the ADI
card, mpc8bug, and powerpc-eabi-gdb. Can someone who's done this tell me
what I'm doing wrong?

I downloaded eCos and tools and installed as per instructions on the web
site. I've installed mpc8bug which came with the FADS system, and run
the diagnostics ("diag", then "st" for self test) to verify operation of
that. I configured eCos for PPC FADS RAM and built the test cases. (I
had to download the 19.1 version of Cygwinb19.dll as the one shipped
with mpc8bug caused it to crash. What do I do about cygtcl80.dll, which
is different between Cygwinb20 and mpc8bug?)

I tried running thread_gdb using mpc8bug alone and see this:

f823Bug> load /e/cygnus/eCos-work/install/tests/kernel/thread_gdb.exe
Loading ELF file . . .
Entry point set to 00000100
Loading section 1 (.vectors) : 00002000 bytes at 00000000
Loading section 2 (.text) : 00005d04 bytes at 00002000
Loading section 5 (.rodata) : 00000808 bytes at 00007d08
Loading section 8 (.data) : 000005e8 bytes at 00008510
Loading section 9 (.sbss) : 00000009 bytes at 00008af8 (not loaded)
Loading section 10 (.bss) : 0000fe00 bytes at 00008b10 (not loaded)
Heap start address set to 00018910
Loaded 00000327 symbols into the symbol table
Duplicated symbols (157) expanded with enumerated suffixes
r3 and r5 are set to 0
f823Bug> go
  Use Ctrl-C to abort execution !
exception: Implementation Specific Instruction TLB miss
reset_vector      0x00000100    3c600000 addis  r3,r0,0x0
f823Bug>

I run "mpc8bug 0 0" and enter "gdbserver" to make it a remote server. In
another window, I cd to \cygnus\ecos-work\install\tests\kernel and run
"powerpc-eabi-gdb -nw thread_gdb". I type "target remote localhost:8000"
and see the connection established in both windows. I then type "load"
and gdb reports the loading of several sections. I then type "continue"
and code faults with SIGSEGV and gdb detaches from mpc8bug. I seem to be
able to disassemble code from the reset vector, but a "stepi" keeps
reporting an address of 0x100, as if the PC is not incrementing.

Here's the session as gdb sees it:

(gdb) target remote localhost:8000
Remote debugging using localhost:8000
0x100 in reset_vector ()
    at
//e/cygnus/eCos/packages/hal/powerpc/arch/v1_2_1/src/quicc_smc.c:96
96
(gdb) load
Loading section .vectors, size 0x2000 lma 0x0
Loading section .text, size 0x5d04 lma 0x2000
Loading section .rodata, size 0x808 lma 0x7d08
Loading section .data, size 0x5e8 lma 0x8510
Start address 0x100 , load size 35572
Transfer rate: 25870 bits/sec.
(gdb) continue
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.

Here's the session as mpc8bug sees it:

f823Bug> gdbserver
GDBSERVER waits for GDB connection on the port 8000
GDB connection accepted from localhost (127.0.0.1)

exception: SOFTWARE EMULATION
0x00010000      00000000 unknown primary opcode 0
Reported to GDB as SIGSEGV

Child terminated with signal = 0xb
GDBserver exiting
f823Bug>

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]