Hi to all,
I’m writing a driver for the W5100 IC for the STM32 platform. But I’m experiencing a really strange issue.
I’m writing a simple TCP client that connects to a bare-bone TCP server running on a PC. The client correctly establishes the connection to the server (socket in ESTABLISHED state) and I can check this also from server side. But (and this is the really strange thing) Sn_TX_RR and Sn_TX_WR registers contains random values each time the micro reboots (but they are equals) AFTER the socket connection is established (before socket connection they are equal to 0x0). The only way I’ve to reset them is to fire a SEND command, even if I haven’t uploaded any data in the TX buffer yet. When this happens, a lot of bytes are transferred from client to the server in several steps (more than 2048).
Then, the correct behaviour starts (Sn_TX_RR and Sn_TX_WR point to the start address of socket TX memory (eg. 0x4000)).
Did someone experience a similar issue?