when i configure receive or transmit over uart in interrupt mode , how does the signal get triggered if data is received or to be transmitted. Since nvic is present is it memory mapped and change of signal triggers the interrupt , please explain.
CodePudding user response:
No, interrupts are not transmitted from the peripheral to the interrupt controller through memory mapping.
There is a line on the silicon which goes from the peripheral to the NVIC separately from the bus matrix. The processor core has no view of this signal directly. It can only read the register interface of the peripheral or NVIC and execute an exception when the NVIC tells it to.
CodePudding user response:
- When uart receives or transmits a character, soft sets database register of uart and sets interrupt bit.
- Uart will give interrupt controller a signal.
- Interrupt controller will submit interrupt request to kernel.
- Kernel checks priority and gets interrupt number. And current context will be stored.
- Kernel executes interrupt service process. It maybe clear interrupt bit of periphery.
- Process recovers status before interrupt.
