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/OMAP-L137:如何模拟分布在多个项目上的代码

Guru**** 2587365 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/605978/ccs-omap-l137-how-to-emulate-code-distributed-over-multiple-projects

部件号:OMAP-L137

工具/软件:Code Composer Studio

您好,

我有一个关于代码调试的问题。 我正在尝试从EVM板(OMAPL137)上的PSP_01_03 (DSPBIOS 05_42)运行'nandSample'项目。 我的NAND不同,所以我想在'nand_startup.c'中更改几个参数。 我的问题是,一旦我对'evminit '之类的项目进行了更改,我如何在目标上模拟它?

我可以模拟'nandSample'项目。 在调试器中,执行代码的瞬间会从'nandSample'中逐步退出,它无法与驻留在其他项目文件夹中的代码相关联。  

 希望能在这里得到一些帮助。  

谢谢!  

调整

 

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

    如果我正确地理解了您的问题,您有一个驻留在闪存上的代码,并且在引导顺序完成将其复制到RAM之后,您会丢失调试信息,是这样吗?

    在这种情况下,只需转到菜单Run --> Load --> Load Symbols (运行-->加载-->加载符号),即可将符号添加到正在运行的调试会话(如果已加载其他代码,则添加符号)。 您还可以应用代码和数据偏移,将符号正确放置在内存中。

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

    您好,Rafael:

    感谢您的快速回复。

    否,我没有通过闪存运行代码。 我正在使用调试器。 我认为,一张图应该可以澄清这里的混乱。

    所以现在也许我之前的帖子会更有意义。 项目'evminit '编译为库文件。 因此,我无法按照您的建议通过*。out文件加载符号。  

    谢谢!  

    调整

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

    nandSample项目中应该有一些代码从evminit库调用一个或多个函数。 这将导致编译器/链接器提取您在evminit项目中修改的函数。 我看到的nandSample_main.c在tskHeartBit任务之后有另一个函数echo ()。 您是否有更多这样的代码?

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

    您好,Randy:  

    感谢您的回复。  

    echo中的YES代码将调用位于项目'evminit'中的函数'configureNand()'。 但是当我单步(F5)进入'configureNand()'时,调试器看不到代码。  

    应该有一种方法告诉调试器在何处查找该代码段,以便它可以将实际编写的代码与执行的汇编指令相关联。 我不知道这种方式

    如果有人可以帮助我,请告诉我。  

    谢谢!  

    调整

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

    有一种方法可以对库函数进行源代码调试,但我不知道。 也许Rafael能够解释这一点,或者让您参考文档(例如C编译器手册),或者找到可以帮助您解决这一问题的人。

    我能想到的两个简单的选择是

    1.在调用中使用程序集步入,以便在Disassembly窗口中配置Nand()和调试。 您可能需要先打开该窗口。

    2.找到其中包含configureNand()的源代码文件,然后将副本提取到nandSample项目中。 链接程序将在从evminit库文件中提取之前提取本地对象文件。 在某些情况下,您可能需要提取所有evminit源代码的副本,并在nandSample中生成所有代码。

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

    AQ,

    可能有一种方法可以对库函数进行源代码调试,但我不知道。 [/引述]

    如果您的库是使用调试符号构建的,则可以按照以下Wiki的第6节中的详细信息进行操作:

    http://processors.wiki.ti.com/index.php/Debug_Handbook_for_CCS  

    为了增加实用性,您还可以使用模块视图-查看 此短片 了解详细信息。

    希望这能有所帮助,

    拉斐尔