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/DRA750:重新定位后逐步执行u-boot

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/640555/ccs-dra750-stepping-through-u-boot-after-relocation

部件号:DRA750

工具/软件:Code Composer Studio

您好,

从初始加载地址重定位U-boot后,我正在尝试通过CCS对其进行调试。 我正在按照下面的Wiki链接中所示的说明进行操作。

我能够使用指定的数据偏移和代码偏移确定重新定位偏移和加载符号。 但是,重新定位后似乎缺少程序集到源代码的映射。 我无法在重新安置后找到源步骤。 请您调查一下这个问题吗? 如果您需要更多信息,请告诉我。

我正在J6 Eco设备上使用CCS 7.3。 使用的ARM内核是Cortex A15。 我附上了显示该问题的屏幕截图。 左侧窗口将在右侧显示与装配体对应的代码。 但映射不起作用。 我已手动对齐窗口以显示对应关系。

此致,

Venkat

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Venkat,
    正确,源文件和调试器之间的正确关联存在一些问题。 我假定重新定位信息正确,并且正确加载了符号。 关于左侧的源文件,该源文件是如何在编辑器中打开的? 您是自己手动打开它,还是调试器自动找到它,还是调试器提示您输入位置并允许您浏览它? 如果是后两种情况,我希望这种相互关系是正确的。 如果是前者,则很可能不是。

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

    我手动打开了文件。

    为了验证代码/数据偏移是否正确,我向无限循环函数添加了一个调用。 调试器在加载符号后未找到源文件。 我直观地验证了无限循环函数的组装说明已重新定位到预期的代码/数据偏移。

    您能否调查源和程序集关联不正确的原因?

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

    存在相关性问题的潜在原因有几个。

    最常见的一种情况是,当您加载可执行文件/符号时,不加载CCS项目(我假设您使用A15时就是这种情况),并且用于生成符号/可执行文件的源文件现在与生成它时位于不同的位置。 当构建在一台计算机上,但调试在另一台计算机上进行时,这种情况很常见。 调试器使用调试符号中的信息查找源文件。 根据编译时的位置,这些符号具有源文件的相对路径和绝对路径。 如果源文件不在这些位置,调试器将无法找到它,并且不会进行任何源关联。 如果在编辑器中手动打开源文件(未提示)也没关系,调试器将不会进行该关联。

    有关如何执行上述操作以及调试器如何在无项目调试会话期间查找源文件的详细信息,请参阅以下演示文稿的幻灯片53-58:

    http://software-dl.ti.com/ccs/esd/training/CCSv6-TipsAndTricks.pptx

    这可以帮助您进行调查

    谢谢

    KI

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

    我在加载符号时设置"偏移"的方式中发现了问题。 下面的Wiki网页提供了帮助。

    processors.wiki.ti.com/.../Sitara_Linux_Training:_uboot_linux_debug_with_ccsv5

    我当时在使用修补程序

    review.omapzoom.org

    确定装入u-boot符号时使用的偏移。 以下是通过此补丁程序打印的u-boot控制台。

    重定位偏移值为:3f73a000
    重新定位至bff3a000,bef19eb8处的新gd,sp at bef071d0

    我错误地输入了上面的"重新定位偏移"值,而不是"重新定位到"值。 当我在加载u-boot符号时将代码/数据偏移的“重定位到”值用于代码/数据偏移时,我能够执行单步操作。

    感谢你的帮助。

    此致,
    Venkat
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新,很高兴听到您找到问题的原因。

    谢谢
    KI