This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project. See the eCos home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: [ECOS] Problem with ECOS vectors.o code




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