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.

Issues with UIA and RTA on EVM6678

Other Parts Discussed in Thread: SYSBIOS, CCSTUDIO

I've gotten quite stuck on this test program to get RTA Log_printfX output. It seems the upgrade from an 6472, and CCSv4.2 to the 6678 and CCSv5 is non-trivial.

At the moment I have been unable to get more than one print out of the program, and sometimes it won't even reach main.

Versions:

CCS: 5.1.0.06000

BIOS: 6.32.1.38

XDCTools: 3.22.1.21

IPC: 1.23.1.26

MCSDK: 2.0.1.12

UIA: 1.0.1.16.eng

config script:

//////////////////////////////////////////////
// Generic XDC Modules for use
//////////////////////////////////////////////
var Main        = xdc.useModule('xdc.runtime.Main');
// logger for diagnostics tools
var LoggerBuf   = xdc.useModule('xdc.runtime.LoggerBuf');
var LoggerSys   = xdc.useModule('xdc.runtime.LoggerSys');
//Generic Defaults - random things go here
var Defaults    = xdc.useModule('xdc.runtime.Defaults');
// Diagnostics tools
var Diags       = xdc.useModule('xdc.runtime.Diags');
var Log         = xdc.useModule('xdc.runtime.Log');
var SysStd      = xdc.useModule('xdc.runtime.SysStd');
var System      = xdc.useModule('xdc.runtime.System');

var Program     = xdc.useModule('xdc.cfg.Program');

var Memory      = xdc.useModule('xdc.runtime.Memory');

//////////////////////////////////////////////
// BIOS Modules for use
//////////////////////////////////////////////
var Bios    = xdc.useModule('ti.sysbios.BIOS');
var Task    = xdc.useModule('ti.sysbios.knl.Task');
var Clock   = xdc.useModule('ti.sysbios.knl.Clock');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
// bios utility for CPU loading
var Load    = xdc.useModule('ti.sysbios.utils.Load');
// Real Time Analysis Agent for getting data out of the DSP
var Agent   = xdc.useModule('ti.sysbios.rta.Agent');

//////////////////////////////////////////////
// TI Debugging modules -- not needed for C66?
//////////////////////////////////////////////
//var ti_rtdx_driver_RtdxDvr = xdc.useModule('ti.rtdx.driver.RtdxDvr');
//var ti_rtdx_RtdxModule     = xdc.useModule('ti.rtdx.RtdxModule');

//////////////////////////////////////////////
// TI Debugging modules
//////////////////////////////////////////////
var UIAErr      = xdc.useModule('ti.uia.events.UIAErr');
var UIAEvt      = xdc.useModule('ti.uia.events.UIAEvt');
var UIABenchmark= xdc.useModule('ti.uia.events.UIABenchmark');
var UIAStatistic= xdc.useModule('ti.uia.events.UIAStatistic');

var UIALogger   = xdc.useModule('ti.uia.runtime.LoggerCircBuf');




// parameters for creating new tasks
var task_params = new Task.Params;

//////////////////////////////////////////////
// Diagnostics and Logging Configuration
//////////////////////////////////////////////
// Old logger
//var logbuf_params = new LoggerBuf.Params;
//logbuf_params.bufType = LoggerBuf.BufType_CIRCULAR;
//logbuf_params.numEntries = 512;
//logbuf_params.exitFlush = true;
//var loggerBuf = LoggerBuf.create(logbuf_params);
// New UIA Logger
var loggerParams = new UIALogger.Params();
loggerParams.transferBufSize = 32768;
loggerBuf = UIALogger.create(loggerParams);
loggerBuf.instance.name = "Main Logger";

Load.taskEnabled = true;

Main.common$.logger = loggerBuf;
Main.common$.diags_USER1 = Diags.RUNTIME_ON;
Main.common$.diags_USER2 = Diags.RUNTIME_ON;
Main.common$.diags_USER3 = Diags.RUNTIME_OFF;
Main.common$.diags_USER4 = Diags.RUNTIME_OFF;
Main.common$.diags_USER5 = Diags.RUNTIME_OFF;
Main.common$.diags_USER6 = Diags.RUNTIME_OFF;
Main.common$.diags_INFO = Diags.RUNTIME_ON;
Main.common$.diags_ANALYSIS = Diags.RUNTIME_ON;
Main.common$.diags_LIFECYCLE = Diags.RUNTIME_ON;
Main.common$.diags_INTERNAL = Diags.RUNTIME_ON;
Main.common$.diags_EXIT = Diags.RUNTIME_ON;
Main.common$.diags_ENTRY = Diags.RUNTIME_ON;

Agent.configureLoadLog = true;
Agent.numLoadRecords = 512;
Agent.configureSystemLog = true;
Agent.numSystemRecords = 512;
//Agent.transport = Agent.Transport_RTDX;
Agent.priority = 15;
Agent.periodInMs = 10;

//////////////////////////////////////////////
// load program specific modules
//////////////////////////////////////////////
var Benchmark = xdc.useModule('tasks.BenchmarkTask');
var Covar     = xdc.useModule('algorithms.Covariance');

// create and configure program specific XDC Instances
var covar_params = new Covar.Params;
var bench_params = new Benchmark.Params;
bench_params.CovarianceH = Covar.create(covar_params);
var bench_task = Benchmark.create(bench_params);

// create the Benchmarking task
task_params.arg0 = bench_task;
task_params.arg1 = 0;
task_params.priority = 10;
Task.create(Benchmark.RunBenchmark, task_params);


//////////////////////////////////////////////
// Global Settings
//////////////////////////////////////////////
System.SupportProxy = SysStd;
System.extendedFormats = "%f";


//////////////////////////////////////////////
// Memory Settings
//////////////////////////////////////////////
Memory.defaultHeapSize = 0x10000;
Program.heap = 0x10000

Program.stack = 0x2000;

var heap_mem_params = new HeapMem.Params;
heap_mem_params.size = 0x10000;
heap_mem_params.align = 128;
Program.global.heap = HeapMem.create(heap_mem_params);

Memory.defaultHeapInstance = Program.global.heap;

 

Any help in getting RTA Log_printf to work would be helpful.

Thanks

  •  

    Can you clarify which tools you're using in CCStudio to view the logs.

    If you're using UIA in your application then you'll need to use System Analyzer (which will be the eventual replacement for RTA) to view the logs. Information on System Analyzer is available here (http://processors.wiki.ti.com/index.php?title=Multicore_System_Analyzer) ... see getting stated guide, user guide, etc. Also see know issues.

    The RTA feature is still supported but for stop-mode JTAG data collection only (i.e. logs will be read only when the target is halted). To use RTA you should not be using UIA in your application.

    Regards,

    Imtaz.

  • I am using RTA to view the logs. I did finally get it working.