aboutsummaryrefslogtreecommitdiff
path: root/nrf5x/nrfjprog.cmake
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2016-09-13 07:49:25 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2016-09-13 07:49:25 +0200
commit779987c9eddfe219d0775a03141be54f6822c89e (patch)
treedb518d329d7ff718b03352af99cebfd6792b0f5a /nrf5x/nrfjprog.cmake
parent94797ba0604f52bfdbe6ade2cb29724a05c17c57 (diff)
downloadmcu.cmake-779987c9eddfe219d0775a03141be54f6822c89e.tar.gz
mcu.cmake-779987c9eddfe219d0775a03141be54f6822c89e.tar.bz2
mcu.cmake-779987c9eddfe219d0775a03141be54f6822c89e.tar.xz
mcu.cmake-779987c9eddfe219d0775a03141be54f6822c89e.zip
o Renaming everything from nRF51 to nRF5x to better match the SDK.
o Using the correct startup code based on chip family. o Adding -flash and -softdevice-flash goals if nrfjprog is available.
Diffstat (limited to 'nrf5x/nrfjprog.cmake')
-rw-r--r--nrf5x/nrfjprog.cmake37
1 files changed, 37 insertions, 0 deletions
diff --git a/nrf5x/nrfjprog.cmake b/nrf5x/nrfjprog.cmake
new file mode 100644
index 0000000..8ebf274
--- /dev/null
+++ b/nrf5x/nrfjprog.cmake
@@ -0,0 +1,37 @@
+if (NOT MCU_NRFJPROG AND NOT NRFJPROG STREQUAL "NRFJPROG-NOTFOUND")
+ 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 ()
+endif ()
+
+function(_nrf5_try_add_nrfjprog_targets T)
+ if (MCU_NRFJPROG)
+ _nrf5_add_nrfjprog_targets(${T})
+ endif ()
+endfunction()
+
+function(_nrf5_add_nrfjprog_targets T)
+ get_target_property(MCU_SOFTDEVICE ${T} MCU_SOFTDEVICE)
+ get_target_property(MCU_NRF5X_CHIP_SERIES ${T} MCU_NRF5X_CHIP_SERIES)
+
+ add_custom_target(${T}-flash
+ COMMAND ${MCU_NRFJPROG} -f ${MCU_NRF5X_CHIP_SERIES} --sectorerase --program $<TARGET_FILE:${T}>.hex
+ COMMAND ${MCU_NRFJPROG} -f ${MCU_NRF5X_CHIP_SERIES} --reset
+ DEPENDS $<TARGET_FILE:${T}>.hex
+ COMMENT "Flashing: ${T}")
+
+ get_target_property(MCU_SOFTDEVICE ${T} MCU_SOFTDEVICE)
+ get_target_property(MCU_SOFTDEVICE_HEX ${T} MCU_SOFTDEVICE_HEX)
+ if (MCU_SOFTDEVICE AND MCU_SOFTDEVICE_HEX)
+ add_custom_target(${T}-flash-softdevice
+ COMMAND ${MCU_NRFJPROG} -f ${MCU_NRF5X_CHIP_SERIES} --chiperase --program ${MCU_SOFTDEVICE_HEX}
+ COMMAND ${MCU_NRFJPROG} -f ${MCU_NRF5X_CHIP_SERIES} --reset
+ DEPENDS $<TARGET_FILE:${T}>.hex
+ COMMENT "Flashing: ${T}")
+ endif ()
+endfunction()