Difference between revisions of "Minnowboard:SPI Boot flash"
m (→Steps) |
(→Applications and Hardware) |
||
Line 44: | Line 44: | ||
= Applications and Hardware = | = Applications and Hardware = | ||
− | *[http://flashrom.org/Flashrom Flashrom] is an open source utility that allows you to work with the SPI based serial flash memory on the MinnowBoard. | + | *[http://flashrom.org/Flashrom 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 ([http://flashrom.org/Supported_hardware Supported Hardware]) including the WinBond W25Q32. | + | * Flashrom supports a wide range of flash devices ([http://flashrom.org/Supported_hardware 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 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 | * Flashrom can use the many open as well as proprietary hardware tools such as | ||
Line 52: | Line 52: | ||
** [[Flyswatter2]] from [http://www.tincantools.com TinCanTools] | ** [[Flyswatter2]] from [http://www.tincantools.com TinCanTools] | ||
** [http://dangerousprototypes.com/docs/Bus_Pirate Bus Pirate] from [http://www.dangerousprototypes.com Dangerous Prototypes] | ** [http://dangerousprototypes.com/docs/Bus_Pirate Bus Pirate] from [http://www.dangerousprototypes.com Dangerous Prototypes] | ||
− | ** [http://www.dediprog.com/ | + | ** [http://www.dediprog.com/pd/spi-flash-solution/SF100 SF100] from [http://www.dediprog.com DediProg] ([[DediProg]]) |
− | ** [https://www.kernel.org/doc/Documentation/spi/spidev SPIDev] userspace interface for the | + | ** [https://www.kernel.org/doc/Documentation/spi/spidev SPIDev] userspace interface for the [[LinuxKernel]] |
= Updating MinnowBoard Firmware = | = Updating MinnowBoard Firmware = |
Latest revision as of 02:17, 18 August 2014
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 (datasheet) which has a total of 4096KB of storage which can be flashed with a UEFI image or other custom firmware.
Contents
Programming Interface
the MinnowBoard has a 2x4 header that has 0.1" spacing for programming the SPI based serial flash memory.
Pin number | Main Function | Note |
---|---|---|
1 | +3.3V Power | Supports on +3.3V |
2 | GND | system ground |
3 | nCS | Chip Select Active Low |
4 | SCK | SPI Clock |
5 | MISO | Data Output from serial flash |
6 | MOSI | Data Input to serial flash |
7 | NC | No Connection |
8 | nPRG_EN | Program Enable Active Low |
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 <firmware image>
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