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.

Use legacy API in SYS/BIOS - XDCTools error

Other Parts Discussed in Thread: TMS320F28035, SYSBIOS

Hello,

I need use legacy API in my project which use new SYS/BIOS (libraries are written for DSP/BIOS). I tried create example project in CCS 6.1 -> from Resource Explorer I choose TI-RTOS for C2000->2803x Piccolo->TMS320F38035->Kernel Examples->TI Target Examples->Generic Examples->Hello Example and import to CCS. Then I add into hello.c under SYS/BIOS includes
#include <std.h>
#include <gio.h>
In project properties i add path for include options (C/C++ Build->Setting->Include Options) as it's mention in SPRAAS7G.pdf. Into hello.c I add for example code:
    GIO_Handle inChan;
    GIO_Attrs  gioAttrs;
    gioAttrs = GIO_ATTRS;
    inChan = GIO_create("dev", IOM_INPUT, NULL, NULL, &gioAttrs);
And finally into hello.cfg i add at the top code:
xdc.loadPackage('ti.bios.tconf');

But during build i get error - there is ouput of console:


**** Build of configuration Debug for project hello_TMS320F28035 ****

"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
'Building file: ../hello.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_31_01_33_core/xs" --xdcpath="C:/ti/tirtos_c2000_2_12_01_33/packages;C:/ti/tirtos_c2000_2_12_01_33/products/bios_6_41_04_54/packages;C:/ti/tirtos_c2000_2_12_01_33/products/ipc_3_30_01_12/packages;C:/ti/tirtos_c2000_2_12_01_33/products/ndk_2_24_02_31/packages;C:/ti/tirtos_c2000_2_12_01_33/products/uia_2_00_02_39/packages;C:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.C28_large -p ti.platforms.tms320x28:TMS320F28035 -r release -c "C:/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.2" --compileOptions "-g --optimize_with_debug" "../hello.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring hello.x28L from package/cfg/hello_p28L.cfg ...
js: "C:/ti/tirtos_c2000_2_12_01_33/products/bios_6_41_04_54/packages/ti/bios/MEM.xs", line 193: Error: parameter agg must be defined for $logWarning()
    "C:/Users/marek/workspace_v6_0/hello_TMS320F28035/hello.cfg", line 2
    "./package/cfg/hello_p28L.cfg", line 177
gmake.exe: *** [package/cfg/hello_p28L.xdl] Error 1
js: "C:/ti/xdctools_3_31_01_33_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
making ../src/sysbios/sysbios.a28L ...
gmake[1]: Entering directory `C:/Users/marek/workspace_v6_0/hello_TMS320F28035/src/sysbios'
cl28L C:/ti/tirtos_c2000_2_12_01_33/products/bios_6_41_04_54/packages/ti/sysbios/BIOS.c ...
asm28L C:/ti/tirtos_c2000_2_12_01_33/products/bios_6_41_04_54/packages/ti/sysbios/family/c28/Hwi_asm.s28 ...
asm28L C:/ti/tirtos_c2000_2_12_01_33/products/bios_6_41_04_54/packages/ti/sysbios/family/c28/Hwi_disp_asm.s28 ...
asm28L C:/ti/tirtos_c2000_2_12_01_33/products/bios_6_41_04_54/packages/ti/sysbios/family/c28/IntrinsicsSupport_asm.s28 ...
asm28L C:/ti/tirtos_c2000_2_12_01_33/products/bios_6_41_04_54/packages/ti/sysbios/family/c28/TaskSupport_asm.s28 ...
ar28L BIOS.obj c28_Hwi_asm.obj c28_Hwi_disp_asm.obj c28_IntrinsicsSupport_asm.obj c28_TaskSupport_asm.obj ...
gmake[1]: Leaving directory `C:/Users/marek/workspace_v6_0/hello_TMS320F28035/src/sysbios'
gmake: Target `all' not remade because of errors.

**** Build Finished ****


I'm using Code Composer Studio 6.1.0.00104
Compiler TI 6.4.2
TI RTOS for C2000 2.12.1.33 and SYS/BIOS 6.41.4.54
XDCtools 3.31.1.33_core

Is there any uncompatibillity between tools version or I'm missing something?

Thanks for help.

  • Hi Jan,

    I am not an expert on DSP/BIOS. But after looking at the MEM.xs code, there are two issues that I found: On line 193 in MEM.xs, the logWarning() is passed a parameter 'code1' that is null which causes the error. A check for code1 parameter may be required. More importantly the reason for the 'code1' being null is that the memory is not defined in the platform  "ti.platforms.tms320x28:TMS320F28035". The entire memory is defined in the linker.cmd file.  

    Are you migrating from an older DSP/BIOS project to a new SYS/BIOS project? If yes, have you checked the migration docs. It has a section explaining conversion tool that will help converting your old DSP/BIOS configuration and platform to a SYS/BIOS configuration and platform. Using the converted platform instead of "ti.platforms.tms320x28:TMS320F28035" should help in fixing this problem.

    Vikram

  • Hi Vikram,

    thanks for response.
    No, I'm not migrating. I just try open SYS/BIOS example and use in this example API from DSP/BIOS. So can't use conversion tool. I want edit hello.cfg file from SYS/BIOS example for using DSP/BIOS API - do I have add something more than just this line?
    xdc.loadPackage('ti.bios.tconf');
  • We do not recommend using the legacy ti/bios for new development.   We provide support for ti.bios for people migrating from DSP/BIOS.   SYS/BIOS has been out for many years now and the 'ti.bios.*' packages will likely be removed in a future release.

    Can you use the native ti.sysbios.* packages and modules instead of ti.bios.*?


    Thanks,
    -Karl-

  • No, unfortunately it's not possible. I created new project according example project from CCS and I need use in this new project my old libraries which were written for DSP/BIOS. There must be some way how to use my existing libraries in new SYS/BIOS projects.
    But everytime when I include header file from libraries and compile project I get error - if I don't add to .cfg file this line: xdc.loadPackage('ti.bios.tconf');
    I get error "unresolved symbol _GIO_create, first referenced in ./hello.obj hello_TMS320F28035" and if I add that line I get error like I posted above.
  • Hi Jan,

    Unfortunately, as mentioned above we do not have support for using DSP/BIOS APIs in SYS/BIOS project unless the project was converted using the conversion tool.

    Vikram