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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1635701/tms320f28388d-the-global-variable-initialization-being-skipped

器件型号: TMS320F28388D

尊敬的专家:

客户发现、固件升级后、其应用中的静态变量未初始化。

静态变量初始化应该在 cint00 中。 客户应在刷写新应用后复位器件、器件会运行引导加载程序、然后运行 starnh 到应用程序的入口点、然后执行 cint00、然后执行 main。

cint00 应该在此过程中执行、但是、cint00 是否有机会决定不初始化静态可用数据? 特别是在用户分支到应用程序 froam 引导加载程序且每个引导加载程序都有一个 cint00 的情况下。

由于 cint00 是用汇编语言编写的、因此需要您帮助了解这种机制是否存在。

此致、

挂起

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

    您好 Hang、

    您需要在此处检查以下几点。

    1.确认引导加载程序跳转到应用程序的 codestate/reset 条目、而不是直接跳转到 main。 您说过它会执行 cint00、然后执行 main、因此我假设您已经在处理这一点。

    2.确保 在 C2000 Compiler -> Runtime Model Options 中使用的是--rom_model 而非--ram_model

    3.确保已在链接器命令文件中正确定义.cinit 段

    你能确保所有这些东西都到位并让我知道吗?

    谢谢、

    IRA