“线程:C2000WARE, 测试”中讨论的其它部件
我的工作空间中有两个项目,每个项目对应于 F28388D 控制卡上的 C28内核。 此外,还有一个目录,两个项目都包括为链接文件夹,称为 C28_shared,该目录包含两个项目都需要访问的结构和函数等的所有标题。 这种安排已经很好了一段时间-如果我打开一个共享文件,其中包含#if Defined (CPUx)语句,它将从我打开它的项目的角度显示该文件。
遗憾的是,我无法在此处共享任何代码或项目文件,因此我将尽量清楚地解释发生了什么:
- 同时调试两个内核
- 酷睿2在调用位于 C28_shared 目录中的一个函数 shared_func()时有一个断点。
- 如果此时按住 Ctrl 键并单击函数调用,CCS 将从酷睿2的角度打开文件
- 但是,如果我使用调试 器步入函数,CCS 会从核心1的角度打开文件,并且由于该函数位于核心1和核心2的不同内存位置,因此调试器符号不在代码文件的正确位置。
我尝试过:
- 删除我的工作区并重新开始
- 已验证两个项目都使用了正确的链接器命令文件
- 通过启动目标>手动擦除两个内核的闪存>手动加载两个程序,验证是否已将正确的项目输出加载到正确的内核
- 手动重新加载两个项目的符号数次,以进一步确定它们是否位于错误位置
- 更改核心2上的内部版本配置的名称,以防两个配置的名称都标记为“调试”,从而导致问题
- 编辑:还尝试在核心1项目关闭的情况下启动/编程两个核心,然后重复上述步骤。 它现在从核心2的角度打开源文件,但调试器仍在步进文件中的错误行。
不知道还有什么可以尝试的 有什么建议?