Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

RTOS/TMS320C6657: DbgPrintf does not print to console

$
0
0

Part Number:TMS320C6657

Tool/software: TI-RTOS

Hi,

I'm not getting console output when I call the DbgPrintf function while running the NDK 3.40.1.01 on an EVMC6657L board.

I'm using SYSBIOS 6.75.2.00

XDC 3.50.8.24_core

I've set the debug print level to DBG_INFO in the stack configuration task:

rc = DBG_INFO;
   CfgAddEntry (hCfg, CFGTAG_OS, CFGITEM_OS_DBGPRINTLEVEL,
      CFG_ADDMODE_UNIQUE, sizeof(uint32_t), (UINT8 *) &rc, 0);

I've also tried just calling System_printf( ) directly, from main() and also from a task. If I simply call the printf() function, I do see the output on the console. The console, is viewed through the jtag emulator:

My SYSBIOS configuration file is pasted below. I'd appreciate some help in getting this functionality working.

Thanks,

Jim

var Defaults = xdc.useModule('xdc.runtime.Defaults');
var Diags = xdc.useModule('xdc.runtime.Diags');
var Error = xdc.useModule('xdc.runtime.Error');
var Log = xdc.useModule('xdc.runtime.Log');
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
var Main = xdc.useModule('xdc.runtime.Main');
var Memory = xdc.useModule('xdc.runtime.Memory')
var SysMin = xdc.useModule('xdc.runtime.SysMin');
var System = xdc.useModule('xdc.runtime.System');
var Text = xdc.useModule('xdc.runtime.Text');

var BIOS = xdc.useModule('ti.sysbios.BIOS');
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
var Swi = xdc.useModule('ti.sysbios.knl.Swi');
var Task = xdc.useModule('ti.sysbios.knl.Task');
var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
var Idle = xdc.useModule('ti.sysbios.knl.Idle');
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');


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

var Cache       =   xdc.useModule('ti.sysbios.family.c66.Cache');

/* lower half of DDR3 is cached */
Cache.setMarMeta(0x80000000, 0x10000000, 1);

/* upper half of DDR3 is non-cached */
Cache.setMarMeta(0x90000000, 0x10000000, 0);


var Exception = xdc.useModule('ti.sysbios.family.c64p.Exception');
var CpIntc = xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
var EventCombiner = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');

/*
** Use this load to configure NDK 2.2 and above using RTSC. In previous versions of
** the NDK RTSC configuration was not supported and you should comment this out.
*/
var Ndk       = xdc.loadPackage('ti.ndk.config');
var Global       = xdc.useModule('ti.ndk.config.Global');
/*
** This allows the heart beat (poll function) to be created but does not generate the stack threads
**
** Look in the cdoc (help files) to see what CfgAddEntry items can be configured. We tell it NOT
** to create any stack threads (services) as we configure those ourselves in our Main Task
** thread hpdspuaStart.
*/  
Global.enableCodeGeneration = false;

var Startup = xdc.useModule('xdc.runtime.Startup');
var SysStd = xdc.useModule('xdc.runtime.SysStd');

/*
 * Uncomment this line to globally disable Asserts.
 * All modules inherit the default from the 'Defaults' module.  You
 * can override these defaults on a per-module basis using Module.common$.
 * Disabling Asserts will save code space and improve runtime performance.
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
 */

/*
 * Uncomment this line to keep module names from being loaded on the target.
 * The module name strings are placed in the .const section. Setting this
 * parameter to false will save space in the .const section.  Error and
 * Assert messages will contain an "unknown module" prefix instead
 * of the actual module name.
Defaults.common$.namedModule = false;
 */

/*
 * Minimize exit handler array in System.  The System module includes
 * an array of functions that are registered with System_atexit() to be
 * called by System_exit().
 */
System.maxAtexitHandlers = 8;

/*
 * Uncomment this line to disable the Error print function.  
 * We lose error information when this is disabled since the errors are
 * not printed.  Disabling the raiseHook will save some code space if
 * your app is not using System_printf() since the Error_print() function
 * calls System_printf().
Error.raiseHook = null;
 */

/*
 * Uncomment this line to keep Error, Assert, and Log strings from being
 * loaded on the target.  These strings are placed in the .const section.
 * Setting this parameter to false will save space in the .const section.
 * Error, Assert and Log message will print raw ids and args instead of
 * a formatted message.
Text.isLoaded = false;
 */

/*
 * Uncomment this line to disable the output of characters by SysMin
 * when the program exits.  SysMin writes characters to a circular buffer.
 * This buffer can be viewed using the SysMin Output view in ROV.
SysMin.flushAtExit = false;
 */

/*
 * The BIOS module will create the default heap for the system.
 * Specify the size of this default heap.
 */
BIOS.heapSize = 0x1000;

/*
 * Build a custom SYS/BIOS library from sources.
 */
BIOS.libType = BIOS.LibType_Custom;

/* System stack size (used by ISRs and Swis) */
Program.stack = 0x2000;

/* Circular buffer size for System_printf() */
SysMin.bufSize = 0x200;

/*
 * Create and install logger for the whole system
 */
var loggerBufParams = new LoggerBuf.Params();
loggerBufParams.numEntries = 16;
var logger0 = LoggerBuf.create(loggerBufParams);
Defaults.common$.logger = logger0;
Main.common$.diags_INFO = Diags.ALWAYS_ON;

System.SupportProxy = SysMin;

var clock0Params = new Clock.Params();
clock0Params.instance.name = "clock0";
clock0Params.period = 1;
clock0Params.startFlag = true;
Program.global.clock0 = Clock.create("&GpakSchedulingTimer", 1, clock0Params);
Idle.idleFxns[0] = "&GpakIdleTaskFunc";


var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var heapMemParams = new HeapMem.Params();
heapMemParams.size = 0x8000;
heapMemParams.sectionName = "systemHeap";
Program.global.heap0 = HeapMem.create(heapMemParams);

Memory.defaultHeapInstance  =   Program.global.heap0;

Program.sectMap["sharedL2"] = "MSMCSRAM";
Program.sectMap["systemHeap"] = "MSMCSRAM";
Program.sectMap[".sysmem"]  = "MSMCSRAM";
Program.sectMap[".args"]    = "MSMCSRAM";
Program.sectMap[".cio"]     = "MSMCSRAM";
Program.sectMap[".far"]     =     "MSMCSRAM";
/*
Program.sectMap[".rodata"]     =     "MSMCSRAM";
Program.sectMap[".neardata"]     =     "MSMCSRAM";
Program.sectMap[".bss"]        =    "MSMCSRAM";
*/
Program.sectMap[".cppi"]     =     "MSMCSRAM";
Program.sectMap[".init_array"]     =     "MSMCSRAM";
Program.sectMap[".qmss"]     =     "MSMCSRAM";
Program.sectMap[".cinit"]     =     "MSMCSRAM";
Program.sectMap[".const"]    =    "MSMCSRAM";
Program.sectMap[".text"]    =    "MSMCSRAM";
Program.sectMap[".code"]    =    "MSMCSRAM";
Program.sectMap[".switch"]    =    "MSMCSRAM";
Program.sectMap[".data"]    =    "MSMCSRAM";
Program.sectMap[".fardata"] =     "MSMCSRAM";
Program.sectMap[".args"]     =     "MSMCSRAM";
Program.sectMap[".cio"]     =     "MSMCSRAM";
Program.sectMap[".vecs"]     =     "MSMCSRAM";
Program.sectMap["emacComm"]          = "L2SRAM"
Program.sectMap[".far:taskStackSection"] = "L2SRAM";
Program.sectMap[".stack"]    =    "L2SRAM";
Program.sectMap[".far:IMAGEDATA"] = {loadSegment: "L2SRAM", loadAlign: 8};
Program.sectMap[".far:NDK_OBJMEM"] = {loadSegment: "L2SRAM", loadAlign: 8};
Program.sectMap[".far:NDK_PACKETMEM"] = {loadSegment: "L2SRAM", loadAlign: 128};


/* Load the CSL package */
var devType                     =     "c6657";
var Csl                         =     xdc.useModule('ti.csl.Settings');
Csl.deviceType                     =     devType;
Csl.useCSLIntcLib                 =     true;

/* Load the OSAL package */
var osType = "tirtos"
var Osal = xdc.useModule('ti.osal.Settings');
Osal.osType = osType;

/* Load the QMSS package */
var Qmss                        =   xdc.loadPackage('ti.drv.qmss');

/* Load the EMAC packages */
var Emac = xdc.loadPackage('ti.drv.emac');
Emac.Settings.socType = devType;
var socType           = "c6657";

var Nimu         = xdc.loadPackage('ti.transport.ndk.nimu');
Nimu.Settings.socType  = socType;



Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>