中断、异常与事件

在嵌入式系统中,中断、异常与事件这三个概念常常出现,而且3者对于不同的架构也有些差异。

Cortex-M3权威指南》手册中这样叙述:

“异常”与“中断”都是指当发生“事件”时,处理器改变正常执行流,去 响应该事件的情况。只不过异常之于处理器是同步的,中断之于处理器是异步的。因此常混合使用二术语,ISR 和 ESR 也混合使用,请读者不必工于辨析这两个术语的不同,在这里这不是重点。

则中断与异常的区别在于,那 240 个中断对 CM3 核来说都是“意外突发事件”——也就是说, 该请求信号来自CM3 内核的外面,来自各种片上外设和外扩的外设,对 CM3 来说是“异步”的;而异常则是因CM3 内核的活动产生的——在执行指令或访问存储器时产生,因此对 CM3 来说是“同步”的。

概括起来:

事件:信号或寄存器的变化,概念最为宽泛;例如在stm32f1的使用手册中,IIC协议里面IIC作为主机发送会触发很多事件。

异常和中断都是形容打断正常cpu的操作,二者不同点:

异常:内核引起的。另外,系统滴答是属于内核的一部分,所以,滴答定时器产生的事件也是异常。

中断:相对于内核来说。外部事件,比如IO中断,串口接收和发送中断,TIM1定时器中断,等。

 

对于51架构来说:这3个概念没有什么不同。异常和中断甚至事件同一回事。

发布了12 篇原创文章 · 获赞 4 · 访问量 6385

猜你喜欢

转载自blog.csdn.net/yilizhihu/article/details/104607689