Flash Center Software Series: Operations to Erase, Program, and Verify Memory Devices

The Flash Center Software, offered by Total Phase, allows users to easily and quickly program I2C and SPI EEPROM and Flash memories devices. It is intended to be used with our host adapter tools, including the Promira Serial Platform, Cheetah SPI Host Adapter, and Aardvark I2C/SPI Host Adapter.

Memory programming can be useful for a variety of applications, including testing and prototyping products or mass programming hundreds of devices with the same contents within production line settings. The Flash Center Software offers different operations to program, verify, read, and erase memory devices. In this blog, we’ll provide insight into these operations and how to use them.

Inside the Flash Center Software

The Flash Center Software offers an easy-to-use interface to interact with the host adapters tools and memory devices to read/write/erase data, as well as view the details for every operation performed.

Use Flash Center Software GUI Panel and Promira Serial Platform to program write/read SPI flash memory devices.

The Flash Center Software’s main window is divided into seven major sections:

  1. The toolbar provides access to all device operations.
  2. The Status panel provides visual feedback of the overall progress of a programming operation.
  3. The Device Control panel shows the current target memory device and allows the changing of parameters used to program the device.
  4. The Promira Power Control (for the Promira Serial Platform) controls the target power (pins 4 and 6) and IO power (pins 22 and 24) independently and shifts the I2C/SPI signals logical level and IO power (pin 22 and 24) level from 0.9 V to 3.45 V.
  5. The Adapters panel shows the adapters that are currently connected and their individual status. There are also controls to change the target power for each connected adapter and checkboxes to select which adapters will participate in the operations.
  6. The Data panel contains controls to manipulate the data that will be written to the device. A hex editor is provided for convenience.
  7. The Transaction Log panel displays status details for every operation.

 

Connecting Adapters to the Software

To perform any of the operations, users first need to connect their adapter to the Flash Center Software. To do so, first connect the adapter(s) to the computer via the included USB cable. Users can then connect the adapter(s) to the software by clicking Adapters in the top menu. A list of available adapters will be displayed in this window. After clicking “Add,” the adapter(s) will appear in the Connected Adapters panel.

Add Adapters panel in Flash Center Software

One instance of the Flash Center Software can be used to control multiple adapters. Take a look at how this can be done here.

Total Phase offers three different host adapters for I2C and SPI programming: the Aardvark I2C/SPI Host Adapter, the Cheetah SPI Host Adapter, and the Promira Serial Platform. For a comparison of these tools and their features and capabilities, please see our I2C/SPI Product Guide. The Promira Serial Platform is our premier serial device that offers advanced features for flexibility in different environments. Take a look at why this tool is essential to the embedded engineer.

Selecting a Target Device

Next, users should select the target device they are looking to program by selecting the "Target" icon within the top toolbar and select File | Choose Target, or pressing the shortcut sequence Ctrl+T.

Add target device button in Flash Center Software

The Flash Center Software natively supports various memory devices from a range of manufacturers. Select the part in the dialog by selecting the device type, manufacturer, and part number and then selecting OK.

Select Target Device Panel in Flash Center Sofware

Users can also add devices if their part is not already included in the built-in library by creating an XML file. Instructions for this can be found here.

Memory Operations

All of the memory operations can be found as buttons within the top toolbar or these same operations can be accessed through the menu bar.

Operations Panel in Flash Center Software

Memory operations are multi-threaded, meaning that an operation in progress on one device is independent of a simultaneous operation on another device. 

Operation status panel in Flash Center Software

Users can view the status of the different operations in progress. The larger status bar at the top of the dialog shows total program progress while the smaller status bars show the progress of each adapter connected to the software.

Read Device

Read device button in Flash Center Software

If a target device has been selected and adapters are connected, the "Read Device" toolbar icon will be displayed. Clicking this button will reveal the contents of the selected device and will replace the current contents in the data buffer. If multiple devices are selected, a dialog will appear where users can specify which device should be used to perform the read.

Read device panel in Flash Center Software

Program + Verify

Program and verify button in Flash Center Software

The Program + Verify cycle writes data to one or more attached memory devices and then reads back the data to verify it for correctness.

The Program + Verify cycle can be selected by either clicking the toolbar icon, selecting Operations | Program + Verify from the menu, or pressing the shortcut sequence Ctrl+P.

Note: For this operation, an erase cycle will be performed first on all SPI Flash devices. The erase will cover only those sectors which will be written.

In order to perform all programming operations within the Flash Center Software, at least one adapter needs to be connected, a Flash device must be selected, and there needs to be data in the data buffer. To load data into the data buffer, users can import pre-configured hex, S-record, or binary files through the Data window. Users can also edit the data directly with the built-in hex editor.

Data panel in Flash Center Software

Program

Program button in Flash Center Software

The Program cycle writes data to the device, but does not perform the verification step. Requirements are the same as for Program + Verify.

The Program cycle can be selected by either clicking the toolbar icon, selecting Operations | Program from the menu, or pressing the shortcut sequence Ctrl+G.

Like the Program + Verify cycle, an erase cycle will be performed first for SPI Flash devices.

Program (No Erase)

Prgram (no erase) button in Flash Center Software

The Program (No Erase) cycle is a special mode for SPI Flash devices. It writes data to the device, but does not perform an erase cycle like with other operations. This operation can be useful when programming multiple memory images to the device.

Because the device may have been programmed prior to this operation, it does not perform the verification step. Requirements are the same as for Program + Verify.

The Program cycle can be selected either by clicking the toolbar icon, selecting Operations | Program (No Erase) from the menu, or pressing the shortcut sequence Ctrl+M.

Verify

Verify button in Flash Center Software

The Verify cycle is used to verify the contents of the selected devices against the contents of the data buffer.

The Verify cycle can be selected either by clicking the toolbar icon, selecting Operations | Verify from the menu, or pressing the shortcut sequence Ctrl+Y.

Erase

Erase button in Flash Center Software

The Erase cycle is used to erase the entire contents of a memory device or a portion of it. For partial erasure, the Erase Parameters dialog can be used to specify the start addresses and length as either a decimal value or as a hexadecimal value with the "0x" prefix.

Erase Parameters dialog in Flash Center Software

If a device does not have an erase instruction, zeros are written to the specified range within the device. Otherwise, check the memory device manual for erase behavior.

The Erase cycle can be selected either by clicking the toolbar icon, selecting Operations | Erase from the menu, or pressing the shortcut sequence Ctrl+E. The erase cycle can be selected even if there is no data in the Hex Editor.

Example Memory Programming

To see the Promira Serial Platform programming a memory device in the Flash Center Software, take a look at our demo video:

Programming SPI Flash Memory with the Promira Serial Platform

Conclusion

The Flash Center Software offers an easy way for engineers to perform various operations to their memory devices, including programming data, verifying the contents, and erasing I2C- and SPI-based memory chips as needed. This can be helpful for engineers in various product development and production applications.