rtems_interrupt_catch()
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Jun 23 16:40:56 UTC 2020
Hello,
I noticed that the rtems_interrupt_catch() directive is only declared
and implemented if CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE:
#if (CPU_SIMPLE_VECTORED_INTERRUPTS == FALSE)
typedef ISR_Handler_entry rtems_isr_entry;
#else
/**
* @brief Interrupt handler type.
*
* @see rtems_interrupt_catch()
*/
typedef rtems_isr ( *rtems_isr_entry )(
rtems_vector_number
);
/**
* @brief RTEMS Interrupt Catch
*
* This directive installs @a new_isr_handler as the RTEMS interrupt
service
* routine for the interrupt vector with number @a vector. The previous
RTEMS
* interrupt service routine is returned in @a old_isr_handler.
*
* @param[in] new_isr_handler is the address of interrupt service routine
* @param[in] vector is the interrupt vector number
* @param[in] old_isr_handler address at which to store previous ISR
address
*
* @retval RTEMS_SUCCESSFUL and *old_isr_handler filled with previous ISR
* address
*/
rtems_status_code rtems_interrupt_catch(
rtems_isr_entry new_isr_handler,
rtems_vector_number vector,
rtems_isr_entry *old_isr_handler
);
#endif
This is not mentioned in the documentation:
https://docs.rtems.org/branches/master/c-user/interrupt_manager.html#interrupt-catch-establish-an-isr
Should we provide this function also if CPU_SIMPLE_VECTORED_INTERRUPTS
== FALSE and for example just return RTEMS_NOT_IMPLEMENTED?
More information about the devel
mailing list