异常与中断

异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果不及时进行处理,轻则系统出错,重则会导致系统毁灭性地瘫痪。所以正确地处理异常,避免错误的发生是提高软件鲁棒性(稳定性)非常重要的一环,对于实时系统更是如此。

异常通常可以分成两类:同步异常和异步异常。同步异常主要是指由于内部事件产生的异常,例如除零错误。异步异常主要是指由于外部异常源产生的异常,例如按下设备某个按钮产生的事件。同步异常与异步异常的区别还在于,同步异常触发后,系统必须立刻进行处理而不能够依然执行原有的程序指令步骤;而异步异常则可以延缓处理甚至是忽略,例如按键中断异常,虽然中断异常触发了,但是系统可以忽略它继续运行(同样也忽略了相应的按键事件)。

中断,通常也叫做外部中断,中断属于异步异常。当中断源产生中断时,处理器也将同样陷入到一个固定位置去执行指令。

原文: https://www.rt-thread.org/document/site/submodules/rtthread-manual-doc/zh/1chapters/07-chapter_exception/