我正在研究如何为 Raspberry Pi 制作操作系统,在 Raspberry Pi 的 OSDev 准系统教程中,以下代码用于清除任何挂起的中断。
// Clear pending interrupts.
mmio_write(UART0_ICR, 0x7FF);
功能mmio_write
如下。
static inline void mmio_write(uint32_t reg, uint32_t data){
*(volatile uint32_t *)reg = data;
}
为什么这个值很重要,它是如何清除中断的?