.. _cache_coex_test:
Espressif ESP32 PSRAM/SPI Flash co-existence test
#################################################
Overview
********
This code tests SPI Flash and PSRAM content integrity after multithreaded and concurrent accesses to
a common cache. It does so by allocating a big PSRAM memory chunk and repeatedly filling that region
with a random generated pattern. At the same time, a whole SPI Flash page is updated with another pattern
value. By the end of the thread iterations, both PSRAM and SPI Flash have its contents compared against
expected values to check for integrity.
Building and Running
********************
Make sure you have the ESP32 DevKitC connected over USB port.
.. code-block:: console
west build -b esp32 tests/boards/espressif_esp32/cache_coex
west flash --esp-device /dev/ttyUSB0
Sample Output
=============
To check output of this test, any serial console program can be used (i.e. on Linux picocom, putty, screen, etc).
This test uses ``minicom`` on the serial port ``/dev/ttyUS0``. The following lines indicate a successful test:
.. code-block:: console
Running test suite cache_coex_test
===================================================================
START - flash_integrity_test
PASS - flash_integrity_test in 0.1 seconds
===================================================================
START - ram_integrity_test
PASS - ram_integrity_test in 0.1 seconds
===================================================================
Test suite cache_coex_test succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL