November 18, 2016

Intel Galileo - Gen 2 - SPI rom and bricked units

The SPI flash chip is a Winbond 25Q64FV. This is a 64 Mbit (8 Mbyte) flash. This is a serial NOR flash.

I have not yet bricked my unit, and hope I never do. The procedures for recovery are interesting and instructive in any event though, so here are some links.

Note that the SF-100 Dediprog is a $300 item. If it came to needing one of these, most folks would just toss a $45 Galileo, sad as that might be. However, it is possible to use a Bus-pirate (and I already have one in my toolkit). All that is required then is the proper cable.

Reflashing and the BSP

Go here to find the BSP sources mentioned in the reversatronics page: Note that the BSP sources are shipped in some insane 7z format. On Fedora you install the p7zip package, then run "7za" to extract files. (What could be more ill-conceived and stupid?) This yields:
mkdir sources
cd sources
7za x ../Board_Support_Package_Sources_for_Intel_Quark_v1.0.1.7z
-rw-rw-r-- 1 tom tom  192465 May 22  2014 grub-legacy_5775f32a+v1.0.1.tar.gz
-rw-rw-r-- 1 tom tom  517412 May 22  2014 meta-clanton_v1.0.1.tar.gz
-rw-rw-r-- 1 tom tom 1487736 May 22  2014 Quark_EDKII_v1.0.1.tar.gz
-rw-rw-r-- 1 tom tom  236544 May 22  2014 quark_linux_v3.8.7+v1.0.1.tar.gz
-rw-rw-r-- 1 tom tom     480 May 22  2014 sha1sum.txt
-rw-rw-r-- 1 tom tom  219559 May 22  2014 spi-flash-tools_v1.0.1.tar.gz
-rw-rw-r-- 1 tom tom    9876 May 22  2014 sysimage_v1.0.1.tar.gz
But this may all be old history. The PDAT file mentioned above is nowhere to be found, and besides -- there is a newer bundle (without the 7z nonsense), namely: BSP_Sources_and_Docs_for_Intel_Quark_v1.2.1.1.zip
mkdir sources
cd sources
unzip ../BSP_Sources_and_Docs_for_Intel_Quark_v1.2.1.1.zip
ls -l
-rw-rw-r-- 1 tom tom  193620 May 23  2016 grub-legacy_5775f32a+v1.2.1.1.tar.gz
-rw-rw-r-- 1 tom tom 2073171 May 23  2016 meta-clanton_v1.2.1.1.tar.gz
-rw-rw-r-- 1 tom tom 1515172 May 23  2016 Quark_EDKII_v1.2.1.1.tar.gz
-rw-rw-r-- 1 tom tom  663886 May 23  2016 quark_linux_v3.14+v1.2.1.1.tar.gz
-rw-rw-r-- 1 tom tom  223617 May 23  2016 spi-flash-tools_v1.2.1.1.tar.gz
-rw-rw-r-- 1 tom tom    7694 May 23  2016 sysimage_v1.2.1.1.tar.gz
-rw-rw-r-- 1 tom tom  772420 May 19  2016 X1000_BSP_BuildGuide_329687_010US.pdf
-rw-rw-r-- 1 tom tom  258587 Jun 13 14:43 X1000_Quark_SW_RelNotes_330232_007.pdf
-rw-rw-r-- 1 tom tom  635943 May 19  2016 'X1000_SDM 330235_005US.pdf'
tar tzvf spi-flash-tools_v1.2.1.1.tar.gz 
 drwxr-s--- build_ir/quark_swbuild 0 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/
 drwxr-s--- build_ir/quark_swbuild 0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/asset-signing-tool/
 -rw-r----- build_ir/quark_swbuild 14787 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/asset-signing-tool/sign.c
 -rw-r----- build_ir/quark_swbuild  1488 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/LICENSE
 drwxr-s--- build_ir/quark_swbuild     0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/
 drwxr-s--- build_ir/quark_swbuild     0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/x86_64/
 drwxr-s--- build_ir/quark_swbuild     0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/x86_64/C/
 drwxr-s--- build_ir/quark_swbuild     0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/x86_64/C/bin/
 -rwxr-x--- build_ir/quark_swbuild 102078 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/x86_64/C/bin/GenSec
 -rwxr-x--- build_ir/quark_swbuild  68492 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/x86_64/C/bin/GenFfs
 -rwxr-x--- build_ir/quark_swbuild 158132 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/x86_64/C/bin/GenFv
 -rwxr-x--- build_ir/quark_swbuild 180457 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/x86_64/C/bin/GenFw
 -rw-r----- build_ir/quark_swbuild    702 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/BaseTools/README.txt
 -rw-r----- build_ir/quark_swbuild    942 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/ramfs.txt
 drwxr-s--- build_ir/quark_swbuild      0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/
 -rwxr-x--- build_ir/quark_swbuild   9021 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/platform-data/platform-data-patch.py
 -rw-r----- build_ir/quark_swbuild    571 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/sample-recursive-platform-data.ini
 drwxr-s--- build_ir/quark_swbuild      0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/kipsbay.v1.bin
 -rwxr-x--- build_ir/quark_swbuild     58 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/RelianceCreekSPU.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/clantonhill.v1.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/clantonpeak.v0.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/kipsbay.v0.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/clantonhill.v0.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/crosshill.v0.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/kipsbay-fabD.v1.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/GalileoGen2.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/crosshill.v1.bin
 -rwxr-x--- build_ir/quark_swbuild     37 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/dummy.mrc
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/clantonpeak.v1.bin
 -rwxr-x--- build_ir/quark_swbuild     39 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/GalileoFabE.bin
 -rwxr-x--- build_ir/quark_swbuild     58 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/MRC/RelianceCreek.bin
 -rwxr-x--- build_ir/quark_swbuild   6304 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/platform-data/sample-platform-data.ini
 drwxr-s--- build_ir/quark_swbuild      0 2016-05-18 09:12 spi-flash-tools_v1.2.1.1/generator/
 -rwxr-x--- build_ir/quark_swbuild   2156 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/generator/dediprog-checksum.py
 -rwxr-x--- build_ir/quark_swbuild   2207 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/generator/scan-padding.py
 -rwxr-x--- build_ir/quark_swbuild  28431 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/generator/generator.py
 -rwxr-x--- build_ir/quark_swbuild  17916 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/Makefile
 -rwxr-x--- build_ir/quark_swbuild   3792 2016-05-18 09:15 spi-flash-tools_v1.2.1.1/ramfs.mk
 

Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org