[ECOS] contents of the table " hal_interrupt_handlers" arm7 processor

Michael Bergandi mbergandi@gmail.com
Wed Sep 12 20:11:00 GMT 2012


Bob,

> I find, that the jump bne 10f is always executed and subsequently, the
> correct handler is fetched from the table hal_interrupt_handlers. But hellas
> - when I get my "spurious interrupt" I find that the interrupt source is
> correct (10 for pwm), the datapointer however is zero und all entries in the
> hal_interrupt_handlers table are filled with the address of the
> hal_default_isr.

 This sounds like it is working correctly. An interrupt occurred, it found
 the handler and called it.



> I would expect the table hal_interrupt_handlers to be initialized during
> system startup. But obviously, this assumption is wrong. Which part of eCOS
> (dynamically) modifies this table and why??
> Thanks for help and advice....Bob

hal_interrupt_handers is initialized at startup with hal_default_isr (which
does nothing).

A driver using interrupts would create an ISR and DSR (if required) and call
cyg_drv_interrupt_create(). The handle returned by
cyg_drv_interrupt_create() would then be used in the call to
cyg_drv_interrupt_attach()  to attach the interrupt to the hardware vector
which places it in the hal_interrupt_handers table.

--
Mike



-- 
Mike

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



More information about the Ecos-discuss mailing list