Support Question of the Week: Which is the Right Host Adapter for In-Circuit Programming of SPI Flash Memory with (or without) GPIO?

I am starting a new project that will use SPI flash memory. Which is the better choice for in-circuit programming, the AardvarkTM I2C/SPI Host Adapter or the CheetahTM SPI Host Adapter? I used the Aardvark adapter previously for the I2C bus, but not for in-circuit programming.

Also, do you have a document that describes the hardware setup for SPI programming? For example, the design has an on-board microprocesser, and I will need to hold that in reset while programming. I presume I can use a GPIO for this, but I would like the details.

Thanks for your questions! Fast and Easy Flash and EEPROM Programming illustrates the hardware connections for SPI programming using either the Aardvark host adapter or the Cheetah host adapter.

Using the Aardvark I2C/SPI Host Adapter for in-circuit programming SPI flash memory with GPIO Figure 1: Aardvark I2C/SPI Host Adapter

 

  • For in-circuit programming SPI flash memories with GPIO, we recommend using the Aardvark I2C/SPI Host Adapter. The Aardvark adapter is a general purpose device that can actively communicate on the I2C/SPI bus, and provide master and slave capability. The Aardvark adapter has two GPIO pins available when using the SPI/GPIO mode and can operate at up to 8 MHz as an SPI master. For details about Aardvark SPI signal characteristics, please refer to section 2.4 of the Aardvark Host Adapter User Manual.
Using the Cheetah SPI Host Adapter for in-circuit programming SPI flash memory without GPIO Figure 2: Cheetah SPI Host Adapter

 

  • For in-circuit programming SPI flash memories without GPIO, we recommend using the Cheetah SPI Host Adapter. The Cheetah adapter acts as an SPI master, operates at high speeds up to 40+ MHz, can provide gapless shifting, and provides control over the timing of the data that is shifted out.  However, the Cheetah adapter does not have GPIO functionality. For details about Cheetah adapter’s SPI signal characteristics, please refer to section 2.5 of the Cheetah Host Adapter User Manual.

For programming SPI flash memory devices, we recommend using the Flash CenterTM Software, which can be used with both Aardvark and Cheetah adapters.

  • Flash Center allows you to quickly erase, program, and verify I2C and SPI based EEPROM and Flash memory chips. For more information, please refer to the Flash Center Software User Manual.

We provide other free software applications for our host adapters. For the Aardvark adapter:

  • Control CenterTM Software provides full access to all Aardvark adapter functionality, and eliminates the need to write custom software to control the Aardvark adapter. It has also a batch scripting capability with the Aardvark XML Batch Script Language.
  • Aardvark Software API is used create custom programs for user-specified requirements. 

For the Cheetah adapter:

  • Cheetah GUI Software provides full access to all Cheetah adapter functionality, and eliminates the need to write custom software to control the adapter.
  • Cheetah Software API, like the Aardvark API, is used to create custom applications for user-specified requirements.

For more information about the host adapters and other Total Phase products, please refer to the following documents:

Flash Center User Manual
Getting Started - Aardvark I2C/SPI Host Adapter
Aardvark Adapter User Manual
Getting Started - Cheetah SPI Host Adapter
Cheetah Adapter User Manual
Total Phase Products
Product Selector Guide

We hope this answers your question. If you have other questions about our Host Adapters or other Total Phase products, feel free to email us at sales@totalphase.com or submit a request for technical support.

 

Leave a Reply