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/TM4C129XNCZAD:无源可用于"xx"

Guru**** 2540720 points
Other Parts Discussed in Thread: TM4C129XNCZAD, LMFLASHPROGRAMMER, TM4C1294NCPDT

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/578036/ccs-tm4c129xnczad-no-source-available-for-xx

部件号:TM4C129XNCZAD
主题中讨论的其他部件: LMFLASSHPROGRAMRTM4C1294NCPDT

工具/软件:Code Composer Studio

您好,

我正在尝试使用代码编辑器工作室运行调试会话,但我的应用程序略有不同:

1.我有一个现有项目,它有自己的一系列makefile,用于在外部Linux主机上编译项目。

2.我使用现有代码创建了一个新的c/c++ make文件项目。

3.在项目->属性->c/c++常规->路径和符号->源位置下,我创建了指向所有源文件的链接

4.我使用GCC编译器在服务器外部编译项目,启用调试编译器选项以生成.elf文件,并在调试期间加载到处理器上。

5.我可以看到调试会话正在正常运行。  我可以逐步执行汇编代码,当调试过程运行时,软件将按预期运行。

6.目标器件是运行在外部25MHz振荡器上的tm4c129xnczad

7.我正在运行代码编辑器工作室7。

我面临的问题是,暂停调试时,我无法通过当前程序计数器查看.c或.cpp源代码引用(尽管我可以查看分解的代码)。  相反,我收到以下错误“No source available for xx”(没有xx的可用源)。  我认为调试会话或项目配置存在某种设置问题,但在论坛中没有找到任何信息来解释此问题。   以下是一些有用的屏幕截图。  如果需要任何其他信息,请告知我。

我们非常感谢您的建议。  谢谢你。

代码编写器解析的.elf文件的屏幕截图。  

将使用以下设置创建调试配置:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    忘记提及此处是用于调试的gcc/g++编译器选项:
    CFLAGS+=-G3 -D DEBUG_MODE -O0 -fno-inline
    CPPFLAGS+=-G3 -D DEBUG_MODE -O0 -fno-inline
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Peter,
    以下视频解释了消息和一些潜在原因:
    www.youtube.com/watch

    在您的情况下,调试器无法将项目中的源文件与加载的调试符号相关联。 这可能是因为,正如您所提到的,您是在外部服务器上构建CCS外部组件。 根据构建环境的直接结构,调试符号可能具有源文件的路径信息。 加载elf文件时,需要确保设置了调试源搜索路径,以便调试器可以找到这些路径。 您确实有一个项目链接了源文件,因此我希望调试器能够找到它们。 但情况似乎并非如此。 您提到了一些有用的屏幕截图,但似乎没有正确发布。 您可以重新发布吗? 此外,可重现的测试案例(源+ elf文件)也非常有用。

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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于错误消息的性质(没有可用于<address>的源代码),加载的调试符号中似乎没有与该地址相关的源代码。 我的第一个问题是:该地址(0xeb14)与哪个源文件相关联?

    获取正在加载的elf可执行文件将非常有用。 您能提供吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Ki-Soo:

    感谢您的回复。  我已在下面的单独帖子中包含屏幕截图。  如您所见,我创建了一个链接到源文件的项目。  我能够通过项目浏览器导航到源文件。  

    我无法发送源代码,因为它是一个大型项目,但如果需要,我可以创建一个小型示例项目。  如何向您发送.elf文件?  我已尝试将其附加到此帖子,但失败。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    也许现在,只有elf文件就足够了。 如果您在将elf文件附加到此线程时遇到问题,也许您可以将其传递给Chris Yorkey,我相信您已经与他接触过。 他可以将它传递给我(他已脱离此线程)

    谢谢
    KI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没关系,我看到你附了它。 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有趣的是,当我在0xeb14停下来时,我看到:

    我可以选择在我的tivaware安装中查找tases.c文件。 我很惊讶您没有收到相同的信息。

    在有关0xeb14处没有源的屏幕截图中,该消息是何时出现的? 我在屏幕截图中看到您的目标正在运行,因此一定是在较早的时候发生的。 这是您在连接到目标时,但在加载程序之前看到的吗? 现在停止目标时会发生什么情况?

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

    您好Ki-Soo:

    很遗憾,暂停执行时我没有该选项。  我只能选择"查看装配体"。

    我正在运行的代码编辑器工作室的版本是: 版本:7.0 .0.0.0043万

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

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

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

    符号信息在elf文件中,我不知道为什么你看不到它。 您正在通过"加载程序"加载elf文件,对吗?

    打开“模块”视图(“视图”->“模块”)并展开“功能”节点。 您能找到prvCheckTasksWaitingTermination()吗?

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

     您好Ki-Soo:

    我假定在调试会话开始时加载了.elf。  当我在启动调试会话后手动加载.ELF (使用hte run->load->Load Program)时,我遇到了另一个问题。  附件是问题的屏幕截图。  

    在以下序列之后出现此问题:

    1.手动加载.ELF

    2.代码编辑器工作室自动开始执行指令。

    3.我暂停调试,拆卸表明PC处于0xffffffe状态。

    4.我已经重新编译了,所以附件是新的.elf file.e2e.ti.com/.../1070.3606VB_2D00_2_2D00_12G.7z

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

    Peter LO1 说:

    如何启动调试会话? 如果正在执行无项目调试会话(直接使用目标配置文件启动调试会话),则需要加载程序。 请注意,如果程序已经刷新到目标,则可以使用选项加载符号,因为代码已经在目标上。

    3. 我暂停调试,拆卸表明PC处于0xffffffe状态。[/QUET]

    该地址看起来与PC的有效地址不符。 似乎遇到了一些异常或代码在杂草中脱落。 我对此没有很好的解释。

    您提到过它以前运行良好。 听起来,在您尝试连接到CCS之前,代码已在目标上成功刷新。 您能否详细解释您的环境? 您以前是如何获得目标上的代码的? 通过CCS加载程序?

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

    您好,Si-Koo:

    1.是的,我直接通过目标配置文件启动调试会话。  我还禁用了启动时的自动连接。

    2.在我 之前使用lmflashprogrammer手动加载二进制文件之前,代码正在运行。  

    因此我找到了一个黑客修复程序来使其正常工作,但 我想知道为什么我无法使用代码编写器IDE中的“加载程序”功能成功加载/运行.ELF文件。

    为了在运行调试器时能够成功地查看.c源代码,我按照您的建议选择了“仅加载符号”选项,但首先我使用lmflashprogrammer使用.bin文件手动编程目标设备。

    我想直接使用代码编辑器工作室来加载.elf文件,但是当我这样做时,当  应用程序运行时,程序计数器会在0xffffffe运行时进入杂草。  

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

    [QUETE USER="Peter LO1]I like to use code composer studio directly to load the .elf file,but when I do so,the program counter off into weds at 0xffffffe,(我想使用代码编辑器studio直接加载.elf文件,但当我这样做时,程序计数器将 应用程序运行时.[/QUOT]由于您使用的是GCC,因此 在使用CCS GCC/Linaro 6.1 4.8 时可能会遇到已知问题。4 这会导致CCS在启动调试会话时从错误的条目地址启动程序。

    尝试在引用的Wiki网页中应用其中一种解决方法。

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

    由于您使用的是GCC,因此 在使用CCS GCC/Linaro 6.1 4.8 时可能会遇到已知问题。4 这会导致0.0.0042万 在启动调试会话时从错误的条目地址启动程序。[/QUOT]刚刚使用在CCS 7.0 .中为TM4C1294NCPDT创建了新项目 GNU编译器v.4.9 3,在启动调试会话时,没有到达main,并且暂停时,程序计数器为 0xfffffffe。

    应用将以下内容添加到tm4c1294ncpdt.lds链接程序脚本的变通方法,然后允许在启动调试会话时访问main:

    条目(ResetISR)

    条目(ResetISR) 

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

    谢谢切斯特  我会尝试一下,一旦我这样做了,我会跟你们跟进。