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/TMDSCNCD28M36:连接到正在运行的目标,不进行重置/挂起

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/654578/ccs-tmdscncd28m36-connecting-to-a-running-target-without-reset-suspend

部件号:TMDSCNCD28M36

工具/软件:Code Composer Studio

我正在尝试将CCS调试器连接到F28M36 controlCARD。  我正在使用闪存构建配置的Blinky_m3项目(v220)。  我 使用XDS100v2调试探测器连接为F28M36P63C2设备设置了项目目标配置。  我单击调试图标,运行程序,然后看到卡上的闪烁指示灯。  然后我停止调试。  

我为 F28M36P63C2和XDS100v2探头创建用户定义的目标配置设置。  我将M3核心的Gel文件配置为使用f28m36p63c2_m3.gel的修改版本 ,其中所有功能的内容均已删除,以避免Gel文件在连接时重置或暂停目标。  

然后创建调试配置。  我将目标配置设置为我的自定义配置。  我取消选择C28内核。 在PROGRAM下,我将程序设置为blink_m3输出并仅加载符号。  在Target\Program/Memory Load Options (目标\程序/内存加载选项)下,我取消选择Disable all thre终端when loading a different program (加载不同程序时禁用所有断点),Halt at at program termination (程序终止时暂停),Enable CIO function use (启用CIO功能使用),Enable semihosting (启用半托管),Reset on target connect (目标连接重置),Reset the target on a program load (程序加载时重  在Target\Auto Run and Launch Options (目标\自动运行和启动选项)下,我取消选择Halt the target before any debugger access (在任何调试器访问之前停止目标),Run to symbol "on a program load or restart"(在程序加载或重新启动时运行),"Connect to the target on debugger startup (在调试  在Target\Flash Settings (目标\Flash设置)下,我取消选择Auto ECC Generation (自动ECC生成)。  

然后使用此配置进行调试。  我选择M3核心并连接到目标。  这会导致暂停-重置发生在目标状态,然后在重置结束后显示暂停状态。  如果我恢复程序,它将正确继续。  如果我断开连接,然后重新连接到目标,而没有终止调试会话,则核心将再次进入暂停状态,但不会重置。

我希望能够在不重置或暂停核心的情况下连接到目标。  我缺少什么或配置不正确?  最终,我希望能够连接到双核程序,而不会中断任何一个核心,但由于我无法实现这一目标,我试图获得一个更简单的独立M3程序。

我已附加了初始自动生成的目标配置,自定义目标配置,M3 GEL文件以及我正在使用的调试配置。  

e2e.ti.com/.../Connect-to-running-files.7z

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

    Michael,

    Michael Kozeniauskas 说:
    I select the M3 core and connect to target (引用用户="Michael Kozeniauskas"]I选择M3核心并连接到目标)。  这会导致暂停-重置发生在目标状态,然后在重置结束后显示暂停状态。  [/引述]

    Flash dll本身似乎导致了M3重置,因此它似乎不能由GEL文件或CCS调试器设置直接控制。 我仍在调查几件事,并将与同事讨论是否可能实现您所期望的目标。 当我有其他信息时,我将发布更新。

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

    我确认Flash dll确实在连接时发出重置。 此处唯一的解决方法是在只加载符号(即连接到已编程的设备)时禁用Flash dll。

    您可以通过重命名\CCS_base\DebugServer\bin文件夹中的FlashC2000F021.dll来禁用Flash dll,或者在FlashDLLDB.xml (同一文件夹中)注释掉“FlashC2000F021”块来禁用Flash dll。 然后,当您需要重新编程闪存时,需要重新启用DLL。 希望这有所帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的解决方案。  我现在可以在不导致程序重新启动的情况下进行连接。  但是,连接仍会导致程序暂停。  有没有办法避免这种情况?  我可能需要连接到正在运行的进程以调试某些内容的情况也是这样的情况:在随机点挂起程序可能会带来潜在的危险,因此我希望能够在不中断进程的情况下进行连接(如果可能)。

     

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

    但是连接仍会导致程序暂停。  是否仍要避免这种情况?[/QUOT]

    在M3内核上不能停止连接,但通过启用实时模式,C28x内核上可以实现连接。  

    此处提供有关C28x实时模式的文档和参考视频。

    我个人还没有尝试连接到正在运行的Concerto设备,尽管我已经在其他几台仅限C28x的设备上进行了连接。