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.

[参考译文] TMS320F280039C:F280039C 中的异常处理

Guru**** 2188275 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1350694/tms320f280039c-exception-handling-in-f280039c

器件型号:TMS320F280039C

大家好!



当 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 指令、从而调用非法指令处理程序。 这个函数有一个无限循环、并且将阻止程序继续运行(这不会导致经历的复位、但是我的项目中没有启用安全装置)。