I am trying to implement EtherCAT Slave on AM3359 Sitara processor using TMDSICEV2 as the reference design and Linux-RT as the OS running on the main core.
I see from Ti literature that all implementations of EtherCAT slave are only provided are for Ti RTOS running on the host, and not for Linux-RT running on the ARM_A8 core CPU, however there are indications in some literature that Linux user space UIO driver can be used to implement this solution. Of the course, the solution also relies on Beckhoff's SSC which must be downloaded from ETG Technology Group website.
I have downloaded and installed PRU-ICSS-EtherCAT_Slave_01.00.07.02 on my PC.
I have noted the Ti binaries in the directory PRU-ICSS-EtherCAT_Slave_01.00.07.02\protocols\ethercat_slave\firmware\v1.0. These binaries and header files appear to be the black box binaries that are supposed to fulfill the IEEE 802.1 functionality. Are these the same binaries that Ti documentation in other places says they are black box binaries that will take care of the MAC layer in implementation of Industrial Communication System?
However, if this is the case, it is still not clear how to install these on the PRUs during run time under a core running Linux-RT. If they were .elf files, one could use RemoteProc driver to move them to PRUs during run time and use RemoteMsg driver to communicate with them. Alternatively, perhaps it is intended that an image must be created so that the binaries can be loaded at boot time. If so, how does this process work with the particular case of PRU firmware? I find it is not clear how the latter process would work either, i.e in building a new .dtb file, how would I arrange these binaries to be installed correctly in the PRU units? I know for example that PRUs also require a resource file.
Another option might be to use the Double EMAC plus switch option that has also been indicated in the documentation for RTOS + PRU, but again there are some indications of changes to be made to provide cut-through capability between the two Ethernet ports, but I have not seen how the problem if single MAC address will be resolved.
Is there some concise and to the point documentation that would outline how I could go about getting the Ti provided "black box" binaries with suitable wrappers and drivers to implement the Linux UIO driver, Hardware Abstraction Layer for the processor that I have?
I intend to use the "UIO" driver to communicate between the application layer and PRUs.