diff --git a/src/efinix.cpp b/src/efinix.cpp index 899f099..6884a67 100644 --- a/src/efinix.cpp +++ b/src/efinix.cpp @@ -218,10 +218,13 @@ void Efinix::program(unsigned int offset, bool unprotect_flash) throw std::runtime_error("device mismatch: " + device + " != " + target); } } - std::string mode = bit->getHeaderVal("mode"); - if (mode.find("passive") != std::string::npos) { - delete bit; - throw std::runtime_error("passive mode not supported for flash"); + std::map hdr = bit->getHeader(); + if(hdr.find("mode") != hdr.end()) { + std::string mode = bit->getHeaderVal("mode"); + if (mode.find("passive") != std::string::npos) { + delete bit; + throw std::runtime_error("passive mode not supported for flash"); + } } } catch (std::runtime_error& e) { throw;