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.

[参考译文] 编译器/TMS320F28388D:由于某些原因导致系统中止

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/889813/compiler-tms320f28388d-system-abort-due-to-some-reasons

器件型号:TMS320F28388D

工具/软件:TI C/C++编译器

大家好、

由于 不确定的原因、在 SYS/BIOS 上运行的 CPU1内核会转至_abort 函数、结果如下所示:

根据上面的调试信息、我们是否有任何有用的说明来确定问题?  我认为堆栈不够、因此我将堆栈大小从0x100更改为0x200、0x300和0x400。

但是,_abort()信息仍然存在。 我不知道问题的原因是什么、CCS 环境中是否有任何实用程序可帮助解决该问题?

非常感谢!

QL

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

    您好!

    从上图可以看出,函数 Fapi_setActiveFlashBank()崩溃。 您可以在函数的调用方中设置断点并单步执行代码。 检查功能参数。

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

    是否能够解决中止问题?

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

    您好、Santosh、

    正如您所说的那样,函数 Fapi_SetActiveFlashBank()执行了崩溃。 当我没有调用它时、程序运行良好。

    但是、我仍然不知道导致崩溃的原因、即使我在前面的闪存 API 中设置断点并分步调试、程序也会运行到_abort 位置。 但现在有一个好消息、就是当我像这样在 cmd 文件中添加以下指令时、程序变为正常:

    组
    {
    .TI.ramfunc
    {-l F2838x_C28x_FlashAPI.lib}
    
    } 

    请帮助我进行审核。 它现在真的很好吗。

    非常感谢!

    QL

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

    您好!

    在此器件上(每个内核只有一个闪存组)、闪存 API 函数应从 RAM 中执行。  因此、当您将其与.TI.ramfunc 进行分组并为加载分配闪存地址和为运行分配 RAM 地址时、不会发生崩溃。

    谢谢、此致、
    Vamsi