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:使用 TI FlashApi 将数据写入闪存时、会发生 Interrupt_Illegal 操作处理程序

Guru**** 2442090 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1531347/tms320f28388d-interrupt_illegal-operationhandler-occurs-when-writing-data-to-flash-using-ti-flashapi

器件型号:TMS320F28388D

工具/软件:

我正在使用 F28388D、并已通过 F021 闪存 API 实施了 FlashLog 系统。
刷写后立即运行应用程序时、系统工作正常、并且日志可以写入闪存。
但是、如果我执行器件复位、从 CCS 重新启动、系统在调用 Fapi_issueProgrammingCommand () 时崩溃并触发非法操作 ISR。

Boom 问题总结:
通过 CCS 进行刷写后、闪存写入工作

重置重新启动或下电上电后发生崩溃(非法操作)

崩溃位置位于 Fapi_issueProgrammingCommand () 内部

White check mark 我的设置:

我已经向所有与闪存相关的函数中添加了#pragma CODE_SECTION (...、“.TI.ramfunc")“)

.TI.ramfunc 通过链接器正确放置在 RAM 中

我调用 memcpy (RamfuncsRunStart、RamfuncsLoadStart、RamfuncsLoadSize ); in main()

我调用 InitFlash() 和 Fapi_initializeAPI(……) 和 Fapi_setActiveFlashBank (...) 请务必记住这一点

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

    您好、

    您能否分享您的地图文件以供审核?

    此致、

    Rajeshwary