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**** 2539830 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1324452/tms320f28388d-choose-debug-info-for-a-single-address

器件型号:TMS320F28388D

您好!

               我们的代码中存在处理器从 RAM 运行的情况。  在一个实例中、它会将代码 A 加载到 RAM 中的某个位置并运行它。  在另外一个时候、同一个位置将被载入代码 B、然后运行代码 B。  调试时、CCS 注意该位置可能具有正确的代码 A 或 B。  目前我正在尝试调试代码 B、 但 CCS 显示代码 A 的调试信息。 查看汇编、我可以看到位于该位置的代码是代码 B。 是否有办法让 CCS 使用代码 B 的调试信息?

谢谢!

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

    Ed 您好、

    抱歉、您的描述不是很清楚。 您是同时加载还是在不同时间从不同的项目加载两组代码? 或者您是否尝试对每个代码使用不同的内核?

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

    您好、Omer:

                   我担心可能不清楚。  抱歉。

                   所有这些都在单个内核上的单个项目中。  它将 Routine1加载到 RAM 并执行。  在不同的时间、它将 Routine2加载到 RAM 并执行它。  因此、有两个具有相同运行地址的例程。  当我在该地址进行调试时、CCS 正确地告诉我、该地址有两个可能的例程并选择其中一个例程。  选择的一个用于 Routine1。  但我正在调试 Routine2。  是否有办法指示 CCS 使用 Routine2的符号?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在另一个时间,它加载带有 Routine2的 RAM 并执行它。

    为清楚起见、 这是使用 memcopy 将存储器从闪存复制到 RAM 中的方法来实现的吗? 如果你 恰好在加载 Routine2之前重新初始化、CCS 是否 仍然认为有两个可能的例程?

    当我在该地址进行调试时,CCS 正确地告诉我该地址有两个可能的例程并选择其中一个。

    您能向我显示您看到的消息吗?

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

    抱歉。  我说错了。  从概念上讲、这有一个项目。  但实际上有两个 CCS 项目。  两个项目都将代码复制到 RAM 中并执行它。  我加载了两组符号。  当我只从正在运行的 CCS 项目加载符号时、调试器会显示预期的信息。

    很抱歉耽误你的时间。