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.

AM2634: Error and Question about "FSI loopback polling" example.

Part Number: AM2634

Tool/software:

Hi TI experts,

I tested "fsi_loopback_polling_am263x-cc_r5fss0-0_nortos_ti-arm-clang" examples.

(MCU+SDK version : 10.1.0.31)

-

1. MPU settings in syscfg

It seems that used memory ranges are not for AM263x.

This is not an important problem.

-

2. fixed valid DATA WORD size

In the example, it said

/* Configuring Frame - can be between 1-16U */
#define FSI_APP_FRAME_DATA_WORD_SIZE (16U)

But when I lowered the value, mismatches between TX and RX data occurred.

It was due to buffer pointer error of RX module.

Before or After receiving RX data, this was needed.

status = FSI_setRxBufferPtr(rxBaseAddr, 0U);

-

3. duplicated resets in initialization of TX and RX

In a function "FSI_appTxConfig",

/* TX init and reset */
status = FSI_performTxInitialization(txBaseAddr, FSI_APP_TX_PRESCALER_VAL);
status += FSI_resetTxModule(txBaseAddr, FSI_TX_MAIN_CORE_RESET);
FSI_clearTxModuleReset(txBaseAddr, FSI_TX_MAIN_CORE_RESET);

When I checked the code inside of "FSI_performTxInitialization", the same reset process (second and third sentences) was found.

I wonder why this initialization operate a reset again.

It was the same in a function "Fsi_appRxConfig",

/* RX init and reset */
status = FSI_performRxInitialization(rxBaseAddr);
status += FSI_resetRxModule(rxBaseAddr, FSI_RX_MAIN_CORE_RESET);
FSI_clearRxModuleReset(rxBaseAddr, FSI_RX_MAIN_CORE_RESET);

"FSI_performRXInitialization" included the same reset process.

Is there a reason to do the reset again?

-

Regards,

Jeeuk

  • Hey Jeeuk,

    Thanks for reaching out regarding these issues. I am looking into this and looping in another software expert for additional feedback. Please give us till Wednesday (1/15/24) to review and provide a response.

    Best Regards,

    Zackary Fleenor

  • Hi Jeeuk,
    I have received your query, please give me some time to review the driver and get back to you. 


    Kind regards,
    Aswathi

  • Hi Jeeuk,

    Fixed the following issues , But still PR needs to merged.

    2. fixed valid DATA WORD size:

     - I have added "FSI_setRxBufferPtr(rxBaseAddr, 0U);" in every loop in the example to set the RxBuffer Pointer to 0 which is needed in the circular buffer.

    I have done changes for polling & interrupt modes, Need to change the DMA mode as well.

    3. duplicated resets in initialization of TX and RX

     -  I have removed the following APIs "FSI_resetTx(Rx)Module" & "FSI_clearTx(Rx)ModuleReset" which are already defined in the 'FSI_performTx(Rx)Initialization" API.

    Regards,

    Anil

  • Hi TI experts,

    Thank you for checking the issue I raised.

    Regards,

    Jeeuk