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.

RTOS Analyzer Error: Could not detect a UIA configuration

Other Parts Discussed in Thread: TMS320C6678, SYSBIOS

Hi all,

i have a problem running any tools from the RTOS or System Analyzer. I just wanted to see the logs i create using log_entry{n}() while debugging my program.

When i want to start one of those tools (eg. RTOS Analyzer > Printf and Error Logs), i get the error message in the popup window (see screenshot1), saying:

Could not detect a UIA configuration. One of the following is required:

* Either load a program with UIA instrumentation turned on

* Or specify a custom UIA configuration

I use the following components:

  • CCS 6.1.0.00104
  • SYS/BIOS 6.41.3.51
  • XDCtools 3.30.6.67_core
  • UIA 2.0.2.39
  • MCSDK 2.1.2.6
  • IPC 3.30.1.12
  • EDMA3 Low Level Driver 2.12.0
  • Device: TMS320C6678
  • Debug Probe: BlackHawk XDS560v2 (USB)
  • Windows 7 SP1

Please help me to get this stuff running! Thanks in advance,

Greets Stefan

  • Hi Stefan,

    It looks like you may not have UIA logging configured in your .cfg file.  Do you have a line like this in your .cfg:

    var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');


    Could you post your .cfg file?

    Best regards,

        Janet

  • Hi Janet,
    no i only have
    var Log = xdc.useModule('xdc.runtime.Log');
    in my cfg File. I could not find anything in the "Available Products" List that i could <add> or <use>, that sounded anything like "logs".
    I'll post my cfg file,
    thanxs!
    Stefan
  • /*******************************************************************************************
    * Specify all needed RTSC Moudles and configure them. *
    ********************************************************************************************/
    var Error = xdc.useModule('xdc.runtime.Error');
    var Diags = xdc.useModule('xdc.runtime.Diags');
    var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
    var System = xdc.useModule('xdc.runtime.System');

    var SysStd = xdc.useModule('xdc.runtime.SysStd');
    var Timer = xdc.useModule('ti.sysbios.hal.Timer');
    var Log = xdc.useModule('xdc.runtime.Log');
    System.SupportProxy = SysStd;

    /* Load and configure SYSBIOS packages */
    var Load = xdc.useModule('ti.sysbios.utils.Load');
    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var Sem = xdc.useModule('ti.sysbios.knl.Semaphore');
    var Event = xdc.useModule('ti.sysbios.knl.Event');
    var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
    var BiosCache = xdc.useModule('ti.sysbios.hal.Cache');
    var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
    var Exc = xdc.useModule('ti.sysbios.family.c64p.Exception');
    var Cache = xdc.useModule('ti.sysbios.family.c66.Cache');
    var TimestampProvider = xdc.useModule('ti.sysbios.timers.timer64.TimestampProvider');
    TimestampProvider.useClockTimer = true;

    BIOS.taskEnabled = true;

    /* Load and configure the IPC packages */
    var Notify = xdc.useModule('ti.sdo.ipc.Notify');
    var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ');
    var ListMP = xdc.useModule('ti.sdo.ipc.ListMP');
    var GateMP = xdc.useModule('ti.sdo.ipc.GateMP');
    var Ipc = xdc.useModule('ti.sdo.ipc.Ipc');
    var HeapBufMP = xdc.useModule('ti.sdo.ipc.heaps.HeapBufMP');
    var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');

    MultiProc.setConfig(null, ["CORE0", "CORE1", "CORE2", "CORE3", "CORE4", "CORE5", "CORE6", "CORE7"]);
    /*MultiProc.setConfig(null, ["CORE0", "CORE1", "CORE2", "CORE3", "CORE4"]);*/
    /*MultiProc.setConfig(null, ["CORE0", "CORE1"]);*/
    /*MultiProc.setConfig(null, ["CORE0"]);*/

    /* Synchronize all processors (this will be done in Ipc_start) */
    Ipc.procSync = Ipc.ProcSync_ALL;

    SharedRegion.numEntries = 3;
    SharedRegion.translate = false;

    /* Shared Memory base address and length */
    var SHAREDMEM_IPC = 0x0c200000;
    var SHAREDMEMSIZE_IPC = 0x00200000;

    SharedRegion.setEntryMeta(0,
    { base: SHAREDMEM_IPC,
    len: SHAREDMEMSIZE_IPC,
    ownerProcId: 0,
    isValid: true,
    name: "MSMCSRAM_IPC",
    });

    /* Shared Memory base address and length */
    var SHAREDMEM_DDR = 0x80000000;
    var SHAREDMEMSIZE_DDR = 0x70000000;

    SharedRegion.setEntryMeta(1,
    { base: SHAREDMEM_DDR,
    len: SHAREDMEMSIZE_DDR,
    ownerProcId: 0,
    isValid: true,
    cacheEnable: true,
    cacheLineSize: 128,
    createHeap: true,
    name: "DDR_DATA",
    });

    /* Shared Memory base address and length */
    var SHAREDMEM_MCSM = 0x0c000000;
    var SHAREDMEMSIZE_MCSM = 0x00200000;

    SharedRegion.setEntryMeta(2,
    { base: SHAREDMEM_MCSM,
    len: SHAREDMEMSIZE_MCSM,
    ownerProcId: 0,
    isValid: true,
    cacheEnable: true,
    cacheLineSize: 128,
    createHeap: true,
    name: "MSMCSRAM_SLAVE",
    });

    /*******************************************************************************************
    * Specify all needed RTSC Moudles and configure them. *
    ********************************************************************************************/

    var Startup = xdc.useModule('xdc.runtime.Startup');
    var Task = xdc.useModule('ti.sysbios.knl.Task');
    var Memory = xdc.useModule('xdc.runtime.Memory');
    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');



    Task.common$.namedInstance = true;

    /* Create a Heap. */
    var heapMemParams = new HeapMem.Params();
    heapMemParams.size = 16384;
    heapMemParams.sectionName = "systemHeapMaster";
    Program.global.heap0 = HeapMem.create(heapMemParams);
    Program.heap = 0x10000;
    Memory.defaultHeapInstance = Program.global.heap0;
    Memory.defaultHeapSize = 0x10000;


    /*==== if all L2SRAM used ==============================================================*/
    Program.sectMap[".cio"] = {loadSegment: "L2SRAM", loadAlign:8};
    Program.sectMap[".args"] = {loadSegment: "L2SRAM", loadAlign:8};

    Program.sectMap[".vecs"] = {loadSegment: "L2SRAM", loadAlign:1024};
    Program.sectMap[".csl_vect"] = {loadSegment: "L2SRAM", loadAlign:1024};
    Program.sectMap[".switch"] = {loadSegment: "L2SRAM", loadAlign:8};

    Program.sectMap[".cppi"] = {loadSegment: "L2SRAM", loadAlign:16};
    Program.sectMap[".qmss"] = {loadSegment: "L2SRAM", loadAlign:16};
    Program.sectMap[".resmgr_memregion"] = {loadSegment: "L2SRAM", loadAlign:128};
    Program.sectMap[".resmgr_handles"] = {loadSegment: "L2SRAM", loadAlign:16};
    Program.sectMap[".resmgr_pa"] = {loadSegment: "L2SRAM", loadAlign:8};
    Program.sectMap["cppiSharedHeap"] = "L2SRAM";
    Program.sectMap[".cinit"] = "L2SRAM";
    Program.sectMap[".const"] = "L2SRAM";
    Program.sectMap[".text"] = "L2SRAM";
    Program.sectMap["systemHeapMaster"] = "L2SRAM";
    Program.sectMap[".fardata"] = "DDR3_C5";
    Program.sectMap[".far"] = "DDR3_C5";
    Program.sectMap[".bss"] = "L2SRAM";
    Program.sectMap[".rodata"] = "L2SRAM";
    Program.sectMap[".neardata"] = "L2SRAM";
    Program.sectMap[".code"] = "L2SRAM";
    Program.sectMap[".data"] = "L2SRAM";
    Program.sectMap[".sysmem"] = "L2SRAM";
    Program.sectMap[".defaultStackSection"] = "L2SRAM";
    Program.sectMap[".stack"] = "L2SRAM";
    Program.sectMap[".plt"] = "L2SRAM";
    Program.sectMap["platform_lib"] = "L2SRAM";
    Program.sectMap[".dstBufCSec"] = "L2SRAM";
    Program.sectMap[".gBuffer"] = {loadAddress: 0xFC000000};
    Program.sectMap[".tracebuffer"] = {loadAddress: 0xFDFC0000};
    /*========================================================================================*/
  • Ah, the problem seems to be that my UIA is not installed correctly? When i add the line you wrote to my cfg file, i get the error:

    xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.uia.sysbios' along the path: 'D:/TI/edma3_lld_02_12_00_20/packages;D:/TI/ipc_3_30_01_12/packages;D:/TI/mcsdk_2_01_02_06/demos;D:/TI/pdk_C6678_1_1_2_6/packages;D:/TI/bios_6_41_03_51/packages;D:/Concerto_IndiCom/MODACQ/TI_DSP/Repository/packages;D:/TI/ccsv6/ccs_base;D:/Concerto_IndiCom/MODACQ/TI_DSP/Modacq_System/Modacq_MARK/.config/;D:\TI\xdctools_3_30_06_67_core\packages;'.

    UIA seems not to have added its packages to the path? Which path is ment here, and how can i complete it? Or should i reinstall UIA ..

    This may be the reason that i can't add "Loggers" to SYS/BIOS with the "Available Products" Window, e.g. using Context Menu

  • Hi Stefan,

    Yes, it looks like you don't have UIA in the package path.  Did you install it in a different location from your other packages (eg, BIOS)?  Are you building in CCS?  If so, CCS should have discovered UIA if it was installed in your CCS directory (D:/TI, in your case), unless you have disabled the 'search for no products whenever CCS is started'.  Anyhow, you should be able to add UIA to the package path through the project options -> General -> RTSC,  by selecting 'Add' and browsing to the location:


    Best regards,

        Janet

  • Looks like my screen shot didn't make it into the previous post.  Here it is,

        Janet

  • Hi Janet,

    yes, I'm building in CCS, and i had installed UIA to my CCS directory, and startup product search enabled. I did use the "Add" feature before too, but with no changes in the package list. It looked like this:

    But now, the error is gone! My project properties look all the same, i did not change anything, but now it works!? :-) I mean, thats good, but i don't understand why. After several restarts, clean & rebuilds (i did before, without the error disappearing), now it works! Strange ...

  • Hi again,

    What i did is, changing the "xdcpath" flag manually, in ProjectProperties > Build > XDCTools > Add additional flag, to the UIA/packages folder. But without success, the function seemed to be buggy, adding the new path 3 times into the complete one ...

    So i reloaded the .project, .csproject and .cssproject file from backup, activated UIA in the project properties once again, cleaned&recompiled, and - juppidu! - UIA is working! :-)

    Thanx for your help, you are fantastic!
    Kind regards, Stefan
  • Hi Stefan,

    I'm glad to here your project is building now.  I'm not sure why it didn't build the first time since you had UIA checked in your list of packages for the RTSC settings.  A rebuild of the project should have been enough, which is supposed to happen when you hit the build button after changing the project settings.  It might be an issue with CCS, but I couldn't reproduce the problem you had.

    Best regards,

        Janet