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.

TIDEP-01032: Loading EtherCAT PRU Firmware

Part Number: TIDEP-01032

Tool/software:

Hello,

I am working with the TIDEP-01032 example from the AM243x Motor Control SDK 09.02.00 and don't understand how the EtherCAT Firmware is loaded onto the PRU-ICSSG. 

In the EtherCAT Slave Simple Demo, EC_API_SLV_stackInsertPruFirmware() is called in EC_SLV_APP_SS_loopTask in the file EtherCAT_Slave_Simple.c. I could not find the same call in the TIDEP-01032 reference design code for the R5FSS1-0 core. How does inserting the PRU Firmware work there?

Best regards
Luka

  • Hi Luka,

    I have assigned this thread to the stack expert to comment on the EtherCAT firmware load for CiA402 demo in TIDEP-01032.

    Regards,
    Aaron

  • Hello Luka,

    The EC_API_SLV_stackInsertPruFirmware() is called for pointing out to the PRU firmware specified in the application to be loaded. This API call does assign the firmware address to corresponding pointer variables in a PRU handling structure which shall be used by the PRU firmware loading API. If in case EC_API_SLV_stackInsertPruFirmware() is not called, then the default PRU firmware that comes with the SDK are loaded onto the PRU-ICSSG. The PRU firmware loading shall take place in EC_API_SLV_stackInit() call.

    In the EtherCAT Slave Simple Demo, EC_API_SLV_stackInsertPruFirmware() is called in EC_SLV_APP_SS_loopTask() to provide the flexibility to load the customized PRU firmware onto the PRU-ICSSG. 

    In the TIDEP-01032 example, the default PRU firmware is loaded onto the PRU-ICSSG in the call to EC_API_SLV_stackInit().

    Kind Regards,