[技术问答] NMI中断的作用?

[复制链接]
47|0
 楼主 | 2019-8-23 16:03 | 显示全部楼层 |阅读模式
本帖最后由 AutochipsMCU 于 2019-8-23 16:07 编辑

NMI中断是不可屏蔽中断,算是ARM内核的标配了。所以Cortex-M3内核的AC781x也不例外。
1566197839068.png
本帖与大家分享一下该中断的作用。
1.晶体振荡器监控功能
CKGEN_SRC_SEL[16]=1使能XOSC 监控系统。使能XOSC监控系统后,如果在HSE振荡器时钟上检测到故障,则该振荡器会被自动禁用,XOSC失效状态标志置起并且生成NMI中断以通知软件故障允许MCU执行救援操作。
比如:MCU时钟源为外部晶体时,短接晶体,模拟异常情况。这时会产生NMI中断。
这时需要实现NMI_Handler对系统进行复位。(NMI_Handler中断的入口地址已在startup_ac78xx.s中进行了指定,只需在程序的任何位置实现NMI_Handler中断处理程序即可)
void NMI_Handler(void)
{
WriteBitsValue(0x40000010, 16, 1, 1); //清除所有复位状态
NVIC_SystemReset();//复位系统
return;
}

2.待机模式(CPU和各个模块都被关闭)下,NMI引脚可唤醒MCU。




使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表