importPackage(Packages.com.ti.debug.engine.scripting) importPackage(Packages.com.ti.ccstudio.scripting.environment) importPackage(Packages.com.ti.dvt.engine.scripting) importPackage(Packages.java.lang) importPackage(Packages.java.io) importPackage(Packages.java.util) /* * This file contains an example for running Code Coverage Analysis on a C6670 board over XDSPRO * The example will export processed data to CSV files locate in CWD (Current Working Directory). * * See /ccs_base/scripting/docs/DVTAnalyzerScripting.htm for complete details on * Hardware Trace Analyzer scripting */ // ---------- Start up ---------- script = ScriptingEnvironment.instance(); script.setScriptTimeout(240000); // Create a log file in the current directory to log script execution script.traceBegin("scriptLog.xml", "DefaultStylesheet.xsl"); script.traceSetConsoleLevel(TraceLevel.INFO); script.traceSetFileLevel(TraceLevel.INFO); script.traceWrite("Starting Code Coverage"); // ---------- Set up debugger ---------- script.traceWrite("Launching debugger"); debugServer = script.getServer("DebugServer.1"); debugServer.setConfig("C:/ti/ccs6.2.0.00050/ccsv6/ccs_base/scripting/examples/DVTExamples/HardwareTraceAnalyzer/liveExamples/rm57/rm57l843_protrace2.ccxml"); dsR5 = debugServer.openSession("*", "*"); script.traceWrite("Connecting CPU"); dsR5.target.connect(); script.traceWrite("Loading program"); dsR5.memory.loadProgram("C:/ti/ccs6.2.0.00050/ccsv6/ccs_base/scripting/examples/DVTExamples/HardwareTraceAnalyzer/liveExamples/rm57/RM57Lx_demo_software.out"); // ---------- Create a DVT server ---------- dvtServer = script.getServer("DVTServer.1"); // ---------- Set up the analysis ---------- script.traceWrite("Setting up analysis session"); analysisSession = dvtServer.openAnalysisSession(); analysisConfig = analysisSession.loadAnalysis("Hardware Trace Analyzer/Code Coverage"); analysisConfig.setProperty("core", dsR5.getName()); analysisConfig.setProperty("transportType", "Pro Trace"); analysisConfig.setProperty("bufferSize", "64 kB"); analysisConfig.run(); //---------- Run target for 2 secs ---------- script.traceWrite("Running target"); //dsR5.target.runAsynch(); //Thread.sleep(2000); //dsR5.target.halt(); dsR5.target.run(); // ---------- Wait until processing is done ---------- script.traceWrite("Processing"); analyzer = analysisConfig.findAnalyzerByName("Code Coverage"); analyzer.waitForEndOfData(); // ---------- Post analysis - export the data to a CSV file ---------- cwd = script.getCurrentDirectory(); script.traceWrite("Exporting results to " + cwd); analyzer.exportDataToCSV("Line Coverage", cwd+"/"+"LineCoverageLive.csv", null); analyzer.exportDataToCSV("Function Coverage", cwd+"/"+"FunctionCoverageLive.csv", null); // ---------- shut down ---------- script.traceWrite("Shutting down"); analysisSession.endAnalysis(analysisConfig); debugServer.stop(); dvtServer.stop(); script.traceEnd();