Hello all, I have read RTEMS manuals but still can't fully understand how interrupts are handled.
For example, when an interrupt occurs pc is set to an IRQ handler address. So, the program's execution continued from that place. And my question is: how do set_vector and rtems_interrupt_catch relate to each other and to that IRQ function address installed in a processor during initialization? Should we define a source of an interrupt in that IRQ handler and jump to the proper RTEMS IRQ table entry? How should we deal with interrupts if they are all routed to the same address (they are not vectored)? Should we install the same handler for all interrupts? My understanding now is that we should invoke set_vector() implemented by us, where we should call rtems_interrupt_catch, thus installing our vector to a specific RTEMS table entry. Thereby, in processor IRQ handlers table we would have a pointers to functions the same as in RTEMS IRQ table. But what if we have no interrupt vectoring in a processor? -- Regards, Denis Obrezkov
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel