# fm10k-dump & fm10k-flash Utility that allows dumping/flashing the SPI Flash Non-Volatile Memory of the FM10000 family of cards. ## Requirements * GCC >= 4.4.0, TCC, or clang * make * Only one FM10K device installed on hardware. * A management resource (BAR4) must be exposed, check bifurcation settings if needed. * Usually FM10K cards use two 8x PCIe groups per 16x slot. ## Compilation * `$ make clean && make` * You can specify whether to use gcc/clang/tcc this way: `$ make CC=gcc` / `$ make CC=clang` / `$ make CC=tcc` * Two executables named `./fm10k-dump` and `./fm10k-flash` should now exist. ## fm10k-dump usage example * If the chip on the card is known to the tool, it'll set the image size to match. Alternatively it will use the platform minimum of 8Mbit. * `# ./fm10k-dump outputImage.bin` * You can also force the image/chip size: `# ./fm10k-dump outputImage.bin 32` ## fm10k-flash usage example * _fm10k-flash_ requires a backup of the existing image before flashing a new one, for safety measures. Use _fm10k-dump_ to take a backup copy of the current state before flashing. * `# ./fm10k-dump backupImage.bin` * `# ./fm10k-flash inputImage.bin backupImage.bin` ## License * BSD-3-Clause * See [COPYING](COPYING) for the full license.