I build a c28335 project on ccs3.3 , and write a perl script, when i run the script , It aways appear follow message.
D:\CCStudio_v3.3\bin\utilities\ccs_scripting\Examples\Perl>perl c28_test_Debug.pl
Exception caught during CCSConfigClear : Automation Error in Code Composer Studio
the file is my perl script file , can you tell me what problems for it ?
# ccs_Debug.pl
# Demonstrates some of Code Composer Studio Scripting's debugging functionality
# Pulls in the Code Composer Studio Scripting declarations and definitions
use CCS_SCRIPTING_PERL;
# Declarations and Initializations
# Create 2 new Code Composer Studio Scripting objects
my $MyCCScripting = new CCS_SCRIPTING_PERL::CCS_Scripting();
my $MyCCScripting2 = new CCS_SCRIPTING_PERL::CCS_Scripting();
my $sCurDir;
my $sLogFile;
my $sProject;
my $sProgram;
my $nPCVal;
my $nPCVal2;
my $nMainAddr;
my $nBreakpoint1;
my $nBreakpoint2;
my $sHexOutput;
my $sBoardName;
my $sCPUName;
my $sVersion;
$sProject = ".\\c28_test\\c28_test.pjt";
$sProgram = ".\\c28_test\\Debug\\c28_test.out";
$sLogFile = ".\\c28_test_ccs_Debug.log";
$sCurDir = ".\\";
#print ("Testing...\n");
# Open log file and set to maximum level of debug output
$MyCCScripting -> ScriptTraceBegin($sLogFile);
$MyCCScripting -> ScriptTraceVerbose($CCS_SCRIPTING_PERL::VERBOSE_ALL);
# Get the current version of Code Composer Studio Scripting
#$sVersion = $MyCCScripting->ScriptGetVersion();
#$MyCCScripting -> ScriptTraceWrite("$sVersion\n");
#print "$sVersion\n";
# Open Code Composer Studio for the C55x Phase 3 Simulator
#$MyCCScripting -> CCSOpen($CCS_SCRIPTING_PERL::ISA_C55,
# 0,
# 0,
# $CCS_SCRIPTING_PERL::PLATFORM_SIMULATOR,
# 1);
# Alternatively --
# Clear current Code Composer Studio configuration
# Configure for a c55x simulator
# Open that as the default Code Composer Studio configuration
# Make the Code Composer Studio application not visible
# The CCSConfigImport API requires an absolute pathname to the configuration file
$MyCCScripting -> CCSConfigClear();
$MyCCScripting -> CCSConfigImport("c:\\CCStudio_v3.3\\drivers\\import\\f2812_sim.ccs");
$MyCCScripting -> CCSOpenNamed("*", "*", 0);
# Retrieve the Board name and CPU name of the current configuration
# and write names to log file
#$sBoardName = $MyCCScripting -> TargetGetBoardName();
#$sCPUName = $MyCCScripting -> TargetGetCPUName();
#$MyCCScripting -> ScriptTraceWrite("Board Name: $sBoardName\n");
#$MyCCScripting -> ScriptTraceWrite("CPU Name: $sCPUName\n\n");
# The previous Board name and CPU name can be used to open other instance of Code Composer Studio
#$MyCCScripting2 -> CCSOpenNamed($sBoardName, $sCPUName, 0);
# Set the Current Directory, if necessary
$MyCCScripting -> CCSSetCurrentDirectory($sCurDir);
# Open the project
$MyCCScripting -> ProjectOpen($sProject);
# Build a project
#$MyCCScripting -> ProjectBuild("Debug");
# Load an .out file
$MyCCScripting -> ProgramLoad($sProgram);
# Get the address of main. Set a breakpoint at main.
$nMainAddr = $MyCCScripting -> SymbolGetAddress("main");
#$nBreakpoint1 = $MyCCScripting -> BreakpointSetAddress($nMainAddr);
# Run to breakpoint (main)
#$MyCCScripting -> TargetRun();
# Read the value of the PC and display in the DOS prompt
while ($nPCVal != 0x3f6084){
#$MyCCScripting->RegisterWrite("AR0", 0x5555);
$MyCCScripting -> TargetStepIntoAsm();
$nPCVal = $MyCCScripting -> RegisterRead("PC");
#$nSPVal = $MyCCScripting -> RegisterRead("SP");
#$nARVal = $MyCCScripting -> RegisterRead("XAR0");
#$nSPVal = $MyCCScripting -> RegisterRead("SP");
$sHexOutput1 = sprintf("PC :0x%x ", $nPCVal);
#$sHexOutput2 = sprintf("XAR0 :0x%x\n", $nARVal);
print $sHexOutput1;
#print $sHexOutput2;
}
# Display the address of main in the DOS prompt
$sHexOutput = sprintf("The address of main is -> 0x%x \n", $nMainAddr);
#print $sHexOutput;
# Perform a step into C source
#$MyCCScripting -> TargetStepOverSrc;
# Perform a step into Asm source
#$MyCCScripting -> TargetStepIntoAsm;
# Set a breakpoint at the value of the PC
#$nPCVal2 = $MyCCScripting -> RegisterRead("PC");
#$nBreakpoint2 = $MyCCScripting -> BreakpointSetAddress($nPCVal2);
# Write a comment to the log file
#$MyCCScripting -> ScriptTraceWrite("Restarting and rerunning program\n");
# Remove the second breakpoint.
#$MyCCScripting -> BreakpointRemove($nBreakpoint2);
# Remove all the breakpoints. Restart and rerun.
#$MyCCScripting -> BreakpointRemoveAll;
#$MyCCScripting -> TargetReset;
#$MyCCScripting -> TargetRestart;
#$MyCCScripting -> TargetRun;
# Check previous values
if ($nPCVal == $nMainAddr)
{
$MyCCScripting -> ScriptTraceWrite("\nTest Passed\n");
# print ("Passed");
}
else
{
$MyCCScripting -> ScriptTraceWrite("\nTest Failed\n");
print ("Failed");
}
# Close all current Code Composer Studio processes
$MyCCScripting -> CCSClose();
# Or, close only one Code Composer Studio
#$MyCCScripting2 -> CCSClose(0);
# Close the log file
$MyCCScripting -> ScriptTraceEnd;