zephyr/tests/boards/espressif_esp32/cache_coex
..
src
CMakeLists.txt
README.rst
prj.conf
testcase.yaml

README.rst

.. _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