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.

[参考译文] TMS320F28379D:如何调试闪存构建

Guru**** 2584395 points
Other Parts Discussed in Thread: LAUNCHXL-F28379D, SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1183689/tms320f28379d-how-to-debug-a-flash-build

器件型号:TMS320F28379D
主题中讨论的其他器件:LAUNCHXL-F28379DSysConfigC2000WARE

您好!

我正在使用 launchxl-F28379D。 该代码使用 SysConfig 1.14.0、CCS 12.1.0.00007和 C2000WARE 4.02.00.00进行配置。

当编译配置为 CPU1_RAM (2837xD_RAM_Ink _CPU1.cmd)时、它运行良好、但在进行更多配置后、它会发出提示、指出代码对于存储器来说太大。

我尝试将配置更改为 CPU1_FLASH (2837xD_FLASH_Ink _CPU1.cmd)、然后单击"调试"按钮。  

出现以下错误:

“_system_post_cinit() at”没有可用的源

(在"at"之后有.out 文件的路径)

这意味着什么、我们如何克服这一问题?

谢谢

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

    您好!  

    在更改为"CPU1_FLASH"配置后、您是否重新编译了工程?  您是否能够针对闪存配置成功编译它并查看生成的.out 文件?

     system_post_cinit() 是运行时库中包含的编译器特定函数。

    此致

    Siddharth

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

    您好!

    我在更改为"CPU1_FLASH"后尝试重新编译、然后提出了上述错误。

    我无法成功编译闪存配置。

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

    您好!

    在尝试构建闪存配置时、请您共享编译日志/控制台输出。

    此致

    Siddharth

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

    您好!

    我更改了设置、闪存构建工作正常。 但是、RAM 构建对我来说也是必要的、但它不起作用。

    可以帮我解决这个问题吗?

    请找到所附的 RAM 构建日志。

    e2e.ti.com/.../1033.build_5F00_log.txt

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

    您好!  

    问题是链接问题、它无法在 RAM 段中分配.text 段。  ".text"段需要0x1ef8的大小 、当前分配的 RAM 段中不可用。

    您可以更新链接器命令文件以容纳 RAM 段中的".text"段。 为此、您可能必须将.text 段更新为多个 RAM 段  

    .text       :>> RAMD0 | RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3 | RAMLS4,  PAGE=0

    另一个选项是启用代码优化并检查".text"大小是否减小。 您可以从"Project Properties"中进行设置

    此致

    Siddharth

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

    您好!

    我尝试修改优化设置、但这还不够。

    此外、.text 行与您共享的行相同。 如果我正在正确读取日志、则有大量可用内存(RAMLS2-4为空、RAMLS1未满)、但由于不同的原因引发了问题。

    你能提出建议吗?

    谢谢

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

    您好!  

    如果存储器可用,则可以尝试组合 RAM 段以在链接器命令文件中创建单个段

    RAMLS0_4      :origin = 0x008000、length = 0x002800

    然后尝试将.text 段分配给它。

    .text       :>> RAMD0 | RAMLS0_4,  PAGE = 0

    此致

    Siddharth

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

    谢谢! 非常感谢您的帮助。

    合并这些段还有哪些其他影响?

    换言之、TI 为什么 首先将它们设计成单独的部分?

    我必须了解这一点、才能知道解决方案是否适合我。

    谢谢

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

    您好!  

    如果合并这些段、则不会产生副作用。  

    根据 TRM 中指定的存储器映射、链接器命令文件被设计成具有与 RAM 存储器扇区相同的段。

    此致

    Siddharth