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.

implementing sound-task into NDK-client-example

Other Parts Discussed in Thread: TMS320C6747

Hello

I am trying to give my audio-processing program some network functionality. To do so i implemented my source code, wich is based on the audio-example of the psp into the NDK-client example. compiling linking and executing works well, but while running the audio-Task the creation of the in- and outstream (procedure createStreams() ) and MEM_calloc          (procedure  prime()  ) fails. And so the audio processing is unable to run.

I am wondering if this could be caused by the different memory-section-configurations. Within the DSP/BIOS config of the NDK-example, there is no Iram-available (there is a Cache_L2, in wich i am am not allowed to put a stack in) so the audio Task has its stack segment on SDRAM.

could this be the reason to fail allocating or creating streams ?

Or could you provide me with (other) possible solution?

(i am using the OMAP L137 TMS320C6747 Floating Point Starter Kit and Code Composer Studio 3.3, if this is a matter of concern)

best Regards Rico

  • Unfortunately i am not sure wich parts of the tcf are really needed to implement the audio functionality and which would interfere with the NDK-settings.

    (i added the content of the audioSample.tci to the textual edit of the client-example DSP/BIOS-File and i am trying to find out what else is needed.  I also read some other comunity messages that interrupts, created dynamically by the NDK-drivers could cause trouble, but i am not shure how to search for this, or how to fix it, because i am new to DSP's and the CCS)

    I have dis-enabled all tasks (within the client project), but the audio-processing one  to test only the ability of this task to work.

    Because it did not work and also prints no error messages anymore i inserted some LOG_printf()-Functions to visualize where i get stuck and found out, that

         if (SIO_issue(outStream, xmt, BUFSIZE * TX_NUM_SERIALIZER, NULL)
         != SYS_OK)
            {
                LOG_printf(&trace,"\r\nFailed to issue full buffer to stream\n");
            }

    causes the trouble. deleting this, results in walking through one loop of the Audio-Task, and in a similar error on

           nmadus = SIO_reclaim(inStream, (Ptr *)&rcv, NULL);

    which now (after beeing executed correctly during the first loop) causes the Program to get stuck.

    while trying to restart this project after such an error, i am getting the error:

    Can't Run Target CPU:
    Error 0x00000024/-1060
    Error during: Register, Execution,
    An unknown error prevented the emulator from accessing the processor
    in a timely fashion.
    It is recommended to RESET EMULATOR.  This will disconnect each
    target from the emulator.  The targets should then be power cycled
    or hard reset followed by an emureset and reconnect to each target.

    And unfortunately i do not know how to solve this

    best regards Rico

  • Or maybe you know a documentation similar to the SPRAAX4 wich explains how to combine NDK and Audio, but for another DSP/ different psp and NDK versions.

    Theydiffer so much from mine, that i am not able to get benefits from reading it.

     

    best regards Rico

  • Rico,

    There is a known issue with EDMA and NDK 2.0 not running together. Audio would use EDMA and hence i suspect this could be a related or a similar issue.

    Please read through the below link and follow the steps/instructions provided. Please check if this helps-

    http://processors.wiki.ti.com/index.php/Network_Developers_Kit_FAQ#Q:_It_seems_that_the_NSP_for_OMAPL137_EVM_is_incompatible_with_the_EDMA3_LLD._How_can_I_fix_it.3F

    The patch which does the same and needs to be installed against an already existing NDK2.0 installation is also available at -

    http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/S1SDKLNX/SDK_EA2OMAPL137LNX/exports//ndk2.0_omapl137_ethdriver_patch.zip

    Thanks,

    Prathap.

  • ok, that helped me ;)  and now both tasks are able to run in the same project, but only if the other task is not performed.

    I think i am having a pinmux-problem, but configuring the PINMUX, as the Pin_Setup-tool advices me, results in the network not to function, even if beeing performed alone, changing the PINMUX9 from the advised 00200000 to 00000000 results in both tasks to be able to run, but also only if the other Task is NOT executed ( i have to completely delete the task or givie it the Priority -1 by default, so it ais never performed)

    If i run both tasks, my audio-processing-task stops executing while doing sio_reclaim()  while network works well (as it does if i do not change any pinmux-register-value) but i am not shure which parts i would have to enable to let both tasks run (By now i am using EMAC, McASP1 and I2C0 )

    best regards Rico