AW: [ECOS] eCos porting questions

Jörg Rapka joerg.rapka@duagon.com
Mon May 15 06:35:00 GMT 2000


Dear Jesper,

Joerg> 2. For the GDB stub I have to implement an exception
Joerg> handling. In the document I read, that the entire processor
Joerg> state must be saved, interrupts must be disabled and then the
Joerg> debugger entry point must be invoked.  What are the entry point
Joerg> for the debugger? Is it function "void __handel_exception
Joerg> (void);" defined in file "/hal/common/generic-stub.c"?  If it
Joerg> is so, how did this function use the saved processor state
Joerg> (since this function has no input parameter)?  In the file
Joerg> "/hal/ARCH/include/hal_arch.h" the structure
Joerg> "HAL_SavedRegisters" is defined.  Did I need a variable of this
Joerg> type to handle the stuff above?

Jesper>Look in powerpc/arch/.../src/hal_misc.c - the true entry point is
Jesper>cyg_hal_exception_handler(HAL_SavedRegisters *regs) which sets the
Jesper>global variable _hal_registers - this is where the stubs get the
Jesper>registers from.

I have found the function "cyg_hal_exception_handler". But for the some 
architectures (e.g. mips, sparclite) the parameters are different. So
my question is: Do I have to use this function or can I also call
"__handle_exception" from an assembler implementation in file "vector.S"?

Another question to the memory regions defined by the linker. If I use
the following assembler statement:
.section ".vectors","ax"
The memory region '.vectors" will be created. I know about the .section
command in as, but the parameters above are different from description.
Can you give me a link to the current documentation.
Why use .vectors in quotation marks and what is the meaning for "ax"?

Thanks in advance for help.

Best regards
Joerg



More information about the Ecos-discuss mailing list