I2C SPI USB CAN eSPI Cable Testing View All Quick Start Guides User Manuals Software Downloads Knowledge Base Videos Case Studies App Notes White Papers Sales Support About Us
Products Blog Sales Support Contact Search
I Need to Program an SPI Memory Device While It Remains Reset - Which Tools are Available for This?
Rena Ayeras

An image of an engineer analyzing code to determine how to improve working with SPI memory devices

Image by Geralt

Question from the Customer:

I need to write to W25N01GV NAND memory. This Multi I/O SPI Flash memory must remain reset during the process of programming. Which tools are best for this? For this project, only SPI is enabled. We are not using the Dual or Quad capabilities.

Response from Technical Support:

Thank you for your question! For your specific task, the Aardvark I2C/SPI Host Adapter or the Cheetah SPI Host Adapter would work. You can use the Control Center Serial Software to program to and read from your SPI NAND Flash device. Please note, the Flash Center Software does not support programming NAND chips. Alternatively, you can use the Aardvark Software API/Cheetah Software API to develop the program you need for your project. Functional API examples are provided that can be used as-is or modified per your requirements.

Using an Adapter and Apps for Programming SPI Devices

API functions, as well as the Control Center Serial Software, can be used for developing customized scripts for your projects. For advanced setups, the Control Center Serial Software is often used to verify the concept with batch XML instructions to then create the API script.

Functional API Examples

For the Aardvark I2C/SPI Host Adapter, functional API scripts are provided that can be used as-is or modified per your requirements. These examples are available in C, Visual Basic, Python, as well as Aardvark XML batch script code. Note, all the examples were written for the EEPROM AT25080A component that is used on the I2C/SPI Activity Board.

  • aaspi_eeprom: Read from or write to an SPI serial EEPROM. This looks like the best place for you to start with your project.
  • aadetect: Detect Aardvark devices attached to the system.
  • aalights: Flash LEDs attached to a Philips PCA9554D I/O port expander as found on the Activity Board.
  • aai2c_eeprom: Read from or write to an I2C serial EEPROM, such as the Atmel AT24C02 on the Activity Board.
  • aai2c_file, aai2c_slave: Exercise the I2C slave functionality of the Aardvark device. This example requires two Aardvark devices. First run aai2c_slave with the first Aardvark device to wait for a new slave transmission. Then, in another shell, run aai2c_file to transmit a binary file with the second Aardvark device.
  • aaspi_file, aaspi_slave: Exercise the SPI slave functionality of the Aardvark device. This example requires two Aardvark devices. First run aaspi_slave with the first Aardvark device to wait for a new slave transmission. Then, in another shell, run aaspi_file to transmit a binary file from the second Aardvark device.
  • aagpio: Perform some simple GPIO tests with a single Aardvark adapter. The results can be verified with an oscilloscope or a multimeter.

For more information about the API, please refer to the API Documentation section in the Aardvark I2C/SPI Host Adapter User Manual.

Using Control Center Serial Software

Here is a video that shows how you can easily program an I2C EEPROM using the Aardvark I2C/SPI Host Adapter. The steps for programming SPI devices are very similar.

Dual and Quad Support for SPI Devices

Although you mentioned you are not using the Dual or Quad features of your SPI device, should they become necessary for upcoming projects, we support those advanced capabilities. If you require Quad SPI speeds, we recommend the Promira Serial Platform configured with SPI Active Level 1, Level 2, and Level 3 Applications. Note that Dual and Quad SPI speeds greatly exceed the bitrates of the Aardvark adapter. For information about using the Dual/Quad SPI capabilities of the Promira platform in the Control Center Serial Software, please refer to Control Center Serial Software Series: Using Multi I/O SPI Master Mode. We also have a video that shows you how to program an I2C EEPROM. The steps are very similar for programming SPI memory devices.

For your convenience, the Promira Aardvark Wrapper Software API makes it easy to continue using the API scripts for the Aardvark adapter with the Promira platform. However, only Aardvark adapter functionalities will be supported. Similar to the Aardvark Software API, functional examples and descriptions of the Promira Software API I2C/SPI Active are available, which access Promira platform SPI and I2C functionalities.

 

We hope this answers your question. Additional resources that you may find helpful include the following:

If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.