Minnowboard:SPI Boot flash

the MinnowBoard uses a SPI based serial flash memory to load the initial code into the Intel Atom E640 series processor. The MinnowBoard uses a WinBond W25Q32 ([[media:winbond-w25q32.pdf|datasheet]]) which has a total of 4096KB of storage which can be flashed with a UEFI image or other custom firmware.

= Programming Interface =

the MinnowBoard has a 2x4 header that has 0.1" spacing for programming the SPI based serial flash memory.

= Applications and Hardware =


 * Flashrom is an open source utility that allows you to work with the SPI based serial flash memory on the MinnowBoard.
 * Flashrom supports a wide range of flash devices (Supported Hardware) including the WinBond W25Q32.
 * Flashrom can automatically detect the presence of the WinBond W25Q32 and provide full read/erase/write functionality.
 * Flashrom can use the many open as well as proprietary hardware tools such as
 * DLP-2232H from DLPDesign
 * FTDI FT2232H generic breakout boards
 * Flyswatter2 from TinCanTools
 * Bus Pirate from Dangerous Prototypes
 * SF100 from DediProg (DediProg)
 * SPIDev userspace interface for the LinuxKernel

= Updating MinnowBoard Firmware =

In this section we will discuss how to update the default firmware on your MinnowBoard which is UEFI. You will also need a USB flash drive formatted in FAT32 format with a minimum of 8MB of free space for this guide.

Steps
1. Fire up your browser and go to the Intel MinnowBoard UEFI Firmware site.

2. Next click on the 'Download' button.



3. You will then have to accept the MinnowBoard End User License Agreement.



4. Then download the appropriate firmware version. At the time of writing this guide, the latest firmware versions available were 0.93 and 0.94.



5. Extract the zip file that you just downloaded. From that copy the two files: FirmwareUpdate.efi, MINNOW.fd to your USB flash drive.



6. Now, remove the microSD card from your MinnowBoard. Then connect the flash drive to the USB port on the MinnowBoard. Depending upon your operating system, configure accordingly to get access to MinnowBoard's serial console as documented here. Then, power it ON. You should see the UEFI Interactive Shell. As you can see from the figure below that the firmware version on my MinnowBoard is 0.90 and I will update it now to 0.94.



7. Now navigate to the USB storage by typing FSx(usually it is FS0) in the terminal. Here 'x' is replaced by the number from the file system mapping table. The command is case-insensitive.

FS0



8. Now run the command below in your terminal to update the firmware.

FirmwareUpdate -f

In our case, the firmware image is "MINNOW.fd". So, the command will become:

FirmwareUpdate -f MINNOW.fd



9. Once the firmware resets the board, you should see the new firmware version in the UEFI Interactive shell