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.

MCU-PLUS-SDK-AM263X: AM263x SDK 8.5 Stability Issue

Part Number: MCU-PLUS-SDK-AM263X
Other Parts Discussed in Thread: LP-AM263

Hi expert,

    Customer reports they have concern about SDK8.05 reliability that they did not have by using SDK8.3.

They narrow down the procedures to reproduce this problem.

1. import the empty project freertos version from SDK8.5.

2. change the code as below.

void empty_main(void *args)
{
uint32_t i=0;
/* Open drivers to open the UART driver for console */
Drivers_open();
Board_driversOpen();
while(1)
DebugP_log("All tests have passed %d!!\r\n",i++);

Board_driversClose();
Drivers_close();
}

3. program the image generated by this code, and run it on LP-AM263.

Within 5minutes, the system get halt.

The issue can only reproduced by program the image into device and running at functional mode. If we are using CCSDebug, we can't not reproduce this problem.

The same code by using SDK8.3 can run well..

I also can reproduce this issue easily on LP-AM263

Customer are wondering what we change in SDK8.05. Anything related  to DebugP or FreeRTOS?

They also want to know how to fix this problem.

Can you please help to check this problem?

Regards

Andre 

  • Hi ,

    Anything related  to DebugP or FreeRTOS?

    It seems like an issue of Free-RTOS for now. But to confirm the same, let me come back to you by 31st March.

    Best Regards,
    Aakash

  • Hi ,

    I tested this on my end and I am not seeing this issue. This seems to be working for me.

    More details will be appreciated.

    Best Regards,
    Aakash

  • Askash,

       NOT  WORKING on my end and customer side.  

    Here is video records and project file for you reference

    empty_am263x-lp_r5fss0-0_freertos_ti-arm-clang.zip

  • EVM version and IC marking.

  • Hi ,

    Is this issue only seen when you program the application in QSPI ?

    Best Regards,
    Aakash

  • Aakash,

    Issue only can be reproduced by programming application in QSPI Flash.

    It is good if you use CCS Debug.

    Regards

    Andre

  • Hi Andre

    Got it. Will check and get back to you soon on this.

    Thanks & Regards

    Sri Vidya

  • Hi Andre

    I have reproduced the issue at my end with AM263x CC.

    As you are performing DebugPLog API continously without any delay in Free Rtos, the interrupt nesting is happening. The Uart Access for DebugPLog is performed in IRQ mode in the empty example by default. So when a DebugPLog is called, a UART Interrupt ISR is triggered.

    This issue is happening due to continuous Interrupt Nesting, the UART ISR is not getting enough time to process the interrupt.

    In SDK 8.3 Interrupt Nesting in Free Rtos is Disabled. In SDK 8.5 Interrupt nesting for Free Rtos is enabled. Thats why you were able to see it working smoothly in SDK 8.3.

    Changing the Uart to Polled solves the issue.

    Also, you can use Release mode instead of Debug mode for reduced code size.

    Regarding why it works in CCS Debug Mode:

    I was able to see the issue in CCS Debug also when I disable the CCS Console Logs and see the Uart prints only through the terminal.

    When CCS Debug with CCS Console logs is enabled, the Uart seems to get enough time to print without the interrupt nesting.

    Output captured after 10 mins of execution:

    Hope this helps

    Regards

    Sri Vidya

  • HI Andre

    Giving some delay to process the UART log also solves the issue.

    For testing purpose I have given a random delay:

    Output after 5 minutes of execution:

    Please let us know if this is aligned with you

    Regards

    Sri Vidya