Reading Device ID from SPI Flash Using the Cheetah Host Adapter

Starting with the recent Design West Conference, we've had a focus on SPI programming over the last several weeks.  We recently added support for all Spansion Serial NOR Flash Memory and the latest Micron memory as well - The new version of Flash Center Software will be released on our website this coming Monday, May 20th.

Today's blog post comes from a brand new knowledge base article and instructs on how to read the Device ID from your SPI Flash Memory.


Programming and reading SPI memory devices is a common use case for the Cheetah adapter. There are several ways to do this with the Cheetah adapter, including using Cheetah GUI Software, Flash Center Software, or the Cheetah Software API. This article focuses on how to take the information in a flash datasheet and execute the Read Device ID command in Cheetah GUI software. Although the following describes the SPI Flash M25P32 found on the SPI Flash Demo Board, similar steps can be used for other devices.


In this article the Cheetah adapter reads the Device ID from the memory. Here the Cheetah adapter is the SPI master and the SPI flash on the demo board is the SPI slave. The article uses an M25P32 instruction, which is described below.

M25P32 Instructions, details will differ for your SPI memory Figure 1: M25P32 Instructions List

The M25P32 Read Identification instruction (0x9f) allows the identification data to be read. This instruction includes the instruction opcode. Then the identification data is shifted out. The M25P32 Read Identification Data Out Sequence is 20 20 16 h.

M25P32 Read Identification Instruction Figure 2: M25P32 Read Identification Instruction
M25P32 Read Identification Data Out Sequence Figure 3: M25P32 Read Identification Data Out Sequence

Memory Read Device ID Guidelines

  1. Download and run the latest version of the Total Phase USB Drivers Installer.
  2. Download and unzip the latest version of Cheetah GUI software. (?)
  3. Connect the Cheetah adapter to the PC via the USB connector.
  4. Connect the Cheetah adapter to the SPI flash demo board via the I2C/SPI connector. (?)
  5. Launch Cheetah GUI. (?)
  6. Connect the Cheetah adapter to Cheetah GUI. (?)
    1. Click Connect.
    2. Select the Cheetah adapter.
    3. Click Open to connect to the adapter.
  7. Configure the Modes to Mode 0, Bitrate to 400KHz, Bit Order to MSB, and SS Polarity to Active Low. (?)
  8. Enable SS0, Output Enable, Target Power, and All Bytes. (?)
  9. Read memory Device ID.
    1. Enter 9F 00 00 00 in the MOSI Message > Click Send. (The 3 extra 00 bytes are required to clock in the 3-byte Device ID from the memory on the MISO line.)
    2. The memory responds with Device ID 20 20 16.

    Cheetah Adapter Reads M25P32 Device ID


    For additional information, take a look at the Cheetah adapter datasheet, Cheeath GUI manual and High Speed SPI Flash Demo Board Datasheet.

Leave a Reply