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.

AM5746: Checking EEPROM command in AL Event ISR.

Part Number: AM5746

Hi Sitara support Team,

 

I would like to use EEPROM emulation in my environment which uses TI ESC in AM5746.

I'm using PROCESSOR-SDK-RTOS-AM57X 06.03.00.106 and PRU-ICSS-ETHERCAT-SLAVE 01.00.08.01.

I'm using TwinCAT 3 for debugging my environment.

 

According to "2.4. PRU ICSS EtherCAT Slave Controller Register List", EEPROM command pending is assigned in AL Event Request(0x0220) bit:5.

Therefore, I expect AL Event IRQ is raising and AL Event Request(0x0220) value is 0x0020 (bit:5 is 1) when EEPROM command is coming.

However, AL Event IRQ is not raising though AL Event Request(0x0220) value is 0x0020 in my enviroment.

I checked AL Event Mask(0x0204) bit:5 is set to 1, but AL Event IRQ is not raising.

 

I wonder EEPROM command is only avarable in cyclic task (ECAT_Main() function) and cannot use in AL Event ISR (PDI_Isr() function).

Is this correct?

 

Best regards,

Atsushi

  • Hi,

    Have you checked the code under the macro ESC_EEPROM_EMULATION in pubic/sdk/protocols/ethercat_slave ? I think it's doing what you are looking for.

    Regards

    Vineet

  • Hi, Vineet,

    Thank you for your reply.

    I checked all codes under the macro ESC_EEPROM_EMULATION and I understood EEPROM command should be handled in cyclic task.

     

    BTW, I have one question. I checked the AL Event IRQ behavior in two cases by using TwinCAT 3.

     

      Case 1: AL control event is coming.

      Result 1: AL Event IRQ is raising.

     

      Case 2: EEPROM command is coming.

      Result 2: AL Event IRQ is not raising.

     

    The value of AL Event Mask(0x0204) is 0x00FFFF2F. Therefore, both AL control event (bit:0) and EEPROM command (bit:5) is enable. I wonder why EEPROM command does not raise IRQ though AL control event raises IRQ.

    Is this a correct behavior?

     

    Best regards,

    Atsushi

  • Hi,

    Sorry for the delay. Unlocked the thread

    Are you still facing this issue ?

    Regards

    Vineet

  • Hi,
    I resolved this issue.
    I implemented codes as follows,
     - AL control event processing runs in IRQ driven task.
     - EEPROM command processing runs in cyclic task.

    This implementation works well.

    Thanks and regards,
    Atsushi