Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
We are using a murata SN8000 module connected via SDIO operating with 48 Mhz to a Cortex-M3 LPC1837.
We are using a WWD ported from the SDK 3.1.2 (including matching patch from murata).
We are using a custom PCB with SPI Flash, SDRAM, MCU and SN8000.
The MCU is operating at 180 MHz.
We are using an older version of FreeRTOS and LWIP (not taken from the SDK).
The SDIO interrupt has the highest interrupt priority.
The WWD task has the highest task priority.
There should be no long interrupt processing during the test.
During synthetic tests we experience reproducible cases when the WLAN module stops accepting SDPCM bus data.
Our test case connects to a WLAN access point and performs several TCP communication scenarios (repeatedly connect to a remote host, transfer many data to remote host, etc) for about 30 minutes.
For a last test step the remote host is configured to drop all incoming network data. The last test step tries 100 times to establish a TCP connection to the remote host with a timeout of 1 second each, which are intended to fail (timeout after 1 second) because the remote host drops all TCP SYN segments.
Afterwards the "drop all incoming network data" is disabled on the remote host and our code performs a TCP connect to the remote host.
Usually this test case performs successfully. However in about 1 out of 10 test runs, the WLAN module stops sending data to the remote host in the middle of the 100 TCP connect loops. We can see the TCP SYN segments every second until suddenly (varying, after 50-90 seconds) the module stops sending them.
Further analysis shows that the WWD driver runs out of bus data credits.