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.

[参考译文] TMS320F28375D:程序不工作

Guru**** 2524460 points
Other Parts Discussed in Thread: TMS320F28375D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1535634/tms320f28375d-program-not-working

器件型号:TMS320F28375D


工具/软件:

尊敬的先生:

自 2018 年以来、我们已为我们的应用开发了基于 TMS320F28375D 控制器的控制卡。 为了将来的增强、我们会不时增加功能。

其中一项功能(即基于以太网的 Modbus TCP IP、在 CPU2 CLA 上运行)运行正常。

现在,如果我们添加一些与 Modbus TCP-IP 无关的代码,那么 Modbus TCP-IP 功能就无法正常工作。 如果我们删除任何其他与之无关的代码、代码将开始工作。

我们使用的是 Code Composer Studio 8.0 版和编译器版本 TI 18.1.1.LTS。 我们还使用 Code Composer Studio 12.0 版和编译器版本 TI 22.6.1 LTS 检查了相同的代码、但无法正常工作。

我们对存储器映射有疑问。 为了便于您参考、我们附上了两个 CPU 的工作和非工作映射文件。

e2e.ti.com/.../Cpu1_5F00_map_5F00_Not-Working.txte2e.ti.com/.../Cpu1_5F00_map_5F00_Working.txte2e.ti.com/.../Cpu2_5F00_map_5F00_Not-Working.txte2e.ti.com/.../Cpu2_5F00_map_5F00_Working.txt

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

    您好:

    如果更改代码的不同不相关部分导致了该行为、我确实会怀疑与存储器相关的内容。 几个澄清问题:

    现在、如果我们添加一些代码

    您在此处修改了导致该问题的内存的哪个部分?

    您还能否共享链接器 cmd 文件、以便我可以看到存储器的每个部分是如何分配的?

    您是否能够将调试器连接到您的 MCU、以便我们可以看到  Modbus TCP/IP 功能中的确切位置正在更改/损坏?

    此致、

    Delaney

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

    感谢您的迅速回复。

    1) 根据.map 文件、当出现问题时、会修改 CPU2 存储器的闪存 E 部分

    2) 在这里、我附加了不工作代码的 flash_link_cpu1&2 cmd 文件和 headers_nonbios_cpu1&2 文件。  

    e2e.ti.com/.../F2837x_5F00_FLASH_5F00_lnk_5F00_cpu1.txt

    e2e.ti.com/.../F2837xD_5F00_FLASH_5F00_lnk_5F00_cpu2.txt

    e2e.ti.com/.../6765.F2837x_5F00_Headers_5F00_nonBIOS_5F00_cpu1.txt

    e2e.ti.com/.../F2837xD_5F00_Headers_5F00_nonBIOS_5F00_cpu2.txt

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

    您好:

    请允许我花几天时间来研究这个,我会回来给你。

    此致、

    Delaney

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

    好的

    正在等待您的答复

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

    您好:

    TP 更新、我仍然没有机会查看您的设置、但将在接下来的几天尝试。

    此致、

    Delaney

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

    您好、

    Delaney

    是否需要任何其他信息进行进一步调查?

    我做了很多的尝试,但没有达到最后阶段,为什么它正在发生。

    正在等待您的帮助。

    此致、

    Amtech

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

    您好:

    不需要更多的信息;我刚刚被其他活动束缚了、没有机会了解这一点。 我希望能在本周结束时讨论这个问题。 很抱歉耽误你的时间。

    此致、

    Delaney

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

    您好、

    Delaney

    如果你有繁忙的日程比你转移我的查询其他相关专家,因为我在过去的 15-16 天挣扎.

    我必须在紧急的基础上解决,因为问题在我们的运行产品。  

    是否需要任何其他信息进行进一步调查?

    正在等待您的帮助。

    此致、

    Amtech

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

    您好:

    我会看到是否有另一位专家能够为您进一步研究这个问题。 很抱歉耽误你的时间。

    如果您有任何具体问题、我们可以更快地回答这些问题。 查看代码实现通常需要更多的 时间 来帮助我们、这也是为什么我还不能为此投入时间的原因。 如果您对您要询问的调试问题有任何疑问、那么这可能会更有成效。  

    此致、

    Delaney

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

    您好、

    Delaney

    如果可以检查附加的存储器映射、则 cmd 和工作文件和非工作文件的标头为“ok"或“或“not ok“。  

    正在等待您的答复。

    此致、

    Amtech

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

    您好:

    我最后应该有时间在明天研究这个问题。 感谢您的耐心。  

    此致、

    Delaney

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

    您好:

    我由衷地为长期拖延表示歉意。 我浏览了您提供的文件、得出的结论是、问题不应与存储器的链接器放置有关、因为在这两种情况下、CPU2 CLA 存储器元素被分配到完全相同的存储器位置。 此外、如果闪存 E 只进行了更改、则 CLA 根本无法访问该存储器、并且不应受存储器 POV 所做更改的影响。 所添加代码的功能必须以某种方式产生干扰。  

    几个后续问题:

    • 您是否在 CPU2 CLA 上完全使用了 CLA 数学运算? 如果是、您是使用 ROM 中的表还是将自己的表加载到 LSRAM 中?
    • 如果您向执行 Modbus 操作的 CLA 任务添加断点指令、是否遇到问题? 缩小代码中到底有什么内容被破坏的范围会有所帮助 — 它在哪条指令上失败?
    • 您添加的新代码正在访问哪些资源(例如,如果正在访问变量,请提供名称)?

    此致、

    Delaney

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

    您好、

    Delaney

    感谢您的友好回复。

    关于上述问题、

    1) 您是否在 CPU2 CLA 上完全使用 CLA 数学运算? 如果是、您是使用 ROM 中的表还是将自己的表加载到 LSRAM 中?

    -我们不使用 CLA 数学。

    2) 如果在执行 Modbus 操作的 CLA 任务中添加断点指令,它是否被命中? 缩小代码中到底有什么内容被破坏的范围会有所帮助 — 它在哪条指令上失败?

    -在我们的上下文中,如果我们的程序在调试模式下运行, MODBUS TCP-IP 功能正常工作。 我们在独立模式下面临问题。

    3) 您添加的新代码正在访问哪些资源(例如,如果有变量正在访问,请提供名称)?

    -仅闪存 E 代码更改。(FLASHE 使用的内存对于非工作程序为 0001231d,对于 工作程序为 00012311d)

    -由于 入口点符号的变化:“_c_int00“ 地址: 00099e99(对于非工作代码)和“_c_int00“ 地址: 00099e8d(工作代码)。

    此致、

    Amtech

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

    您好:

    我看到、您是否可以尝试在 CLA 任务的每一行周围切换一些 GPIO、而不是在调试器模式下在 CLA 任务中设置断点、以便我们可以看到在独立模式下出现问题的地方? 您可以在这些引脚上使用示波器来查看代码到达的位置。

    另外、您还想说明的是、工作工程和非工作工程之间的唯一区别是闪存入口点? 您的项目中除 Modbus TCP-IP 功能以外的其他功能在错误项目中是否仍然可以正常工作?

    此致、

    Delaney