Not all SPI Flashes are created equal
SPI Flashes have become very popular as an inexpensive way to add nonvolatile storage (flash memory) to an Embedded System. They come in various capacities, so increasing memory is fast and easy. Any microcontroller can interface to them via SPI or QSPI peripheral interfaces, or simple general purpose I/O (GPIO) pins under software control.
They seem like a commodity. However, because they come from a variety of manufacturers, it turns out that not all SPI Flashes are created equal.
You have to evaluate which SPI Flash is right for your project. This can be time consuming. While the capacity sizes are the standard powers of two, starting from 8Mbit or so, there are many differences in quality, reliability, programming speed, electrical specs, housings, and, of course, price. They also speak slightly different “dialects”.
At SEGGER we face the same evaluation challenge. Our customers use many types of SPI Flashes, so we have to make sure they can be programmed by our J-Links and Flashers. We also use them in some of our products. They have to be supported by the SPI flash driver of our file system emFile. All in all, we have to test hundreds of SPI Flashes.
Nothing off the shelf can do this easily. So, like many times before, we created an in-house solution. And, like many times before, we figured that if we see a need for it, so will other developers of Embedded Systems.
The SEGGER (Q) SPI Flash Evaluator
We designed hardware for our needs, making sure it could also be used by others to evaluate (Q)SPI flashes, as well as SEGGER’s programming and software solutions: The SEGGER (Q)SPI Flash Evaluator.
There are two connectors meaning:
- Direct programming can be tested (with the programmer connected directly to SPI Flash)
- Indirect programming can be tested (with the programmer connected to the microcontroller which accesses the SPI Flash)
The board has a microcontroller, with a 16 pin connector for an SPI Flash, and is 1.8V and 3.3V compatible.
We have different adapter boards, so that we can solder pretty much any flash, in any package.
Adapter board for SO-8, SO-8W, SO-16
Adapter board for BGA 4x6mm and 5x5mm
Adapter board for SON/DFN 8×6, 6×5, 4×4, 3×4, 3×2
We use this evaluation board internally at SEGGER for:
- Confirming the compatibility of SEGGER emFile’s NOR flash driver with SPI Flashes
- Writing flash programming algorithms for Flasher and J-Link
- Testing write speed and endurance
We are designing an evaluation package that will have you testing SPI Flashes in 15 minutes or less.
This package will contain a project for Embedded Studio, with source code of the application. Since Embedded Studio can be easily downloaded, installed and used (no license required for evaluation or non-commercial use…) it is the perfect choice for such a package, which we plan to be available some time in October 2019. Of course Embedded Studio is also the perfect choice for many other projects and for many other reasons, but I’ll have to cover that in another post.
Thanks for tuning into “What’s cooking with SEGGER”.
See you soon for more. We have many other pots on the stove …