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.

could not load UIA configuration to start system analyzer

Other Parts Discussed in Thread: SYSBIOS

Hey Guys,

I installed a new toolchain with:

  • CCS v6.0.1.00040 
  • Sys/Bios 6.40.02.27
  • UIA 2.00.00.28
  • C6000 Code Generation Tools v7.4.9

But I'm not able to start the system analyzer. My problem is, if i selected a new created custom uia configuration file in the start window i could not see these configuration in the table. The table is empty. I see the Warnings/Errors: Select a valid UIA configuration file. You can find my configuration (DefaultSessionLive.usmxml) here:

<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_13" class="java.beans.XMLDecoder">
 <object class="com.ti.uia.host.core.Session$Config">
  <void property="endpoints">
   <void method="add">
    <object class="com.ti.uia.host.core.Session$Config$Endpoint">
     <void property="clockFreq"><long>600000000</long></void>
     <void property="name"><string>C674X_0</string></void>
     <void property="outFile"><string>/home/carradio/CCSv6_workspace/ProjectX/build/dsp.out</string></void>
     <void property="rtaFile"> <string>/home/carradio/CCSv6_workspace/ProjectX/build/tmp_config/package/cfg/sysbios_dsp_pe674.rta.xml</string></void>
     <void property="uiaFile"> <string>/home/carradio/CCSv6_workspace/ProjectX/build/tmp_config/package/cfg/sysbios_dsp_pe674.uia.xml</string></void>
    </object>
   </void>
  </void>
  <void property="eventTransport">
   <object class="com.ti.uia.host.core.Session$Config$Transport">
    <void property="customProperties">
     <void method="put"><string>Port</string><int>8080</int></void>
     <void method="put"><string>Address</string><string>localhost</string></void>
    </void>
    <void property="file"><string></string></void>
    <void property="type"><string>JTAG</string></void>
   </object>
  </void>
 </object>
</java>

A other problem is, that my ROV needs nearly 10min to start. Could it be the same reason?


Here you can find my sysbios.cfg:


/***** Import Modules *****/

/* Here, I import all the modules I actually use. XDC will resolve transitive
   dependencies. Other modules that were present in TI's version are listed below. */
var System       = xdc.useModule('xdc.runtime.System');
var MEM          = xdc.useModule('ti.bios.MEM');
var Memory       = xdc.useModule('xdc.runtime.Memory')
var Clock        = xdc.useModule('ti.sysbios.knl.Clock');
var Task         = xdc.useModule('ti.sysbios.knl.Task');
var Semaphore    = xdc.useModule('ti.sysbios.knl.Semaphore');
var Event        = xdc.useModule('ti.sysbios.knl.Event');
var Queue        = xdc.useModule('ti.sysbios.knl.Queue');

var Cache        = xdc.useModule('ti.sysbios.family.c64p.Cache');
var Hwi          = xdc.useModule('ti.sysbios.family.c64p.Hwi');
var EventCombiner = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
var GenericHwi   = xdc.useModule('ti.sysbios.hal.Hwi');

var Timer        = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
var Diags        = xdc.useModule('xdc.runtime.Diags');
var Log          = xdc.useModule('xdc.runtime.Log');
//var LoggerBuf  = xdc.useModule('xdc.runtime.LoggerBuf');
var Main         = xdc.useModule('xdc.runtime.Main');

//var SysStd         = xdc.useModule('xdc.runtime.SysStd');
var SysMin       = xdc.useModule('xdc.runtime.SysMin');
var HeapMem      = xdc.useModule('ti.sysbios.heaps.HeapMem');
var IHeap        = xdc.useModule('xdc.runtime.IHeap');
var BIOS         = xdc.useModule('ti.sysbios.BIOS');
var Mailbox      = xdc.useModule('ti.sysbios.knl.Mailbox');

//var Agent      = xdc.useModule('ti.sysbios.rta.Agent');  // needed for RTA
// Using System Analyzer nao.
var Defaults = xdc.useModule('xdc.runtime.Defaults');
//var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
/*var LoggerCircBuf = xdc.useModule('ti.uia.runtime.loggers.LoggerRunMode');*/
var LoggerStopMode = xdc.useModule('ti.uia.loggers.LoggerStopMode');
var LoggerSM = xdc.useModule('ti.uia.runtime.LoggerSM');
var Load = xdc.useModule('ti.sysbios.utils.Load');
var UIABenchmark = xdc.useModule('ti.uia.events.UIABenchmark');
var UIAEvt = xdc.useModule('ti.uia.events.UIAEvt');
var UIAErr = xdc.useModule('ti.uia.events.UIAErr');

var Exception    = xdc.useModule('ti.sysbios.family.c64p.Exception');
Exception.exceptionHook = "&_Z18myExceptionHandlerv";


/* Create defaults for the whole system. */
Defaults.common$.diags_INFO = Diags.ALWAYS_ON;
Defaults.common$.diags_STATUS = Diags.ALWAYS_ON;
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_ON;
Defaults.common$.diags_ASSERT = Diags.ALWAYS_ON;  
Defaults.common$.diags_ENTRY = Diags.ALWAYS_ON;  
Defaults.common$.diags_EXIT = Diags.ALWAYS_ON;  
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_ON;  
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_ON;  
Defaults.common$.diags_USER1 = Diags.ALWAYS_ON;  
Defaults.common$.diags_USER2 = Diags.ALWAYS_ON;  
Defaults.common$.diags_USER3 = Diags.ALWAYS_ON;  
Defaults.common$.diags_USER4 = Diags.ALWAYS_ON;  
Defaults.common$.diags_USER5 = Diags.ALWAYS_ON;  
Defaults.common$.diags_USER6 = Diags.ALWAYS_ON;
Defaults.common$.namedInstance = true;
Defaults.common$.namedModule = true;

/* Configur Load module */
Load.updateInIdle = true; // Selects whether to automatically call update in idle loop
Load.windowInMs = 500; // This determines how often statistics are updated in the idle loop, when updateInIdle is enabled
Load.taskEnabled = true; // Enables Task time monitoring
Load.hwiEnabled = true; // Enables Hwi time monitoring
Load.swiEnabled = true; // Enables Swi time monitoring


LoggerStopMode.level1Mask = Diags.USER2;
LoggerStopMode.level2Mask = 0;
LoggerStopMode.level3Mask = 0;
LoggerStopMode.level4Mask = (Diags.ALL_LOGGING & (~Diags.USER2));


/* System Analyzer */
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
//LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGRUNMODE;
LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGSTOPMODE;
//LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_SIMULATOR;
LoggingSetup.mainLogging = true;
LoggingSetup.loadLogging = true;
LoggingSetup.sysbiosTaskLogging = true; //(default = true)
LoggingSetup.sysbiosSwiLogging = true; //(default = false)
LoggingSetup.sysbiosHwiLogging = true; //(default = false)
LoggingSetup.loadLoggerSize = 2048;         // 2048
LoggingSetup.mainLoggerSize = 16384;            // 16384
LoggingSetup.sysbiosLoggerSize = 524288;    // 16384
LoggingSetup.disableMulticoreEventCorrelation = true; // true for single core DSP
LoggingSetup.loadTaskLogging = true;


BIOS.libType = BIOS.LibType_Instrumented;  

/***** TI configuration suggestions *****/
/* (Comments are mostly TI's.) */

/* Default stack size. */
Task.defaultStackSize = 16384;


Program.stack = 0x2200;


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

/* Circular buffer size for System_printf() */
SysMin.bufSize = 0x400;
System.SupportProxy = SysMin;
//System.SupportProxy = SysStd;


Main.common$.diags_INFO = Diags.ALWAYS_ON;
Main.common$.diags_STATUS = Diags.ALWAYS_ON;
Main.common$.diags_ANALYSIS = Diags.ALWAYS_ON;
Main.common$.diags_ASSERT = Diags.ALWAYS_ON;  
Main.common$.diags_ENTRY = Diags.ALWAYS_ON;  
Main.common$.diags_EXIT = Diags.ALWAYS_ON;  
Main.common$.diags_INTERNAL = Diags.ALWAYS_ON;  
Main.common$.diags_LIFECYCLE = Diags.ALWAYS_ON;  
Main.common$.diags_USER1 = Diags.ALWAYS_ON;  
Main.common$.diags_USER2 = Diags.ALWAYS_ON;
Main.common$.diags_USER3 = Diags.ALWAYS_ON;  
Main.common$.diags_USER4 = Diags.ALWAYS_ON;  
Main.common$.diags_USER5 = Diags.ALWAYS_ON;  
Main.common$.diags_USER6 = Diags.ALWAYS_ON;


/***** tsd.common Task Extensions *****/
Task.addHookSet({ registerFxn: "&Taskx_Register",
                  createFxn: "&Taskx_Create",
                  exitFxn: "&Taskx_Exit",
                  deleteFxn: "&Taskx_Delete" });

/***** Timer *****/
/* Tell it our base functional clock (OSC0). Default is 32768 Hz. */
Timer.intFreq.lo = 20000000;
Timer.intFreq.hi = 0;



Can anybody find a reason for this behavior?

System infos:
OS: Ubuntu 12.04
Target: C6000 familiy, mainly C674x

Cheers Stefan

  • Hi Stefan,

    Was this working before you installed the new toolchain?  Could you try building and running one of the UIA examples (eg, stairstep JTAGSTOPMODE) and see if that works?  Also, could you post some screen shot of your UIA config and maybe a screen shot showing the error?

    Thanks,

        Janet

  • Hi Janet,

    after the upgrade to CCSv6 I didn't saw any working system analyzer. Now I building and running a uia example with old CCSv5.4 simulators (CCSv6 has no simulators) and it works. But my problem still exists.

    If I start the system analyzer in my project and choose Duration Analysis, Function Profiler or Statistical Analysis (same behavior) i get the following picture.

     

    When I select my uia config file (see my first post) I get the following error:

    I didn't understand why there are nothing after the selection in the table. If I click start than I get the following picture:

    Did anybody know why the system analyzer don't accept my uia configuration? I created many other cofigurations with the same success.

    Thanks

    Stefan

  • Hi Stefan,

    From the screen shots, it looks like System Analyzer cannot find the generated uia.xml and rta.xml files.  Are these files in the location specified in your DefaultSessionLive.usmxml file?

    Also, since you are using LoggerSM, you would need to save the data to a binary file and then open the binary file in System Analyzer.  There is no way to display LoggerSM data live with System Analyzer.

    You might try starting with LoggerStopMode first, if you have a JTAG connection to your board.

    Best regards,

        Janet

  • Hi Janet,


    sorry but my sysbios.cfg in my first post wasn't the actual config. The post is now correct. You can now see that i use the LoggerStopMode.

    For me it locks like a bug in the system analyzer. In the local project the system analyzer find automatically the uia configuration. But if i use my own configuration it doesn't work.


    I checked your other idea with the generated files at the same position but with no success. When i create a uia config i have to define the position of the .out and .uia.xml so that these files are known. You can find the process to create the uia configuration (DefaultSessionLive.usmxml in my first post) in the following pictures:

    It is possible that i forgot a general setting in CCSv6?

    Best regards,

    Stefan

  • Hi Stefan,

    In your "Add an endpoint" window, can you check the "Stopmode JTAG monitor" box?  I think that may be what is missing from your UIA configuration.

    Best regards,

        Janet

  • Hi Janet,

    if i select the type JTAG as event transport, "Stopmode JTAG monitor" is not selectable and gray.


    Best regards,

    Stefan

  • Hi Stefan,

    Could you please attach the latest .cfg file you are using (not copy/paste the contents in the window, but upload the actual file)?  I'll see if I can re-produce this on Windows.  I don't have an Ubuntu setup, but as far as I know there aren't any issues with System Analyzer on Ubuntu.

    Thanks,

        Janet

  • Hi Stefan,

    It looks like there is an issue with CCSv6 and custom UIA configuration files.  If I copy the generated uia.xml and rta.xml to the same directory as the .out file, I can open RTOS Analyzer without errors.  But if I try to create a custom UIA configuration file to specify the uia.xml and rta.xml in the package/cfg directory that they were generated, I get an error.  I was able to get this to work with CCSv5.5, however.  This is a test case I have built outside of CCS.

    We're looking into this.

    Best regards,

        Janet

  • Hi Jenet,


    could you find a solution on this issue?

    Best regards,


    Stefan

  • Stefan,

    We've posted a patch which will hopefully resolve this problem ... please let us know if it does not.

    To install patch:

    • from CCS->Help Menu select "Install New Software"
    • In the "Install" dialog select the "Add" button
    • In the "Add Repository" enter any name and this repository site: http://software-dl.ti.com/ccs/non-esd/dvt/ccs6.0.1 
    • Navigate through menu to install

    Regards,

    Imtaz.

  • Stefan,

    I received a post via email about permission accessing the patch but I don't see that here. Just checking that you're ok installing the patch.

    Regards,

    Imtaz.

  • Hello Imtaz,

    sorry it was a mistake. I now installed the patch but the behavior is still the same.


    Do you have any other idea?


    Regards,

    Stefan

  • Stefan,

    We've not been able to reproduce a problem with the patch yet ... we're still trying. Can you tell us which error you're still getting.

    Thanks,

    Imtaz.

  • Hi TI experts,

        we meet the same problem as stefan. We use CCS5.3 before and can open log window correctly. When we upgrade to ccs6.0.1.00040, the log window can't be open exactly as what Stefan has described. Any update for this issue? Thanks.

  • Hi,

    actually the problem sill exist. So we can't use CCSv6 and downgraded to CCSv5.5. At the moment we are not able to make further tests. If you have any solution, please let me know.

    Thanks

  • Hi,

    Did you install the patch mentioned in this thread? If not, can try and let us know if this resolves your problem.

    Stefan,

    Last we looked at your setup your xml files were out of sync with your out file. Did you correct this and still experiencing problem with System Analyzer?

    Regards,

    Imtaz.

  • Hi lmtaz.

        We can't connect to internet on the working PC. Is there any way to install the patch(such as an offline package) ? Thanks. Besides, maybe you can check if the patch already been integrated in 6.0.1.00040. Thanks.

         

  • Shawn,

    I placed a zip file here http://software-dl.ti.com/ccs/non-esd/dvt/ccs6.0.1_temp/dvtRepo.zip. Expand this onto your machine and follow the steps above to install the patch ... but now point it to the folder you expand the zip in.

    This patch fixed a problem when specifying manual configuration file. Generally you should not need to specify a manual configuration. Manual configuration is only required if:

    1) you're moving the .uia.xml and/or .rta.xml generated by the build to a place where System Analyzer can't find it. System Analyzer looks in the default folder they are generated in and also the folder where the .out file is in.

    2) you're viewing data from a saved binary files

    If the above two scenario does not apply to you then we may have a different issue that has to be investigate. Do let us know if you still see a problem.

    Thanks,

    Imtaz.

  • Hi Imatz.

         I tried to install all the plugins in the package you offered. But nothing changed. As I read this thread again, I found that there seems no ".uia.xml" file in my built directory. I can find ".rta.xml" but no ".uia.xml" in the same directory. Is this file necessary? But I checked the project in CCS5 which I can open log windows successfully and find no "uia.xml" in that either. So anything more I can do? Thanks.

  • And I find the situation is worse...I can't open ROV now. It complains about "unknow error". I can't revert the installation too because it said there's errors during revert...

  • Shawn,

    If you do not have a .uia.xml or rta.xml file then I am wondering if you have UIA enabled in your app ... do you? If not can you refer to the System Analyzer documentation in CCS help and enable UIA.

    Regards,

    Imtaz. 

  • Imtaz.

         You are right. After read the UIA docs, I got the problem. The legacy xdc.runtime.LoggerBuf is not used anymore. And the new LoggingSetup replace it. After this correction, the logger window can be open .Thanks.