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.

[参考译文] TMS320F280023:硬故障处理程序辅助

Guru**** 2393645 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1330713/tms320f280023-hard-fault-handler-assistance

器件型号:TMS320F280023

您好、有人可以帮助我编写硬故障处理程序中断吗?  

我没有找到关于这种处理程序的太多信息。

此致、

埃兹拉

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

    您好 Ezra:

    您需要提供有关错误和被调用函数的详细信息;发生故障的原因可能从标记置位到访问无效存储器不等。

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

    你好,Omer

    我需要非常像 STs 和 NXPS 的通用硬故障处理程序的东西。  

    它应该能够在出现以下错误时中断:

    -除以零错误

    -无效内存访问

    这足够信息了吗? 我真的不知道还需要补充什么?

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

    您好、Ezra:

    抱歉、我误读了您的帖子、以为您正在尝试调试一个错误;可能有一种方法可以处理器件上的中断架构、但我会让另一位专家来讨论这个问题。

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

    Ezra,

        我们没有这样的通用故障处理程序。 尝试执行未实现的操作码将导致 ITRAP。 RESC 寄存器显示捕获的错误、但是处理程序不是 Driverlib 的一部分

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

    我的同事提供的其他信息:  

    如果您从未定义的存储器中执行代码、总线将返回0x0000 (或对于空白/未编程的闪存为0xFFFFF)。 这些操作码是非法的、因此会生成一个 ITRAP。 非法数据访问将返回随机值。  在我们的勘误表中存在"在有效存储器之外进行提取"、这会导致未定义的行为。   

    除以零:不要除以零。 首先检查是否被零除。 C 和 C++的标准规定被零除是没有定义的行为。  最后的结果是、编译器简单地假定从未发生过。  必须由用户手动添加任何有关除以0的检查、或者系统在发生该检查时如何响应。