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.

c6runapp-cc

Hi,

I'm trying to compile my C++ project for benchmarking on the 816x/389x EVM. I have suceeded to do this for the ARM processor with the recommended sourcery toolchain. My next step is to try to do this for the DSP. What I have understood this should be possible to do with the c6runapp-cc command?!

When I try to use it i get an error saying no input file. My input and error message is:

administrator@ubuntu:~/tt/api$ c6runapp-cc ttmain.cpp
c6runapp-cc: no input files

I would appriciate if somenone would guide my through the neccesery steps I need to take in order to make my code run on the DSP.

 

Best regards,

Anders

  • The C6EZRun utilities do not currently support C++ files.  If your code is actually just pure C, you can just rename the file to have a .c extension. Otherwise you would have to modify the code to be standard C. 

    Note that on the DM816x platform, using the ELF file format for the DSP, there is a deficiency in the framework where command-line arguments to an application generated using c6runapp-cc are not passed to the DSP. I mention this as a warning in case you intend to do this.  Next C6EZRun release will work around this bug (the issue is with the underlying SysLink component)

    Regards, Daniel

  • Hi Daniel,

     

    Thank you for the fast answer! Are you planing on implementing support for c++ in C6EZRun in the near future?

     

    Best regards,

    Anders

  • Daniel,

    I am working a bit with Anders on this one and have a follow-up question:

    We have located five files with pure C-code looking like "inner loop" kind of code, that we would like to call from the ARM as a DSP-side library.

    Hence these would need to be built by C6Runlib and linked as a library for later linking with the ARM side C++ code.

    Q: Is it enough to build the five C-files into a library containing the inner functions to a single *.lib? I.e no ARM-side executable is produced as done in the SDK example.  My thoughts are to use a makefile with a core looking something like this:

    all: dsp_lib 
     
    dsp_lib: dsp_lib/.created $(LIB_DSP_OBJS)
     $(C6RUN_AR) $(C6RUN_ARFLAGS) algo_dsp.lib dsp_lib/cluster.o \
                                         dsp_lib/intfx.o dsp_lib/intproto.o \
                                         dsp_lib/mfx.o dsp_lib/xform2d.o

    dsp_lib/%.o : %.c
     $(C6RUN_CC) $(C6RUN_CFLAGS) $(CINCLUDES) -o $@ $<

    dsp_lib/.created:
     @mkdir -p dsp_lib
     @touch dsp_lib/.created

    Thanks, /Magnus