Good day
I am working on a multi-core project with the RT1170-EVK in MCUXpresso, where the M7 controls the M4, and the M4 must transmit and receive Ethernet frames.
I have adapted the main function of the enet_txrx_transfer_cm4 example to work with MCMGR, so that the M7 successfully calls my M4 project, which then runs the exact same code as the enet_txrx_transfer_cm4 example.
I have connected the EVK to an Ethernet loopback cable via the 100M ENET connection.
The PHY initialises and successfully auto-negotiates, but it does not successfully communicate.
The PRINTF statements show that the frames were transmitted 'successfully' according to the code, but no data is received (ENET_GetRxFrameSize returns status 4002 - line empty).
The pinmux.c file in the M7 master project is identical to that in the example project.
I put it in the M7 project and not the M4 project because configtools won't let me change the pinmux of the M4 project (I get a warning: "Function core cortex-M7F differs from selected active core cortex-M4F.", which blocks the pinmux file from being changed when I press 'update code').
I suspect that the Ethernet communication problem has something to do with how the M7 transfers control over to the M4... is it possible that only the M7 can control the pins that have been set in its pinmux.c file?
In other words, the M4 cannot control the necessary pins for ethernet communication, because it is only set in the M7 project's pinmux file?
If this is the case, could someone please tell me how to get around the slave M4's configtools limitation.
Thank you in advance