[ECOS] GDB Download on i386 target hangs

Christian Plessl cplessl@ee.ethz.ch
Sat Oct 7 00:55:00 GMT 2000


Hi Nick and others

>Have you built the test programs in a separate build tree from the
>floppy monitor? If not, then it is very easy to get
>cross-contamination and, for example, end up with you executables being
>linked to the same memory locations as the monitor. The symptoms you
>describe are consistent with the monitor being overwritten by the
>download.

Thanks a lot. You guessed right. Now I've built the tests in a different 
directory, using a i386 target configuration without stubs (is this right?).

Now I'm able to download the excecutables. But immediately after the 
download, when I start the program on the target, I get an SIGILL on the 
target:

GDB Warning:

Program received signal SIGILL, Illegal instruction
0x3270 in ?? () at /usr/local/pack/ecoscvs/ecos/packages/services/memalloc
/common/current/src/dlmalloc.cxx:1257

It's alway the same address, where the debugger claims to find a illegal 
instruction. But if I try to disassemble the code at this address in gdb, 
gdb complains:

(gdb) disassemble 0x3270
Error: No function contains specified address.

When looking at the symboltable of the elf binary using nm, there is no 
code located at 3270.

I'm somewhat confused and have the following questions:

a) Do I have to activate gdb stubs for my application?
b) Whats the matter with this error in dlmalloc? Do I need additional 
configuration for my dynamic allocatable memory on the heap?


A suggestion: Unfortunately there is AFAIK no FAQ on ECOS on i386, but when 
reading the mailing list, I get the impression, that a lot of people do 
have some trouble, when starting devolopment with the ECOS on i386. What 
about collecting these questions and answers in a FAQ.


Chris




More information about the Ecos-discuss mailing list