学习目标

  • 理解中断机制
  • 实现异常处理
  • 掌握 CSR 寄存器

12.1 思考:什么是中断?

程序正在运行,突然 UART 收到数据,怎么办?

轮询:不停检查

while (1) {
    if (uart_has_data()) process();
}

中断:有数据时通知 CPU!

12.2 异常类型

  • 中断:外部事件(UART、Timer)
  • 异常:指令执行错误(非法指令、访问违例)

下一步

第 13 章:UART 模拟

更新时间: