zephyr/samples/drivers/flash_shell
Andrei Gansari 19975af460 samples: flash_shell: unaligned and pattern write
Adds unaligned and pattern write functionality.
The reason this was added is chips with large pages, e.g. 256 can't be
normaly writen via shell, thus the need to write a pattern with any
length to a memory area.
The unaligned write command allows writing a data frament in any place
in memory, the data backup, protection, erasing and writing is
automaticaly handled. This makes it easier to test all flash controller
functionality in one command, also write any persistent data to any
flash address.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-08-05 15:30:20 -04:00
..
src samples: flash_shell: unaligned and pattern write 2020-08-05 15:30:20 -04:00
CMakeLists.txt samples: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
Kconfig samples: flash_shell: Enable on all platforms with a flash driver 2020-02-06 19:18:51 -05:00
prj.conf samples: flash_shell: unaligned and pattern write 2020-08-05 15:30:20 -04:00
README.rst samples: driver: flash_shell: Add readme 2020-05-15 17:18:56 +02:00
sample.yaml samples: flash_shell: Enable on all platforms with a flash driver 2020-02-06 19:18:51 -05:00

.. _samples_flash_shell:

Flash Shell Sample
##################

Overview
********
This is a simple shell module that allows arbitrary boards with flash
driver support to explore the flash device.

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

This project can be built and executed on as follows:

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/flash_shell
   :host-os: unix
   :board: qemu_x86
   :goals: run
   :compact:

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

.. code-block:: console

    uart:~$ flash page_count
    Flash device contains 1024 pages.
    uart:~$ flash page_erase 1023
    Erasing page 1023 (start offset 0xffc00, size 0x400)
    uart:~$ flash page_write 1023 8 17 19 28 39
    Reading back written bytes:
    11 13 1c 27
    uart:~$ flash page_write 1023 4 77 9 1 2
    Reading back written bytes:
    4d 09 01 02
    uart:~$ flash page_read 1023 4 12
    4d 09 01 02 | 11 13 1c 27
    ff ff ff ff
    uart:~$ flash page_read 1023 0 16
    ff ff ff ff | 4d 09 01 02
    11 13 1c 27 | ff ff ff ff