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.

about OMAP-L138 connect with slow device

hi,

1, If I want to connect slow ram (8M)or other slow device (all without wait signal) using EMIFA,how I need to do?

2, Can I only use DSP to be a float  coprocessor, I means that when I compile some program under the arm platform with float function or some direct operation (for example X /+-) ,the compiler can call the DSP directly to run and I don't need to care the connection between arm and dsp?

  • 1. Have you read the EMIFA User Guide? It shows how to hook up sram to the EMIFA interface: http://www.ti.com/litv/pdf/sprufl6f

    2. Yes you can. There is a tool called C6EZRun which will do exactly that for you: http://processors.wiki.ti.com/index.php/C6EZRun

    Jeff

  • I means that I don't need modify any program on arm platform and the ARM compiler can call DSP float processor when it find any  value operation not all the program run on DSP.because on the program, I use some linux system lib function and some interface for example net  socket etc.

  • Hi,Jeff

    I only want to  call the DSP coprocessor to operate ARM program about +-*/  not other part. Can I realize it?

  • When you compile a C program for the ARM, any mathematical operation will be compiled to ARM code as the ARM compiler has no knowledge of the DSP.  Furthermore, there is overhead of sending operations to the DSP for execution - so it wouldn't make sense to try and off-load individual multiplies, divides, etc.  So in short, the answer is NO.

    The C6EZRun tool can let you move entire function calls to the DSP, so if you wrap your code that performs the operations you want to run on the DSP inside of a function, you can use that tool to quickly build an ARM application that can make use of the DSP.  Again, there is overhead of communicating with the DSP, so you want to minimize the functional calls per the data being operated on.  For example, you would want to send an an entire image or video frame to the DSP rather than sending one line at a time.

    Regards, Daniel

  • Hi,Daniel:

     

    I know your meanings,that is to say, If I want to call DSP to run my ARM program, I must be in the form of function not an expression,right?

    I want to design the OMAP to be a kind of product for the following person : formerly ARM user . they all through use single cell ARM and they don't want to modify any code but  to improve the run performance. they have their own program on ARM and it has run many years reliably,so they impossibility do any code modification.

    AS you say ,If I use C6EZRun,Can I move all the  function with value operation to DSP without modify and code or you have any more good idea for me?

     

    THANKS  VERY MUCH

  • Anybody can tell me?

  • le li said:

    I know your meanings,that is to say, If I want to call DSP to run my ARM program, I must be in the form of function not an expression,right?

    Correct.

     

    le li said:

    I want to design the OMAP to be a kind of product for the following person : formerly ARM user . they all through use single cell ARM and they don't want to modify any code but  to improve the run performance. they have their own program on ARM and it has run many years reliably,so they impossibility do any code modification.

    AS you say ,If I use C6EZRun,Can I move all the  function with value operation to DSP without modify and code or you have any more good idea for me?

    Possibly, yes.  The code must be portable standard C.  Also, please understand that the C6EZRun tool is intended specifically to be used when the ARM core is running Linux.  In that case, the C6EZRun tool can be used to move one or more functions to the DSP, potentially with no changes to the code that calls those functions.

    I hope this helps.

    Regards, Daniel

     

  • Hi,Daniel

    THANKS VERY MUCH!

    Another question, whether the OMAP CCS and the C6EZRun support C++ or not?

    Only when linux OS on ARM,the C6EZRun tool can be used?

  • le li said:

    Another question, whether the OMAP CCS and the C6EZRun support C++ or not?

    The DSP compiler (called the C6000 Codegen Tools) do support C++, but the C6EZRun tool does not currently support C++.

     

    le li said:

    Only when linux OS on ARM,the C6EZRun tool can be used?

    Yes.  The wrapper scripts are written with only GCC in mind and we rely on certain libraries that one would only find on a POSIX system (such as pthreads).  In additions, some of the underlying components are Linux-only versions.

     

    Regards, Daniel