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.

Using Linux on DM6446



Hello, 

I have a code in OpenCV on my computer for hand gesture recognition. Now I want to port that to DM6446 board to create a standalone application. I have the necessary OpenCV library built for C64x+ class of DSPs. What really bothers me is how to go about next? I mean how do I install and use the libraries with the board? Do I need to install it on both target and host Linux systems? Can anybody suggest a procedure to do the same? The library works well with CCS. Is there a way to work using CCS on DM6446?

Please reply at the earliest. Thank you.

  • Shrikanth,

    It is unclear from your description if you are trying to create an ARM or a DSP application as you describe creation of DSP library and also enquire about installing the libraries on host and target linux. Can you describe in detail how you plan to enable your application on DM6446.

    Let me describe to you all the three different scenerios that are possible in your case:

    • If you are creating an ARM application you need to build shared openCV libraries using CMake and install it on the target linux system. Your application can then dynamically link to the OpenCV libraries on the filesystem at runtime. You may have to use the linux drivers to perform the IO in your ARM application if the openCV highgui functions can`t interface with the DM6446 drivers.
    • If you are creating a DSP application then you can work in the CCS environment with the C64+ OpenCV library and use the BIOS based peripheral driver to perform the IO.
    • If you are creating an application where you perform IO on the ARM and processing on the DSP,  you will need both the libraries. Use the linux drivers/OpenCV functions to to perform IO and use the DSPLINK or Codec engine to call the OpenCV functionality on the DSP.

    Regards,

    Rahul 

  • Hi Rahul,

    Thanks a lot for the reply.

    I want to build a DSP application basically because the task needs a lot of processing at real time. And the library I have is built for C64x+ only. So I have to go for DSP application. But, at the same time I need to utilize the interfacing part of DM board to interface camera and display and for that I must need Linux right?

    I think I will have to go for the Third option specified by you. But I am a beginner and don't know how to go about that exactly. Can you please help me in that?

  • Beginners that "just want to run some fxns on the DSP" are often pointed here:

    http://processors.wiki.ti.com/index.php/Getting_started_with_IUNIVERSAL

    You can likely wrap your fxns inside an IUNIVERSAL-compliant process() or control() method.  Although using higher-level frameworks may seem like overkill, using IUNIVERSAL helps solve some of the subtle complexities of multicore development, like address translation and cache management.  Building on the Codec Engine/DSP Link frameworks also allows you to coexist with other SW you may want to run concurrently (e.g. DMAI, GStreamer).

    --------------------------------

    Once you become more familiar with DSP Link and Codec Engine, you may want to contact the developers of this project:

    http://code.google.com/p/opencv-dsp-acceleration/

    I don't know much about it, but it seems to address your use case - although on the OMAP3 device.

    Chris

  • Thanks Chris for the reply and lot of info. I was wondering if I can do something like this - Write my C code using CCS and then use suitable wrappers for the .out file and make it callable from ARM. Is that possible? Can you point me to somewhere, where I can find details on how to go about it exactly? In addition, I wanted to know whether the use of third party development suites like MULTI make the task easier?

    Thanks again!

  •  

    Hello,

    I also intend to call DSP from armside. I also go over the slides of and examples of workshop DaVinci-OMAP_Workshop_(v2.1).labs

    In this workshop in chapter 12, Building a DSP Server is examined. But I do not know how to produce the required packages and configurations files for dm6446. We have used CCS for dm6437 DSP coding. Does CCS create these files to implement the "Building a DSP server" ?

     

    Thanks

     

  • Ugur,

    Generation of DSP server is described on the following wiki

    http://processors.wiki.ti.com/index.php/Codec_Engine_GenServer_Wizard_FAQ

    You do not need CCS environment to generate the server. Based on the device you are using download the appropriate software developement kit. You will find the codec engine package inside the software development kit. Follow the instructions on the wiki to create the server.

    Regards,

    Rahul

  • Thanks for the reply.

    I have solved the problems. Also 

    https://www-a.ti.com/downloads/sds_support/applications_packages/iuniversal_examples/index.htm

    has examples all having DSP algorithm creation, server and arm application.

  • Hi Shrikant and TI expert,

    I am new to CCS.

    I am trying to build opencv 1.1 library for C64X+ DSP in CCS.

    Can you share your CCS project file or what opencv folders should be copied into the CCS project explorer ?

    Thanks,

    Mr Tan