Marzogh/SPIMemory: Arduino Library for SPI Flash & FRAM memory chips
Creators
- 1. @ChipsnCode
- 2. @arduino
- 3. @Sensirion
- 4. University of Szeged
- 5. Suvie
Description
<hr>Formerly known as SPIFlash.
Please report any bugs in issues
<hr> Arduino library for Flash & FRAM Memory Chips (SPI based only)<sup> Download the latest stable release from [here](https://github.com/Marzogh/SPIMemory/releases/latest). Please report any bugs in [issues](https://github.com/Marzogh/SPIMemory/issues/new).</sup>
This Arduino library is for use with flash and FRAM memory chips that communicate using the SPI protocol. In its current form it supports identifying the flash/FRAM chip and its various features; automatic address allocation and management; writing and reading a number of different types of data, ranging from 8-bit to 32-bit (signed and unsigned) values, floats, Strings, arrays of bytes/chars and structs to and from various locations; sector, block and chip erase; and powering down for low power operation.
<hr> IDE Compatibility (actually tested with)- Arduino IDE v1.5.x
- Arduino IDE v1.6.x
- Arduino IDE v1.8.x
<sup>£ </sup><sub> ESP32 boards usually have an SPI Flash already attached to their default SS pin, so the user has to explicitly declare the `ChipSelect` pin being used with the constructor</sub>
<hr> Flash memory compatibility - Actually tested with Manufacturer Flash IC Notes Winbond W25Q16BV <br> W25Q64FV <br> W25Q64JV <br> W25Q80BV <br> W25Q256FV Should work with the W25QXXXBV, W25QXXXFV & <br> W25QXXXJV families Microchip SST25VF064C <br> SST26VF016B <br> SST26VF032B <br> SST26VF064B Should work with the SST25 & SST26 families Cypress/Spansion S25FL032P <br> S25FL116K <br> S25FL127S Should work with the S25FL family ON Semiconductor LE25U40CMC AMIC A25L512A0 Micron M25P40 Adesto AT25SF041 Macronix MX25L4005 <br> MX25L4005 Giga devices GD25Q16C (Used on the Adafruit ItsyBitsy M0 Express) Should work with any flash memory that is compatible with the SFDP standard as defined in JESD216B <hr> FRAM memory compatibility - Actually tested with Manufacturer Flash IC Notes Cypress/Spansion FM25W256 Should work with the FM25W family <hr> Installation Option 1- Open the Arduino IDE.
- Go to Sketch > Include Library > Manage libraries.
- Search for SPIMemory.
- Install the latest version.
- Click on the 'Clone or download' button above the list of files on this <a href = "https://github.com/Marzogh/SPIMemory/tree/master"> page </a>.
- Select Download ZIP. A .zip file will download to your computer.
- Unzip the archive and rename resulting folder to 'SPIMemory'
- Move the folder to your libraries folder (~/sketches/libraries)
- FastRead works properly now. All previous versions of the library had a FastRead bug that prevent it from doing what it was supposed to.
- An alternate version of the constructor
can be used (only with ESP32 boards as of now) to enable the use of custom SPI pins.SPIFlash flash(int8_t *SPIPinsArray);
SPIPinsArray
has to be a 4 element array containing the custom SPI pin numbers (as signed integers - int8_t) in the following order - sck, miso, mosi, ss. Refer to the wiki for more information. Resolves #113 - Created new error code
NOCHIPSELECTDECLARED
for errors with declaring custom SPI pins. - Using other SPI ports (HSPI, VSPI, SPI1, SPI2 etc.) is now also supported on ESP32 boards - along with SAMD and STM32 boards (supported since v3.0.0). Resolves #177
- Formatted and merged pull request #153. This changes the way
setClock()
works and allows for the definition of clock speed before the SPI Bus is instantiated. Refer to wiki for further details. Thanks @rambo.
- nRF52832 ARM Cortex M4F (Adafruit nRF52 Feather)
- STM32L0 ARM Cortex M0+ (Nucleo-L031K6)
- MX25L4005 & MX25L4005 from Macronix
Files
Marzogh/SPIMemory-v3.4.0.zip
Files
(3.4 MB)
Name | Size | Download all |
---|---|---|
md5:454c31e024264182952c8ca74031d110
|
3.4 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/Marzogh/SPIMemory/tree/v3.4.0 (URL)