[ECOS] Re: Evaluator 7T: using Redboot syscalls

Pierre Habraken Pierre.Habraken@imag.fr
Wed Mar 5 15:59:00 GMT 2003

Mark Salter wrote:
> > When I launch the program gdb sigtraps:
> > [...]
> > I suppose the reason is that I am using a wrong RedBoot image and
> > thus I'll have to re-build RedBoot with the option you mention above
> Add:
>       inferred_value 1
>   };
> to your redboot_{ROM,RAM}.ecm file.

Ok, I finally succeeded in re-building RedBoot configured according to
Mark's advice (I added above three lines at the end of
before importing the latter).
The program I am working on can now be uploaded to the board by gdb and
started by issuing a cont command.
It does its job as expected, and then, at some point, the main function
of this program terminates. But then a sigtrap is raised:
Program received signal SIGTRAP, Trace/breakpoint trap.
0x000101bc in _exit (stat=1)
    at ../../../../../newlib-1.11.0/libgloss/arm/redboot-syscalls.c:54
54              __syscall(SYS_exit, stat);
Apparently, it is still the SWI 0x180001 instruction at __syscall in
redboot-crt0.S which causes the trap.
I checked the SWI vector: it loads the PC with address 0x0182023c. At
that address I could find the code defined at label software_interrupt
in $ECOS_REPOSITORY/packages/hal/arm/arch/current/src/vectors.S.
Why could the SWI not be executed ?
Is this a redboot or newlib configuration problem ?
How can I have the execution control to be given back smoothly to gdb ?
What about other syscalls ?

Thanks for any help or suggestion.

Pierre HABRAKEN - mailto:Pierre.Habraken@imag.fr
Tél: 04 76 82 72 83 - Fax: 04 76 82 72 87

Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

More information about the Ecos-discuss mailing list