aboutsummaryrefslogtreecommitdiff
path: root/nrf51/nrfjprog.cmake
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2016-09-12 18:39:34 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2016-09-12 18:39:34 +0200
commit94797ba0604f52bfdbe6ade2cb29724a05c17c57 (patch)
treefd39acde18f34bc333f4897674a9a7c2d8d97e69 /nrf51/nrfjprog.cmake
parent17ced7d38a9f1fcefc723420038470b4382f6dad (diff)
downloadmcu.cmake-94797ba0604f52bfdbe6ade2cb29724a05c17c57.tar.gz
mcu.cmake-94797ba0604f52bfdbe6ade2cb29724a05c17c57.tar.bz2
mcu.cmake-94797ba0604f52bfdbe6ade2cb29724a05c17c57.tar.xz
mcu.cmake-94797ba0604f52bfdbe6ade2cb29724a05c17c57.zip
o Adding targets to flash the firmware.
Diffstat (limited to 'nrf51/nrfjprog.cmake')
-rw-r--r--nrf51/nrfjprog.cmake45
1 files changed, 45 insertions, 0 deletions
diff --git a/nrf51/nrfjprog.cmake b/nrf51/nrfjprog.cmake
new file mode 100644
index 0000000..dde9c94
--- /dev/null
+++ b/nrf51/nrfjprog.cmake
@@ -0,0 +1,45 @@
+if (MCU_NRFJPROG OR NRFJPROG STREQUAL "NRFJPROG-NOTFOUND")
+ return()
+endif ()
+
+find_program(MCU_NRFJPROG nrfjprog VERBOSE)
+set(MCU_NRFJPROG ${MCU_NRFJPROG} CACHE FILE "Path to nrfjprog")
+
+if (MCU_NRFJPROG)
+ message("MCU: found nrfjprog: ${MCU_NRFJPROG}")
+else ()
+ message("MCU: nrfjprog not found")
+endif ()
+
+function(_nrf51_try_add_nrfjprog_targets T)
+ if (MCU_NRFJPROG)
+ _nrf51_add_nrfjprog_targets(${T})
+ endif ()
+endfunction()
+
+function(_nrf51_add_nrfjprog_targets T)
+ if (${MCU_CHIP} MATCHES "nrf51.*")
+ set(chip_series nrf51)
+ elseif (${MCU_CHIP} MATCHES "nrf52.*")
+ set(chip_series nrf52)
+ else ()
+ return()
+ endif ()
+
+ add_custom_target(${T}-flash
+ COMMAND ${MCU_NRFJPROG} -f ${chip_series} --sectorerase --program $<TARGET_FILE:${T}>.hex
+ COMMAND ${MCU_NRFJPROG} -f ${chip_series} --reset
+ DEPENDS $<TARGET_FILE:${T}>.hex
+ COMMENT "Flashing: ${T}")
+
+ #[[
+ get_target_property(MCU_SOFTDEVICE ${T} MCU_SOFTDEVICE)
+ if (MCU_SOFTDEVICE)
+ add_custom_target(${T}-flash-softdevice
+ COMMAND ${MCU_NRFJPROG} -f ${chip_series} --chiperase --program
+ COMMAND ${MCU_NRFJPROG} -f ${chip_series} --reset
+ DEPENDS $<TARGET_FILE:${T}>.hex
+ COMMENT "Flashing: ${T}")
+ endif ()
+ ]]
+endfunction()