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/MSP430FR5969:通过脚本接口暂停执行?

Guru**** 2536000 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/570896/ccs-msp430fr5969-pausing-execution-via-scripting-interface

部件号:MSP430FR5969

工具/软件:Code Composer Studio

大家好,

我目前正在处理一个项目,需要在MSP430上运行一个程序一段随机的时间,然后才能暂停执行。 我们一直在使用CCS的脚本编写界面以及命令行DSS脚本来尝试自动化该过程。 单步执行数千条指令变得非常漫长。 相反,我们一直在启动MSP430以使用debugSession.target.runAsynch运行,延迟一定的时间(使用JavaScript的setTimeout函数),然后发出debugSession.target.Halth() 命令。  

发出halt命令后,我就出现了问题。 在CCS内,它会暂停执行,然后在获得另一个run命令时返回正常指令。 使用DSS脚本发出相同的命令序列会导致MSP430上的程序计数器跳至地址0x0.0002万,然后冻结。  

由于项目要求不允许在CCS中重复运行脚本,因此我需要一种使用脚本的方法。 是否有更好的方法通过脚本接口在执行过程中暂停处理器? CCS内部是否有我应该复制以获得相同结果的内容? 感谢您的帮助!

谢谢!

Matthew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Matthew,您好!
    在所有条件相同(CCS版本,目标配置文件,GEL文件等)的情况下,A debugSession.target.Halt()的行为应与在CCS中停止目标的行为相同。

    当您在CCS中停止目标时,您是如何做到的? 按下"暂停"按钮或"运行_>暂停"? 或者您是在脚本控制台中输入命令还是在脚本控制台中运行DSS脚本?

    另外,CCS安装的完整版本号是多少?

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

    Ki,

    感谢您的回复!

    当我在CCS中停止目标时,我直接在脚本控制台中输入命令。 作为参考,我在CCS中(手动,而不是作为脚本)和作为DSS脚本执行以下命令:

    VAR脚本= ScriptingEnvironment.instance();

    VAR DS = script.getServer(“DebugServer.1”);
    ds.setConfig (deviceCCXMLFile);
    debugSession = DS.openSession(".*");

    debugSession.target.connect();
    debugSession.memory.loadProgram(programToLoad);

    debugSession.options.setBoolean("AddCEXITbreakpointAfterLoad",true);
    debugSession.options.setString("MSP430DownloadOptions","Erase主存储器和信息存储器");
    debugSession.options.setBoolean("MSP430LPMx5Mode",false);

    debugSession.target.runAsynch();
    线程休眠(450);

    debugSession.target.halt ();
    Print ("PC at:0x"+numToHex (debugSession.memory.readRegister ("PC"),regLength));

    我使用的是CCS版本6.2 .0.0.005万

    谢谢!

    Matthew