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**** 2609895 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1078639/tms320f28388d-problem-debugging-multi-core-project-with-shared-code-files

部件号:TMS320F28388D
“线程:C2000WARE测试”中讨论的其它部件

我的工作空间中有两个项目,每个项目对应于 F28388D 控制卡上的 C28内核。 此外,还有一个目录,两个项目都包括为链接文件夹,称为 C28_shared,该目录包含两个项目都需要访问的结构和函数等的所有标题。  这种安排已经很好了一段时间-如果我打开一个共享文件,其中包含#if Defined (CPUx)语句,它将从我打开它的项目的角度显示该文件。  

遗憾的是,我无法在此处共享任何代码或项目文件,因此我将尽量清楚地解释发生了什么:

  • 同时调试两个内核
  • 酷睿2在调用位于 C28_shared 目录中的一个函数 shared_func()时有一个断点。
  • 如果此时按住 Ctrl 键并单击函数调用,CCS 将从酷睿2的角度打开文件
  • 但是,如果我使用调试 器步入函数,CCS 会从核心1的角度打开文件,并且由于该函数位于核心1和核心2的不同内存位置,因此调试器符号不在代码文件的正确位置。

我尝试过:

  • 删除我的工作区并重新开始
  • 已验证两个项目都使用了正确的链接器命令文件
  • 通过启动目标>手动擦除两个内核的闪存>手动加载两个程序,验证是否已将正确的项目输出加载到正确的内核
  • 手动重新加载两个项目的符号数次,以进一步确定它们是否位于错误位置
  • 更改核心2上的内部版本配置的名称,以防两个配置的名称都标记为“调试”,从而导致问题
  • 编辑:还尝试在核心1项目关闭的情况下启动/编程两个核心,然后重复上述步骤。 它现在从核心2的角度打开源文件,但调试器仍在步进文件中的错误行。

不知道还有什么可以尝试的 有什么建议?

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

    在多个内核之间共享源文件并进行调试时,我也会遇到同样的问题。 这是一个非常恼人的问题。 每次出现断点时,都需要手动选择正确的核心环境。
    希望 TI 能尽快解决这一问题。

    此致,
    安迪

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

    你好

    [引用 userid="423429" url="~/support/icros/c2000-icroms-group/c2f/c2000-微控制器-forume/1078639/tms320f28388d-问题调试-多核-项目-共享代码文件]Edit:还尝试在核心1项目关闭的情况下启动/编程两个内核,然后重复上述步骤。 它现在从核心2的角度打开源文件,但调试器仍在步进文件中的错误行。

    这对我来说是一个有趣的情景。 我希望这能奏效。  

    我需要尝试重现这一情况。 您使用的精确 CCS 版本是什么?使用的优化级别是什么?

    谢谢

    Ki

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

    我正在使用  版本:11.0.0.00012。

    感谢您的参与。 当我在 git 中切换到另一个分支时,问题似乎消失了,但 在发生问题的特定文件中没有区别,因此我不知道发生了什么...

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

    忘记回答另一个问题:优化级别为零/关。

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

    谢谢。

    我尝试使用 F28388D 的其中一个 C2000Ware 双核示例的修改版本进行复制,但到目前为止,它似乎工作正常。

    我知道您无法共享您的实际项目,但是否可以提供一些可以重现该问题的简化测试案例? 越简单越好。

    谢谢

    Ki

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

    您好,对延迟回复表示歉意。 我尝试创建一个测试用例,但也无法重现问题。 这只发生在我的悔改的一个分支上,但我似乎无法确定分支上的哪些更改导致了该问题。 感谢您的尝试-我只会将此标记为已解决,并放弃该分支,因为我无法重新创建问题。