[ECOS] Problem with ECOS vectors.o code
Jesper Skov
jskov@cygnus.co.uk
Fri Dec 11 06:51:00 GMT 1998
You may want to consider some of the following suggestions:
1) the reset_vector routine resides in the .vectors section which has
to be placed at a specific location in memory. I do not know
exactly how the 850 differs from the 860 (the relevant manuals have
now been ordered). The linker script controls such details, and
it is possible to use tools like powerpc-eabi-objdump to make
sure that the linker output is actually appropriate for your board.
This would not explain all of the problems. _start is in the .text
section, just like main(), so if it is possible to have main() as
the entry point then _start should work as well.
2) _start performs some hardware initializations, and the 850 may well
need some slightly different code there. In particular, is
the code still being compiled with CYG_HAL_POWERPC_MPC860?
A useful experiment would be to call main() from the beginning of
_start (especially after making that the entry point). If that
works then it is possible to move the call to _main() around inside
the startup code and figure out what part of this code is causing
the problem on your hardware.
3) you do not say how you are booting the application into the board.
If you are using some sort of ROM monitor then it is possible that
the processor is in user mode when control gets transferred to the
application. eCos expects to start up in supervisor state.
Bart & Jesper
More information about the Ecos-discuss
mailing list