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.

[参考译文] CCS/PROCESSOR-SDK-AM437X:AM437X RTOS UART 通信问题

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/800883/ccs-processor-sdk-am437x-am437x-rtos-uart-communication-issue

器件型号:PROCESSOR-SDK-AM437X

工具/软件:Code Composer Studio

尊敬的先生,

电路板- mydAM437x  

工具- CCS_Setup_V6.2。

我正在处理 RTOS、  并在成功 的测试连接下成功构建 UART_APP_ECHO 代码、但在 调试代码时 、我收到消息"0x35a7e" 没有可用源代码   

在寄存器窗口中、我收到 错误消息:无法读取  并且没有收到任何提示、要求在控制台窗口中输入10个字节(按照程序)、并且无法通过 UART 发送和接收数据 

程序/硬件中的确切错误在哪里?
如何解决此问题?
请为解决方案提供建议。
下面随附的输出屏幕截图。

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

    您报告了两个问题:

    1) 1)没有可用的"0x35a7e"源在下面调试用户指南的"调试库代码"一节中有详细介绍:
    downloads.ti.com/.../ccs_debug-main.html

    2)错误:无法读取。 一般而言、这些误差是由两种情况引起的:
    -内核未停止。 当内核/器件暂停时、或根据器件使用实时模式时、CCS 中的所有视图都会更新。 当器件运行时、某些寄存器可能会尝试更新(例如通过滚动屏幕)、从而导致部分错误。 这些不是关键错误、当内核停止时、寄存器应正常更新。
    -关闭同时阻止主内核访问其寄存器的外设。 如果您为外设加电、寄存器应该会变为可见。

    在您发送的屏幕截图中、第一个场景是最可信的。

    希望这对您有所帮助、
    拉斐尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    正如您在 《调试用户指南》的"调试库代码"之前所建议的那样、我没有得到任何解决源文件错误的方法。

    对于我在下面收到的错误、如何获取要在路径中添加的源文件?

    要添加的源文件还有哪些?如何才能获得?

    对于这种类型的错误、还需要做什么设置?  

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

    您好!

    我发送给您的参考资料对消息进行了解释、但它留给开发人员查找缺少的源代码的任务。 遗憾的是、各种各样的软件开发套件、库、自定义代码等不能为文档提供全面的空间。 在这种情况 下、您可以使用链接器映射文件(扩展名为.map)尝试查找放置在调试器指示的存储器地址中的库或目标文件的位置、然后将源文件路径添加到调试配置。

    要说明这种情况、请查看下面的短片。

    e2e.ti.com/.../2019_2D00_05_2D00_17_5F00_15h27_5F00_22.mp4

    如上面的视频所示、第一个项目可以找到源文件-此外、就像第二个屏幕截图一样、它显示了与汇编指令交织在一起的源代码。 (这可能是您使用的 CCS 版本的问题*)。

    我上面加载的第二个项目属于 AM437x 处理器 SDK、您可以看到地址0x8000000处没有符号-未找到源文件、"Disassembly"视图中未显示源代码。 此外、当我尝试加载路径以查找源代码时、仍然无法正确显示该代码。

    由于两个项目都是使用调试符号(-g 选项)构建的、因此这会告诉我库  第二个项目使用的代码是在没有符号的情况下构建的。

    您的项目可能会发生这种情况-给定的库可能根本没有使用符号构建、因此 CCS 除了显示消息之外没有其他选项。

    希望这对您有所帮助、

    拉斐尔

    *在 CCSv6天内,调试器和基于 GCC 的代码之间存在几个问题(在以后的版本中修复),这导致了一系列问题,包括缺少正确的符号关联。 鉴于您使用的是 CCSv6.2、我怀疑您可能遇到了其中一个问题。 在第二个屏幕截图中、您似乎加载了正确的调试符号、但 CCS 找不到源文件。 这会给我带来另一个可能的问题。

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

    您好!

    我 没有使用"缺少源代码/找不到源文件"进行解决。 根据上面显示的简短剪辑、我尝试在".map"文件中找到相同的地址、但无法找到相同的地址。

    因此、我无法为地址添加路径。

    如何找到指定地址的路径?

    为什么我无法在".map"文件中找到地址?

    我可以采取哪些进一步措施来解决此问题?