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.

[参考译文] TMS320F280049:运行 Fapi_setActiveFlashBank 时跳转至非法中断(Fapi_Flash 窝内嵌事件中);

Guru**** 2482105 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1448987/tms320f280049-jump-into-illegal-imterrupt-when-run-fapi_setactiveflashbank-fapi_flashbank0

器件型号:TMS320F280049

工具与软件:

你(们)好

客户在 C2000数字电源 SDK 中使用"clllc_nonpowerSUITE_F28004x"构建自己的 OBC 工程、他们在 CLLLC_HAL_setupDevice ()之后添加 Flash_init;但在运行 Fapi_setActiveFlashBank (Fapi_Flash 802.4.0)时、MCU 会发生非法中断;

我进行以下检查:

1.闪存 API 被复制到 RAM 区域--.TI.ramfunc.在被调用之前

2. RAM 大小的分配是合理的:

3.拆卸看起来正常:

4.我看到一篇文章说预取订单 应该在闪存 API 操作前清理,我添加命令,但它不起作用。

可以消除此问题的操作:

1.如果我向前移动 Flash_init 函数(在 Device_init ()后面;,在其他命令之前),问题就会消失

2.如果我连接仿真器点击"运行"、在 MCU 运行进入非法中断状态后、我点击"重启"、然后点击"启动"、那么 MCU 可以正常运行。

我的问题是、该问题的根本原因是什么。

谢谢

Joe

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

    您好、Joe。

    我将在下周初审查。

    此致、

    Rajeshwary

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

    您好、 Rajeshwary

    请在本周更新此主题。

    谢谢

    Joe

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

    Joe、

    Flash_initModule()必须从 RAM 调用、并在 Device_Init ()中从闪存复制到 RAM、因此必须在它之后调用。

    此致!

    Alex