diff --git a/builder/frameworks/arduino/nrf5.py b/builder/frameworks/arduino/nrf5.py index 56af0bf..60a540b 100644 --- a/builder/frameworks/arduino/nrf5.py +++ b/builder/frameworks/arduino/nrf5.py @@ -182,6 +182,15 @@ env.Exit(1) if selected_bl: + # Validate required bootloader fields + required_fields = ["bootloader_file", "linker_script", "max_size", "max_ram_size"] + missing_fields = [field for field in required_fields if field not in selected_bl] + if missing_fields: + sys.stderr.write( + "Error. Bootloader '%s' is missing required fields: %s\n" % + (selected_bl.get("name", "unknown"), ", ".join(missing_fields))) + env.Exit(1) + # Use bootloader_file, linker_script, max_size, max_ram_size from selected_bl env.Replace(BOOTLOADERHEX=join(FRAMEWORK_DIR, "variants", board.get("build.variant", ""), selected_bl["bootloader_file"])) if "flags" in selected_bl: