大家好!
当 F280039C 中发生异常(例如零除、访问冲突或未定义指令)时、工艺流程是怎样的?
如果手册中的某处对其进行了说明、我想知道。
在我迄今为止介绍的微控制器中、
示例:
发生除以0的情况
↓
硬件内部中断发生
↓
中断时的无限循环
↓
使用看门狗功能复位微控制器
这是事件的流程。
我想询问 F280039C 在除以零时是否可以执行上述操作、或者它是否具有不同的结构。
此致、
伊藤
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好!
当 F280039C 中发生异常(例如零除、访问冲突或未定义指令)时、工艺流程是怎样的?
如果手册中的某处对其进行了说明、我想知道。
在我迄今为止介绍的微控制器中、
示例:
发生除以0的情况
↓
硬件内部中断发生
↓
中断时的无限循环
↓
使用看门狗功能复位微控制器
这是事件的流程。
我想询问 F280039C 在除以零时是否可以执行上述操作、或者它是否具有不同的结构。
此致、
伊藤
您好!
请 ︎ 此主题-(+) TMS320F280039C:发生被零除后 TI CPU 会做什么- C2000微控制器论坛- C2000微控制器- TI E2E 支持论坛
谢谢
阿斯温
您好、Aswin、
我无法查看 E2E 中写入的链接、也不理解内容。
如果有其他解决方案、请告诉我。
此致、
伊藤
您好、Ito:
道歉、好像引用的 Aswin 这个主题具有指向内部论坛帖子的链接、这就是为什么它不可见的原因。
为了帮助回答您的问题、您能否明确说明您具体询问哪种例外情况? 您给出的三个示例差别很大、 第二个与安全性有关、第一个/第三个与一般 CPU 执行有关、因此它们的处理方式不同。
对于被零除的信息、您可以参考此帖子: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/21596/divide-by-zero-what-happens。 引用的链接已不再可用、但文章描述了发生的情况。 验证这一点的一种方法是、只需在代码中放入除以0即可。 它当然不应损坏硬件、您可以尝试通过手动添加来确定应用中发生了什么。 根据 我在 F28004x 电路板上进行的测试、我可以使用除以0将变量设置为"无穷大"(对于 uint32_t 变量、我使用了这意味着0xFFFFFFFF)。
对于未定义指令(即0x0)、这将导致执行 ITRAP 指令、从而调用非法指令处理程序。 这个函数有一个无限循环、并且将阻止程序继续运行(这不会导致经历的复位、但是我的项目中没有启用安全装置)。