zephyr/samples/drivers/spi_flash
Thomas Altenbach b7967f7ef4 samples: drivers: spi_flash: Use valid addresses/sizes for dual-flash
When a board contains two identical flash memories configured in
parallel dual-flash mode, the actual sector size is twice the sector
size of a single flash memory. So, assuming 4-KiB sectors for each flash
memory, any erase operation must be 8-KiB aligned.

This commit updates the start offset and sector size in the spi_flash
sample to be properly aligned when a dual-flash configuration is used.

At the moment, this is only supported for STM32-based boards and QSPI
flash memories.

Signed-off-by: Thomas Altenbach <altenbach.thomas@gmail.com>
2025-07-23 09:32:22 +02:00
..
boards samples: drivers: spi_flash: Enable sample on nrf54lm20dk 2025-07-21 07:51:19 -04:00
src samples: drivers: spi_flash: Use valid addresses/sizes for dual-flash 2025-07-23 09:32:22 +02:00
CMakeLists.txt
prj.conf
README.rst
sample.yaml samples: drivers: spi_flash: Enable sample on nrf54lm20dk 2025-07-21 07:51:19 -04:00

.. zephyr:code-sample:: spi-nor
   :name: JEDEC SPI-NOR flash
   :relevant-api: flash_interface

   Use the flash API to interact with an SPI NOR serial flash memory device.

Overview
********

This sample demonstrates using the :ref:`flash API <flash_api>` on a SPI NOR serial flash
memory device.  While trivial it is an example of direct access and
allows confirmation that the flash is working and that automatic power
savings is correctly implemented.

Building and Running
********************

The application will build only for a target that has a devicetree node with one of the
following bindings as a compatible:

* :dtcompatible:`jedec,spi-nor`,
* :dtcompatible:`st,stm32-qspi-nor`,
* :dtcompatible:`st,stm32-ospi-nor`,
* :dtcompatible:`nordic,qspi-nor`.

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/spi_flash
   :board: nrf52840dk/nrf52840
   :goals: build flash
   :compact:

Sample Output
=============

.. code-block:: console

   *** Booting Zephyr OS build zephyr-v2.3.0-2142-gca01d2e1d748  ***

   JEDEC QSPI-NOR SPI flash testing
   ==========================

   Test 1: Flash erase
   Flash erase succeeded!

   Test 2: Flash write
   Attempting to write 4 bytes
   Data read matches data written. Good!