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.

How to integrate an RPE example for the DVRRDK?



Hi,

    I have recently got the DVRRDK V3.50 GA for the EVM-8168.  In order to get the DSP to perform a custom algorithm, I find the RPE framework, which was used in the DVRRDK, is helpful, and I eager to reveal how to integrate a custom xDM algorithm into the RPE framework in the DVRRDK.  Because the RPE tools released with the DVRRDK did not contain an xDM codec example with full source code, it is plausible that to try to move the RPE example in the latest EZSDK5.05 into the RPE framework in DVRRDK.

    How can I get the problem sloved?  Since the DVRRDK program is organized in an obscure structure with a great many makefiles, I was confused and lost my way in this great DVRRDK directory forest.  Could you give me a hand?

Naroah

130413

  • DVR RDK is not up to date with RPE version used in EZSDK releases. Still the integration should be simple.

    1. Search for DSP_RPE_AUDIO_ENABLE in DVR RDK code to understand the code segments related to RPE integration.

    2. RPE source is present here - ti_tools/rpe.

    3. make rpe_all should rebuild rpe libraries if there is any update to rpe as such.

    4. DVR RDK tries to use a different msgq heap for rpe specific messages. So a different heap is created which is different from standard rpe example.

  • Hi, Govindasamy,

    Thank you for your reply! 

        I've already found the macro, "#define DSP_RPE_AUDIO_ENABLE", in this headfile: "DVRRDK_Path/mcfw/interfaces/link_api/system_debug.h".  Hoping for solving this problem, I am going to check this head file and some other related source files.

        Yet, I have got another question that might be technically connected to the RPE.  After frustrated reading some source files about RPE, I incidentally tried to trace the Audio demo case via the XDSv100 Emulator by using CCS5.0 in the recommended OS, Ubuntu 10.04 LTS.  Creating a TCF file, connecting the C674x core in the DSP, loading a DSP debug image (a *.xe674 file with a size over 13MB!) and successfully set a breakpoint for the function named "XdmServer_Creat", I happily thought that everything was prepared, and it would take little time to trace the invoking procedure of the RPE at C674x DSP side.  Thus, I clicked the "Resume(F8)" for entering debug in CCS and executed the "run.sh" in EVM8168, hopefully waiting the program being halted. 

        However, after I selected "8(Audio decode example)", and input both the path of AAC file and path of output PCM file, the program was starting running without being halted by the breakpoint.  Before I realized what was happened, it had successfully performed such a wonderful AAC decoding algorithm and finally generated a PCM raw file, either.  Yet I don't know why I cannot trace the program.  Was the "XdmServer_creat()" being invoked when we executed the democase?

        I am sincerely looking forward to your reply!

    Yours,

    Naroah

    130416

  • XdmServer_create() gets invoked. There could be issues in your ccs debugging steps.

    You dont have to load dsp image - executable loading in relevant cores happens internally. Just before run.sh or before starting decode demo, load symbols (not image) in ccs & enable break point. It should halt at this break point on starting decode.

     

  • Hi, Govindasamy,

    Thank you for your reply!

        By rewinding the whole system and reinstalling CCS v5.0, I followed what you recommended and finally successfully was able to start debugging.  It is the "load symbol only" tip that helped me so much.

    Thank you~(^_^)~

    Naroah

    130425