| .. zephyr:code-sample:: esp32-spiram |
| :name: SPIRAM |
| |
| Allocate memory from SPIRAM. |
| |
| Overview |
| ******** |
| |
| This sample shows how to allocate memory from SPIRAM by using |
| :c:func:`shared_multi_heap_aligned_alloc` with ``SMH_REG_ATTR_EXTERNAL`` attribute. Checks if the |
| memory was correctly allocated then frees it by calling :c:func:`shared_multi_heap_free`. |
| It also allocates memory from internal memory and checks if the address range is correct. |
| |
| Supported SoCs |
| ************** |
| |
| The following SoCs are supported by this sample code so far: |
| |
| * ESP32 |
| * ESP32-S2 |
| * ESP32-S3 |
| |
| Building and Running |
| ******************** |
| |
| Make sure you have your board connected over USB port. |
| |
| .. code-block:: console |
| |
| west build -b esp32s3_devkitm/esp32s3/procpu samples/boards/espressif/spiram_test |
| west flash |
| |
| If using another supported Espressif board, replace the argument in the above |
| command with a proper board name (e.g., ``esp32s2_saola``). |
| |
| Sample Output |
| ============= |
| |
| To check output of this sample, run ``west espressif monitor`` or any other serial |
| console program (e.g., minicom, putty, screen, etc). |
| This example uses ``west espressif monitor``, which automatically detects the serial |
| port at ``/dev/ttyUSB0``: |
| |
| .. code-block:: console |
| |
| $ west espressif monitor |
| |
| .. code-block:: console |
| |
| *** Booting Zephyr OS build v3.7.0-446-g93c9da66944c *** |
| SPIRAM mem test pass |
| Internal mem test pass |