diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2016-09-13 07:49:25 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2016-09-13 07:49:25 +0200 |
commit | 779987c9eddfe219d0775a03141be54f6822c89e (patch) | |
tree | db518d329d7ff718b03352af99cebfd6792b0f5a /nrf5x/nrfjprog.cmake | |
parent | 94797ba0604f52bfdbe6ade2cb29724a05c17c57 (diff) | |
download | mcu.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.cmake | 37 |
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() |