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]

Problem getting eCos tests running


I have installed the sourceware distribution of eCos as described at
http://sourceware.cygnus.com/ecos/install-windows.html. Everything went
smoothly.

I am running through the tutorial and have configured and built eCos to use
the PowerPC architecture and the Motorola FADS evaluation board. Everything
has gone smoothly up to the point where I try an eCos test case running as
described in
http://sourceware.cygnus.com/ecos/docs-1.2.1/tutorials/ecos-tutorial/run-an-
ecos-test-case.html

The following is a transcript of the session:

/cygnus/ecosSWtools-990319/H-i586-cygwin32/bin/powerpc-eabi-gdb -nw
install/tests/kernel/bin_sem0
GNU gdb 4.17-ecosSWtools-990319
Copyright 1998 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.  This version of GDB is supported
for customers of Cygnus Solutions.  Type "show warranty" for details.
This GDB was configured as "--host=i586-cygwin32 --target=powerpc-eabi"...
(gdb) target sim -f  "/Program Files/Cygnus
Solutions/eCos/packages/hal/powerpc/sim/v1_2_1/runtime/tree"
Size of register r0 (0) incorrect (1 instead of 4))Connected to the
simulator.
(gdb) rbreak cyg_test_exit
No program loaded.
(gdb) rbreak cyg_assert_fail
(gdb) load
(gdb) run
Starting program: /c/eCosFADS/install/tests/kernel/bin_sem0.exe
cpu 1, cia 0xfff00700: double interrupt - MSR[RI] bit clear when attempting
to d
eliver interrupt, cia=0xfff00700, msr=0x40; srr0=0x23ac(cia),
srr1=0x82042(msr);
 trap-vector=0x700, trap-msr=0x40

Program terminated with signal ?, Unknown signal.
The program no longer exists.
(gdb)


The message "Size of register r0 (0) incorrect (1 instead of 4)" appears to
be caused by a bug in the power PC simulator with sim_fetch_register() in
ecosSWtools-990319\src\sim\ppc\sim_calls.c:

int
sim_fetch_register (SIM_DESC sd, int regno, unsigned char *buf, int length)
{
  if (simulator == NULL) {
    return;


	/* ^^^^ no return value from non void function */

  }
  TRACE(trace_gdb, ("sim_fetch_register(regno=%d(%s), buf=0x%lx)\n",
		    regno, register_names[regno], (long)buf));
  psim_read_register(simulator, MAX_NR_PROCESSORS,
		     buf, register_names[regno],
		     raw_transfer);
  return -1;
}

This function doesn't seem to suit its caller very well either:
gdbsim_fetch_register() which is the size of the register in bytes.

I don't know whether this is the cause of the problem or minor. Any
comments?


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