1.9 Memory Driver Asynchronous - SST26 QSPI Flash Read Write
This example application shows how to use the Memory driver in asynchronous mode of operation in both RTOS and Bare-Metal environment on the SST26 QSPI flash media.
Description
This application uses Memory driver to communicate with the SST26 QSPI flash memories in asynchronous mode of operation in Bare-Metal environment and RTOS environment.
It performs block Erase/Write/Read operations on QSPI flash media.
The application consists of three tasks which are called through the SYS_Tasks() routine in Bare-Metal environment and though RTOS thread context in RTOS environment.
DRV_MEMORY_0_Tasks(): Manages the state machine of the Memory driver instance 0.
APP_SST26_Tasks(): Performs operations on the SST26 QSPI Flash memory.
APP_MONITOR_Tasks(): Monitors the state of above Task.
Downloading and Building the Application
To clone or download this application from Github, go to the main page of this repository and then click Clone button to clone this repository or download as zip file. This content can also be downloaded using content manager by following these instructions.
Path of the application within the repository is apps/driver/memory/async/sst26_read_write/firmware.
To build the application, refer to the following table and open the project using its IDE.
Project Name | Description |
---|---|
sama5d29_curiosity.X | MPLABX project for SAMA5D29 Curiosity Development Board |
sama5d29_curiosity_freertos.X | MPLABX project for SAMA5D29 Curiosity Development Board |
Setting Up AT91Bootstrap loader
To load the application binary onto the target device, we need to use at91bootstrap loader. Refer to the at91bootstrap loader documentation for details on how to configure, build and run bootstrap loader project and use it to bootstrap the application binaries.
Setting Up the Hardware
The following table shows the target hardware for the application projects.
Project Name | Description |
---|---|
sama5d29_curiosity.X | SAMA5D29 Curiosity Development Board |
sama5d29_curiosity_freertos.X | SAMA5D29 Curiosity Development Board |
Setting Up SAMA5D29 Curiosity Development Board
- Connect the USB_A port on board to the computer using a USB-C type cable.
- Make sure that the jumper J10 is connected
Running the Application
- Build and program the application using its IDE
- LED is turned ON when the data read from each media matches with the data written in them
Board | LED Name |
---|---|
SAMA5D29 Curiosity Development Board | RGB_LED (Green) |