aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--classes/zephyr-flash-pyocd.bbclass10
-rw-r--r--conf/machine/include/nrf52832.inc3
2 files changed, 12 insertions, 1 deletions
diff --git a/classes/zephyr-flash-pyocd.bbclass b/classes/zephyr-flash-pyocd.bbclass
index a873be4..6517945 100644
--- a/classes/zephyr-flash-pyocd.bbclass
+++ b/classes/zephyr-flash-pyocd.bbclass
@@ -27,6 +27,9 @@ python do_flash_usb() {
if not ids:
bb.fatal("No probe requested for programming. Make sure PYOCD_FLASH_IDS is set.")
+ # Fetch target type to pass to the ConnectHelper
+ target = d.getVar('PYOCD_TARGET')
+
# Program each ID
for id in ids:
bb.plain(f"Attempting to flash {os.path.basename(image)} to board {d.getVar('BOARD')} [{id}]")
@@ -35,7 +38,12 @@ python do_flash_usb() {
now = 0
step = 3
while True:
- session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True, unique_id=id)
+ if target is not None:
+ session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True, unique_id=id, target_override=target)
+ else:
+ bb.warn(f"Target type not provided. Flashing may fail or result in an undefined behavior.")
+ session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True, unique_id=id)
+
if session:
break
if now >= timeout:
diff --git a/conf/machine/include/nrf52832.inc b/conf/machine/include/nrf52832.inc
index 73e628a..e938aa6 100644
--- a/conf/machine/include/nrf52832.inc
+++ b/conf/machine/include/nrf52832.inc
@@ -8,3 +8,6 @@ require conf/machine/include/tune-cortexm4.inc
MACHINEOVERRIDES =. "nordic:"
TUNE_FEATURES = "armv7m cortexm4"
+
+# Target type for this machine used by Pyocd
+PYOCD_TARGET = "nrf52"