i went through this link
and related a53 vector table implementation.
in this regard, i have a question
1. Say a processor gets stuck in exception handler due to one of the exceptions, would it still respond to hardware interrupts?
in other words, say a processor is in exception handler function and it gets an UART interrupt, will the UART ISR gets invoked and be able to service the request.
so the reason i am asking this question is to recover a board which is landing into exception handler and send all its REGISTERS/STATE information via UART directed to console.
Exceptions have priority and hence a lower priority exception will not be able to preempt a higher one. For example say, you get a Data abort exception and in the exception, if you expect an interrupt on an IRQ line (be it Fast, FIQ or slower IRQ), to cause the preemption of the abort handler and resume to an IRQ handler (FIQ or IRQ), then that won't work. In your situation, I think writing to a UART line from a exception (say, abort handler) should be okay.
Thanks for reply. what about UART Rx.
1. at the moment of exception, since the code flow is in exception handler.
As you said UART tx [from code -> console print] should be okay.
how about UART rx [from typing in console -> code], will this raise UART interrupt [hence invoke UART_isr() handler function]?
Hi, in your exception handler (say, Data abort exception handler), i think, it should be perfectly fine to read or write to the UART registers. You don't need to invoke the UART ISR. I also don't think that ISRs are designed to be invoked. You typically register them instead and they are supposed to get invoked automatically,
View all questions in SoC Design forum