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.

TDA4VM: SCI server semaphore ASSERT ISSUE

Part Number: TDA4VM

Hi Expert.

see following function calling tree,assert occur.

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

\pdk_jacinto_08_01_00_36\packages\ti\drv\ipc\examples\common\src\main_rtos.c :

--> Ipc_setupSciServer -->Sciserver_tirtosInit --> Sciserver_tirtosInitSemaphores -->SemaphoreP_create(0U, &gSciserverUserSemParams[i]) -->SemaphoreP_constructCounting -->xSemaphoreCreateCountingStatic -->xQueueCreateCountingSemaphoreStatic --> configASSERT

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

[Question]

1.sci server task use SemaphoreP_Mode_BINARY semaphore or SemaphoreP_Mode_COUNTING semaphore?

2.or i have to use "sciserver.c" ,not use "sciserver_tirtos.c"?

  • Hi TS L,

    I see that you are using Processor RTOS SDK 8.1. What core and example are you trying to build and run, and what OS are you using on A72 core? Are you trying to use standard TI SDK example that uses FreeRTOS or trying to implement your own RTOS?

    1. The SemaphoreP_Params_init() function initializes the default parameters as SemaphoreP_Mode_COUNTING.

    2. The example usage is all correct. Note that the SciServer only needs to be included for MCU1_0 and the IPC example already uses proper ifdefs to customize for it.

    regards

    Suman

  • Hi Suman

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

    I see that you are using Processor RTOS SDK 8.1. What core and example are you trying to build and run, and what OS are you using on A72 core? Are you trying to use standard TI SDK example that uses FreeRTOS or trying to implement your own RTOS?

    ==>  1st, i shall use free rtos running on mcu1_0, linux running on A72

             2nd, i shall use AUTOSAR os running on mcu1_0,linux running on A72.

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

    1. The SemaphoreP_Params_init() function initializes the default parameters as SemaphoreP_Mode_COUNTING.

    ==>ok

    2. The example usage is all correct. Note that the SciServer only needs to be included for MCU1_0 and the IPC example already uses proper ifdefs to customize for it.

    ==>i will check and understand what you said.

          can you tell me that for sci_server,the semaphore usage question:

          for sci server task use SemaphoreP_Mode_BINARY semaphore or SemaphoreP_Mode_COUNTING semaphore?

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

  • Hi TS L,

    for sci server task use SemaphoreP_Mode_BINARY semaphore or SemaphoreP_Mode_COUNTING semaphore?

    I have already answered this, the SciServer task is initialized with SemaphoreP_Mode_COUNTING. One would have to customize to BINARY mode specifically after SemaphoreP_Params_init() if overriding the default, and the IPC example does not do any such overriding.

    regards

    Suman