1
NXPTM M522XX, KINETIS and i.MX RT / Re: Converting a Teensy4.1 to a MicromodTeensy, Ethernet RMII breaks ethernet sim
« on: September 16, 2026, 03:44:14 PM »
Hi Ray
I just checked in basic support of the MicroModTeensy - see image.
Since this module doesn't have Ethernet the external circuit will define how it is connected and details about the PHY so this is presently inherited from the Teensy 4.1 but it looks like yours uses the second Ethernet and not the first (with a few clocking adjustments).
My note are:
1. #define ETHERNET_COUNT 2
is defined in iMX.h and so will automatically be set when the i.MX RT 106x is in use.
2. I didn't check details about the signal connections but the setup can be checked accurately based on the pin functions displayed when the simulation is running and so is probably Ok based on your checks.
3. The simulator doesn't actually use the pin connections for its Ethernet connection and so such details will probably not be able to result in a simulation issue.
4. You may be missing
#define ETH_INTERFACE_CHANNEL iMX_ENET_2 // use the second ethernet controller as first interface (1Gb/s if iMX RT 11xx)
if you connect to the second Ethernet interface. This will allow all Ethernet traffic to be on that one and the simulator will also connect to it.
5. If using dual Ethernet the interface count can be set to 2
#define ETH_INTERFACE_COUNT 2 // enable two ethernet interfaces
When working with the dual Ethernet connection the simulator will need to know which one to connect to or else can use
In case of general issues with receiving date (when the NIC is correctly selected) I recommend setting a break point in fnCheckThisEthernet() in iMxSim.c, which should be hit whenever any Ethernet data is received (either from the connected NIC or else from a script file). You can then check that it is being handled on the correct Ethernet and see whether it is rejected due to a configuration setting, etc.
Regards
Mark
I just checked in basic support of the MicroModTeensy - see image.
Since this module doesn't have Ethernet the external circuit will define how it is connected and details about the PHY so this is presently inherited from the Teensy 4.1 but it looks like yours uses the second Ethernet and not the first (with a few clocking adjustments).
My note are:
1. #define ETHERNET_COUNT 2
is defined in iMX.h and so will automatically be set when the i.MX RT 106x is in use.
2. I didn't check details about the signal connections but the setup can be checked accurately based on the pin functions displayed when the simulation is running and so is probably Ok based on your checks.
3. The simulator doesn't actually use the pin connections for its Ethernet connection and so such details will probably not be able to result in a simulation issue.
4. You may be missing
#define ETH_INTERFACE_CHANNEL iMX_ENET_2 // use the second ethernet controller as first interface (1Gb/s if iMX RT 11xx)
if you connect to the second Ethernet interface. This will allow all Ethernet traffic to be on that one and the simulator will also connect to it.
5. If using dual Ethernet the interface count can be set to 2
#define ETH_INTERFACE_COUNT 2 // enable two ethernet interfaces
When working with the dual Ethernet connection the simulator will need to know which one to connect to or else can use
Code: [Select]
SIMULATE_DUAL_ENET_CONNECTIONwhich will pass all received frames to both Ethernet interfaces, but I don't think that this is relevant in your case.In case of general issues with receiving date (when the NIC is correctly selected) I recommend setting a break point in fnCheckThisEthernet() in iMxSim.c, which should be hit whenever any Ethernet data is received (either from the connected NIC or else from a script file). You can then check that it is being handled on the correct Ethernet and see whether it is rejected due to a configuration setting, etc.
Regards
Mark