Post Go back to editing

FreeRTOS Add-In 10.4. and MCAPI leads to Data Fault Exception

Category: Software
Product Number: ADSP-SC584
Software Version: CCES 2.12.0

Hi all,

 i want to use FreeRTOS on the ARM core of my SC584- board and communicate with The MCAPI to the sharc cores. However, I have the problem that a Data Fault Exception error occurs because invalid memory is being accessed.


The same error was described in an existing post, but the problem was handled over private support and the solution wasn't posted in the forum.

My MCAPI communication workes perfectly fine without the FreeRTOS Add-In. Is MCAPI support for the current RTOS 10.4. version? I found other examples in the forum for MCAPI+RTOS but they all working with the old RTOS 10.0.0.

Many thanks for the help and best regards.
phil

  • Hi Phil,

    Apologies for the delay in replying.

    MCAPI should still work for the 10.4.x version, little has changed between 10.0.x and 10.4.x that would cause compatability problems.

    Without being able to run the project we couldn't tell you exactly what's gone wrong, can you send it in to processor.tools.support@analog.com for us to look at?

    The bad address being 0x000000018 implies that it's a struct offset from a null pointer, which potentially means an allocation has failed. Do you have the malloc failure hook enabled (configUSE_MALLOC_FAILED_HOOK) ?
    Another possibility is stack corruption if your stack size for a task is too low.

    If you look at the error PC (0x8940ebd6) from the disassembly window it should hopefully be able to narrow down the function and code which has gone wrong.

    Regards,
    Murray

  • Hey Murray,

    Thanks for the reply.

    I have solved the problem and it had nothing to do with the MCAPI, it works perfectly.
    The problem was that I made print statements via the Sharc core, which slowed down the MCAPI communication. I changed this to UART I/O.
    And secondly, I didn't consider that I can no longer use multiple semaphores for tasks that depend on the MCAPI.

    Now everything works as it should :)
    Regards