From 0283a03d827b3c73205f5aa391de2411394d6498 Mon Sep 17 00:00:00 2001 From: Patrick Urban Date: Wed, 15 Oct 2025 23:19:50 +0200 Subject: [PATCH] gmpack: add background reconfiguration feature --- libgm/src/Bitstream.cpp | 23 +++++++++++++++++------ libgm/tools/gmpack.cpp | 5 +++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/libgm/src/Bitstream.cpp b/libgm/src/Bitstream.cpp index 2eae569..71295f6 100644 --- a/libgm/src/Bitstream.cpp +++ b/libgm/src/Bitstream.cpp @@ -967,6 +967,7 @@ Bitstream Bitstream::serialise_chip(const Chip &chip, const std::map data = std::vector(die.get_latch_config(x, y)); uint8_t ff_init = data.back(); data.pop_back(); @@ -1030,15 +1033,20 @@ Bitstream Bitstream::serialise_chip(const Chip &chip, const std::map(), "CRC error behaviour (check, ignore, unused)"); options.add_options()("spimode", po::value(), "SPI Mode to use (single, dual, quad)"); options.add_options()("reconfig", "enable reconfiguration in bitstream"); + options.add_options()("background", "enable background reconfiguration in bitstream"); options.add_options()("bootaddr", po::value(), "boot address for secondary bitstream"); po::positional_options_description pos; options.add_options()("input", po::value()->required(), "input textual configuration"); @@ -100,6 +101,10 @@ int main(int argc, char *argv[]) bitopts["reconfig"] = "yes"; } + if (vm.count("background")) { + bitopts["background"] = "yes"; + } + if (vm.count("bootaddr")) { bitopts["bootaddr"] = std::to_string(vm["bootaddr"].as()); }