Hello suppot,
I’m trying to run the EtherCAT on our custom board with linux kernel version 3.12-31. I could manage to run the EtherCAT demo application included in the SysBIOS protocols examples, but I stuck in a problem that the firmwar doesn’t receive messages/interrupts when packet are received form the hardware layer.
I did the following:
- install the user space pru drivers for linux
- For the interrupt pin mapping I used the header delivered with the SysBIOS
- load the Firmware provided as C-Header files in the EtherCAT-Example application
- adapt the EtherCAT-Example application from SysBIOS to linux and Ethercat-Stack
The problem that I have is that the Firmware is waiting for the interrupt event “PRU_EVTOUT3”. This event according to the Interrupt mapping is mapped to channel 5, and channel 5 is assigned to system event “PRU_ARM_EVENT0” number 18.
My Questions are:
- Is the Firmware found in the EtherCAT example application code in the SysBIOS the right one?
- Is the interrupt pin mapping provided in the file “pruss_intc_mapping.h” correct? Since some system events are enabled, that do not correspond to the description in CPU-Reference Manual “spruh731.pdf”. For instance MII_LINK0_EVENT = System Event 41? According to the manual this event number “41” corresponds to “POINTRPEND” coming from “I2C0” and not MII-peripheral.
- Which system Events actually must be turned on in order to get EtherCAT-Firmware running?
- Does the firmware communicate with the peripherals over mailboxes? In the ti linux version 3.14.26 there are mailboxes swithed on in the device tree file “am33xx.dtsi”.
- Must the mailboxes also enabled in our device-tree file?
As you see I’m little bit confused and lost. Can you please help me?
Thanks in advance!