Unwanted interrupts for EthernetMAC (MMC)
We use a STM32F746 with Ethernet (ETH). We found a possible problem of the using the Ethernet (ETH) with actived interrupt. The Ethernet (ETH) has one interrupt vector for all interrupts of the Ethernet (ETH) (e. g. Receive, or Early Receive, ...) A lot of the interrupt must enable for using. But 3 interrupts are normal on and must be disable. This 3 interrupts are MMCI, PMTI, TSTI. Please see Figure 507 in RM0385 (Rev 6). Especially the MMC-Interrupt(s) are very critical, because if the microcontroller sends more then 2^31 frames, automaticly an interrupt is triggered.
We have this problem in our project (we use language Ada and an own envoirment - so it was my mistake to don't deactived this interrupts). But I looked in your STM32CubeMX and found no notice to the MMC-Interrupt or freezing the MM-Counters. If I did not overlook it, then is this problem in our drivers, too.
Please check if your interrupt handler do correctly acknowdledge the MMC-Interrupts. Otherwise, after 2 ^ 31 frames sent, the interrupt handler is constantly called. Alternatively, the interrupt must be actively switched off.
Please refered to the following chapters of the RM0384:
- 38.5.7 MAC management counters MMC
- 38.7. (Figure 507)
- 38.8.2. ETH_MMCTIR and ETHMMCRIR, ETHMMCCR (for freeze)
Please give me a short feedback, if I'm right with my guess.
Best regards
Michael
