Exception 维护中断与维护异常
我的理解是:中断(硬件中断)是异步发生的,通常是由直接中断CPU的外部事件引起的。然后,CPU将向特定的ISR发送向量,以处理中断。 显然,ISR不能有返回值或传递参数,因为事件在代码中的任何执行点随时发生 但是,除例外情况外,我的理解是,这是一种软件中断,由软件中的特殊指令pd引起 我听说处理异常的方式与处理ISR类似。在这种情况下,异常处理程序是否可以通过从代码中获取参数并返回一个值来表现出与ISR不同的行为,因为我们知道在执行代码时我们在代码中的位置 提前感谢术语“例外”可能意味着完全不同的事情Exception 维护中断与维护异常,exception,exception-handling,embedded,interrupt,interrupt-handling,Exception,Exception Handling,Embedded,Interrupt,Interrupt Handling,我的理解是:中断(硬件中断)是异步发生的,通常是由直接中断CPU的外部事件引起的。然后,CPU将向特定的ISR发送向量,以处理中断。 显然,ISR不能有返回值或传递参数,因为事件在代码中的任何执行点随时发生 但是,除例外情况外,我的理解是,这是一种软件中断,由软件中的特殊指令pd引起 我听说处理异常的方式与处理ISR类似。在这种情况下,异常处理程序是否可以通过从代码中获取参数并返回一个值来表现出与ISR不同的行为,因为我们知道在执行代码时我们在代码中的位置 提前感谢术语“例外”可能意味着完全不同
有异常处理形式的“软件异常”,作为C++语言中的高级语言特征。此上下文中的“异常处理程序”类似于
try{}catch
块
还有“硬件异常”,这是一些CPU核心(如PowerPC)使用的术语。这些是与错误状态相对应的临界中断的一种形式。在此上下文中的“异常处理程序”类似于中断向量表,尽管当硬件异常发生时,软件通常对此无能为力
硬件异常不接受参数,也不返回数据,就像中断一样。像PowerPC这样的体系结构将硬件异常与硬件中断分开,前者是各种错误状态,后者是来自特定于应用程序的硬件的中断
硬件异常与软件通信并没有多大意义,因为它们是由执行错误的操作码、CPU时钟变差、失控代码等关键故障产生的,执行环境已被破坏,因此在该环境中执行的软件无法执行任何有意义的操作。术语“异常”可能意味着完全不同的事情
有异常处理形式的“软件异常”,作为C++语言中的高级语言特征。此上下文中的“异常处理程序”类似于
try{}catch
块
还有“硬件异常”,这是一些CPU核心(如PowerPC)使用的术语。这些是与错误状态相对应的临界中断的一种形式。在此上下文中的“异常处理程序”类似于中断向量表,尽管当硬件异常发生时,软件通常对此无能为力
硬件异常不接受参数,也不返回数据,就像中断一样。像PowerPC这样的体系结构将硬件异常与硬件中断分开,前者是各种错误状态,后者是来自特定于应用程序的硬件的中断
硬件异常与软件通信并没有多大意义,因为它们是由执行错误的操作码、CPU时钟变差、失控代码等关键故障产生的,执行环境已被破坏,因此在该环境中执行的软件无法执行任何有意义的操作。硬件异常不是软件中断,您不能显式调用它-它发生在某些硬件可检测错误上,例如:
- 无效地址
- 无效指令
- 无效对齐
- 除零
- 无效地址
- 无效指令
- 无效对齐
- 除零