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/OMAP-L138: Compiling SysLink Examples in CCS

Part Number: OMAP-L138
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hi,

I've been working on an OMAP-L138 SoM and so far managed to make the DSP and ARM cores communicate through DspLink. However, DspLink won't be useful to us because it only supports COFF binaries and our project heavily uses the Starterware examples, which use ELF libraries. Hence, I need to migrate to SYS/BIOS and SysLink.

I've installed SysLink and I'm able to run the example executables in the "ex02_messageq/debug" directory by running the "run.sh" script. Now, I need to create a project for the DSP side to periodically send floating-point arrays of ~8000 elements to the ARM core running Linux (I could do this before through DspLink-MSGQ at ~10 MB/s).

To this end, I tried compiling the SysLink example in CCS v7, but it threw several errors (the build log is attached). There is a "Creating CCS Project for SysLink samples" page in TI's wiki, but I heard that "samples" are obsolete now, so I need to learn how to import the "examples". What would you suggest?

My TI components are:

  • SYS/BIOS 6.34.03.19
  • CCS 7.2.0
  • IPC 1.25.01.09
  • XDC Tools 3.24.05.48
  • SysLink 2.21.03.11

And the ARM is running Linux Ångström Kernel 3.2.0

Thanks in advance

Error_log_ss.zip

  • I've forwarded your query to the software experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Thanks.

    I added the SysLink/packages directory as a repository, and the "can't locate the package 'ti.syslink.ipc.rtos'" error is gone now; however, there are still other errors.

    3678.log.txt
    **** Build of configuration Debug for project ex02_msgq_rebuilt ****
    
    /home/okancalis/ti/ccsv7/utils/bin/gmake -k -j 1 all -O 
    Building file: ../main_dsp.c
    Invoking: C6000 Compiler
    "/home/okancalis/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.3/bin/cl6x" -mv6740 --include_path="/home/okancalis/workspace_v7/ex02_msgq_rebuilt" --include_path="/home/okancalis/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.3/include" -g --define=omapl138 --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="main_dsp.d" --cmd_file="configPkg/compiler.opt" "../main_dsp.c"
    Finished building: ../main_dsp.c
     
    Building file: ../Server.c
    Invoking: C6000 Compiler
    "/home/okancalis/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.3/bin/cl6x" -mv6740 --include_path="/home/okancalis/workspace_v7/ex02_msgq_rebuilt" --include_path="/home/okancalis/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.3/include" -g --define=omapl138 --diag_wrap=off --diag_warning=225 --display_error_number --preproc_with_compile --preproc_dependency="Server.d" --cmd_file="configPkg/compiler.opt" "../Server.c"
    Finished building: ../Server.c
     
    gmake[1]: Entering directory '/home/okancalis/workspace_v7/ex02_msgq_rebuilt/Debug'
    Building file: ../Dsp.cfg
    Invoking: XDCtools
    "/home/okancalis/ti/xdctools_3_24_05_48/xs" --xdcpath="/home/okancalis/ti/bios_6_34_03_19/packages;/home/okancalis/ti/ipc_1_25_01_09/packages;/home/okancalis/ti/syslink_2_21_03_11/packages;/home/okancalis/ti/ccsv7/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.C674 -p ti.platforms.expOMAPL138:dsp -r debug -b "/home/okancalis/workspace_v7/ex02_msgq_rebuilt/shared/config.bld" -c "/home/okancalis/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.3" --compileOptions "-g --optimize_with_debug" "../Dsp.cfg"
    making package.mak (because of package.bld) ...
    configuring Dsp.x674 from package/cfg/Dsp_p674.cfg ...
    subdir_rules.mk:10: recipe for target 'build-432932321-inproc' failed
    js: "/home/okancalis/workspace_v7/ex02_msgq_rebuilt/Dsp.cfg", line 86: TypeError: Cannot read property "base" from undefined (/home/okancalis/workspace_v7/ex02_msgq_rebuilt/Dsp.cfg#86)
        "./package/cfg/Dsp_p674.cfg", line 196
        "./package/cfg/Dsp_p674.cfg", line 275
        "./package/cfg/Dsp_p674.cfg", line 183
    gmake: *** [package/cfg/Dsp_p674.xdl] Error 1
    js: "/home/okancalis/ti/xdctools_3_24_05_48/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake[1]: *** [build-432932321-inproc] Error 1
    gmake: *** [build-432932321] Error 2
    gmake[1]: Leaving directory '/home/okancalis/workspace_v7/ex02_msgq_rebuilt/Debug'
    subdir_rules.mk:7: recipe for target 'build-432932321' failed
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****
    

    Also, there are some points in that MessageQ example that I don't understand.
    There's an "App_Msg" struct consisting of the message header (The first field has to be a header, as stated in MessageQ.h), a 32-bit int (cmd), and a buffer of type SharedRegionSRPtr. The example never writes or read anything onto/out of the buffer; how should I do that?
    Thanks again.

  • I've been trying to simplify things to diagnose the issue. I've just realized that, when I create a SYS/BIOS project with the typical template, CCS can't compile the default code and it says "Fatal error #16031: object files have incompatible formats ("/home/<user>/ti/bios_6_34_03_19/packages/ti/sysbios/lib/sysbios/instrumented/sysbios.a674<c64p_Hwi_disp_always.obj>" = TI-COFF, "./main.obj" = ELF)"
    Isn't SYS/BIOS supposed to support ELF object files? The whole reason I'm switching to SYS/BIOS is because I need ELF support for the DSP side.
    I'd be glad if you could respond.
    Thanks.

  • SYSLINK and DSPLINK are no longer supported by TI. Please check the supported IPC mechanisms here:
    processors.wiki.ti.com/.../Processor-sdk-MultiWay-of-ARM-DSP-Communication