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.

UIA Component & IPC 1.23.xx.xx Incompatible

Expert 2430 points
Other Parts Discussed in Thread: SYSBIOS

I was using CCSv5.1 (M5) and upgraded to the M6 release to take advantage of the UIA component of the newly integrated MSA plug-in.

Long story short, my build broke due to a bug in the XDC phase (sys/bios configuration building phase) of the build phase.  A necessary build file is not being created which causes, in and of itself, a problem, but also causes undefined symbol errors.


<Linking>
error: cannot find file
   "C:\projects\DSP\app\trunk\.emu\configPkg\NaN"

 undefined                           first referenced                                                                  
  symbol                                 in file                                                                       
 ---------                           ----------------                                                                  
 _ti_sdo_utils_List_Instance_init__F C:\projects\DSP\app\trunk\.emu\configPkg\package\cfg\BoM_Omni_p64P.o64P
 _ti_sdo_utils_List_empty__E         C:\projects\DSP\app\trunk\.emu\configPkg\package\cfg\BoM_Omni_p64P.o64P
 _ti_sdo_utils_List_get__E           C:\projects\DSP\app\trunk\.emu\configPkg\package\cfg\BoM_Omni_p64P.o64P
 _ti_sdo_utils_List_put__E           C:\projects\DSP\app\trunk\.emu\configPkg\package\cfg\BoM_Omni_p64P.o64P


 

 

I am guessing that the "NaN" is a sprintf()-like error when dynamically creating the file, i.e., passing a bad value for a "%f" specifier.

Anyway, it's the IPC's List object (ti/sdo/utils/List) in the new IPC 1.23.xx.xx branch that is causing the troubles.  Reverting back to any IPC 1.22.xx.xx or earlier build makes the error go away.

 

Important:  This is easily reproducible with your own UIA sample applications:

  1. Create a new project using the following template (simulator target is fine):  Multicore System Analyzer (UIA) / Single-core Examples / Stairstep JTAG RunMode
  2. Go to the project properties and ensure that IPC 1.23.xx.xx is being linked in (CCS v.5.1 [M6] installs IPC 1.23.2.27, so use that);
  3. Open the SYS/BIOS configuration file and add the following line:  var List = xdc.useModule( 'ti.sdo.utils.List' );
  4. Now build the project.

Now, since the Stairstep application does not actually create or use lists, you won't get the undefined symbols like my application does, but you still get the NaN file error, and the build will fail.

 

Edit:  To be clear, by itself, IPC 1.23.xx.xx works fine.  It's only when 'ti.sdo.utils.List' and 'ti.uia.sysbios.LoggingSetup' modules are imported together problems arise.  So the LoggingSetup module is somehow stepping on List module, I presume.