工具/软件:Code Composer Studio
我们有许多用GEL编写的传统自动测试脚本。
我能够通过Gel文件窗口,加载Gel和运行在Code Composer Studio 7.0 内部运行测试。 测试脚本执行到完成,我看到通过结果,并生成结果文件。
因为我们有许多这样的测试脚本,所以我们一直在寻找一种方法来批处理这些测试脚本。 这将引导我们了解调试服务器脚本编写界面。
作为概念验证,我制作了一个小的包装脚本来启动已经存在的Gel脚本:
//************************************************************************************************
//**加载环境
//**********************************************************************
importPackage(Packages.com.ti.debug.engine.scripting
importPackagePackages.com.ti.ccstudio.scripting.environment
importPackage(Packages.java.lang)
//创建脚本环境对象-它是任何脚本的主要入口点,
var脚本= ScriptingEnvironment.instance
//获取调试服务器并启动调试会话
调试服务器= script.getServer("DebugServer.1")
debugServer.setConfig("C:\\workspace\\project\\TMS320F2.8335万.ccxml")
debugS= debugServer.openSession.openSexpress\sexpression.sce\sexpresse("debugession.sce\sexpresse\sexpression.sce\sexpress\sexpression\s'sce\sexpression.sce("debugSession.sce\s'sce\sexpression\sexpression\sce\sexpresse\sexpression\sexpress\sexpresse\sexpression\sexpression\sexpression\sexpression\sexpression\s'sc
如果我通过“脚本控制台”启动此程序,所有操作都将按预期进行,测试将执行,通过并生成其结果文件。
我能够进一步扩展这一范围,包括多项测试(test2.gel,test3.gel等)。
接下来,显而易见的步骤是能够直接从命令行启动测试会话,而无需启动GUI。 我四处搜索,认为我找到了我需要的东西:
eclipsec.exe -noSplash -data C:\\workspace -application com.ti.ccstudio.apps.runScript -CCS.script C:/DSP/sbatch.js
不幸的是,这 种做法基本上是可行的。 我可以看到测试在大多数初始化序列中执行,我可以看到断点命中,我可以看到正在检查的值,但测试没有完成;但是,调试会话 结束,使访问返回到命令提示符。
最终发生的情况如下:
实际= 0 (PWM1 TBPRD) 预期= 0 (PWM1 TBPRD) 结果:****** 测试通过******
实际= 0 (PWM2 TBPRD) 预期= 0 (PWM2 TBPRD) 结果:****** 测试通过******
实际= 0 (PWM3 TBPRD) 预期= 0 (PWM3 TBPRD) 结果:****** 测试通过******
实际= 1250 (PWM1 TBPRD)
在上述数据集中,最后一组数据(实际值= 1250)缺少预期检查和通过/失败确定。
如果我打开GEL_Trace(2),我可以看到它在各种帮助程序函数中的浏览,最终在许多GEL_System()函数调用中的一个函数调用结束,以帮助将数据通过管道传递到日志文件(由于Code Composer Studio 6.0 和GEL_EnableFileOutput()不工作时遇到错误)。
似乎存在某种问题/限制因素,在对GEL_System()进行了这么多次调用后,执行只会停止,而没有任何类型的调试/错误信息。
似乎在Code Composer Studio 7.0 中更正了g胶_EnableFileOutput()错误;但是,我们希望尽可能避免更改大量的自动测试集。
其他人有没有经历过这种情况? 是否有人发现了任何解决方法?
编辑:经过几次测试后,删除了gGEL_System()调用,我能够始终如一地让它们运行到完成状态,因此它看起来肯定是相关的。
尽管如此,我确实遇到了次要问题。 在Code Composer Studio内部运行时,以及从eclipsec.exe命令行选项运行以启动CCS.script时,测试的执行似乎不完全相同。
它的作用就好像初始变量值与通过Code Composer Studio本身加载生成时的值不同。 是否需要更改特定的配置选项以使两个运行配置相同?
编辑2:在运行一个较长的测试后,即使删除了GEL_System()调用并替换为GEL_TextOut(),脚本最终会无声终止。
