Utility that allows dumping and flashing the SPI Flash Non-Volatile Memory of the FM10000 family of cards.
Go to file
DataHoarder 37b1644120
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
Apply consistent spaces and style across project
2021-12-19 15:32:37 +01:00
src Apply consistent spaces and style across project 2021-12-19 15:32:37 +01:00
.drone.jsonnet Build Debian bullseye 2021-08-04 07:24:59 +02:00
.gitignore Support TCC building, added two packed struct alignment tests 2021-01-06 08:01:35 +01:00
COPYING Update copyright year 2021-12-19 15:30:44 +01:00
Makefile Remove TCC from debian jessie and fedora, fix alpine, fix void 2021-01-06 11:17:07 +01:00
README.md Support TCC building, added two packed struct alignment tests 2021-01-06 08:01:35 +01:00

README.md

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 for the full license.