The ETH messages are messages I added to the interrupt handler. I get two or three each time I press the reset button, usually two. I get them after about a 1 second delay, which could be autonegotiation.
I don't think any of this had to do with the Mac versus linux. It all has to do with being connected to a healthy network. I have no idea what was up with that other cable -- something else to look into someday.
I add some additional printout to this routine and see:
ETH ETH rx ETH dma err ETH ETH dma errThat is helpful. We are getting a DMA error. I only see these messages when a network cable is connected.
I get rid of the advised additing to the linker script that sets up the lwip_sec section and now I get only one interrupt:
ETH ETH dma errThis clearly means something, but I'm not sure what.
// #pragma location=0x30000000
/* Ethernet Rx DMA Descriptors */
ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT] __attribute__((section(".RxDescripSection")));
// #pragma location=0x30000080
/* Ethernet Tx DMA Descriptors */
ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT] __attribute__((section(".TxDescripSection")));
// #pragma location = 0x30000100
__attribute__((section(".Rx_PoolSection"))) extern u8_t memp_memory_RX_POOL_base[];
So clearly the section setup in the linker script is required!!
The "pragmas" are used for the IAR compiler, but I retain them for
a useful and informative comment.
Tom's software pages / tom@mmto.org