Browse Source

cmake: add jlink_flash_uavcan_bin helper

release/1.12
Daniel Agar 4 years ago
parent
commit
8f242ec444
  1. 9
      platforms/nuttx/Debug/flash_bin.jlink.in
  2. 19
      platforms/nuttx/cmake/jlink.cmake
  3. 14
      src/drivers/bootloaders/CMakeLists.txt

9
platforms/nuttx/Debug/flash_bin.jlink.in

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
Device @DEBUG_DEVICE@
eoe 1
si SWD
speed auto
r
h
loadbin @BOARD_FIRMWARE_BIN@,@BOARD_FIRMWARE_APP_OFFSET@
go
qc

19
platforms/nuttx/cmake/jlink.cmake

@ -104,3 +104,22 @@ if(bootloader_bin OR (EXISTS "${PX4_BOARD_DIR}/bootloader/${PX4_BOARD_VENDOR}_${ @@ -104,3 +104,22 @@ if(bootloader_bin OR (EXISTS "${PX4_BOARD_DIR}/bootloader/${PX4_BOARD_VENDOR}_${
)
endif()
endif()
if(uavcan_bl_image_name)
# jlink_flash_bootloader
find_program(JLinkExe_PATH JLinkExe)
if(JLinkExe_PATH)
set(BOARD_FIRMWARE_BIN ${PX4_BINARY_DIR}/${uavcan_bl_image_name})
set(BOARD_FIRMWARE_APP_OFFSET "0x08010000")
configure_file(${PX4_SOURCE_DIR}/platforms/nuttx/Debug/flash_bin.jlink.in ${PX4_BINARY_DIR}/flash_bin.jlink @ONLY)
add_custom_target(jlink_flash_uavcan_bin
COMMAND ${JLinkExe_PATH} -CommandFile ${PX4_BINARY_DIR}/flash_bin.jlink
DEPENDS
${PX4_SOURCE_DIR}/platforms/nuttx/Debug/flash_bin.jlink.in
${uavcan_bl_image_name}
WORKING_DIRECTORY ${PX4_BINARY_DIR}
USES_TERMINAL
)
endif()
endif()

14
src/drivers/bootloaders/CMakeLists.txt

@ -60,21 +60,23 @@ if(NOT "${PX4_BOARD_LABEL}" MATCHES "canbootloader") @@ -60,21 +60,23 @@ if(NOT "${PX4_BOARD_LABEL}" MATCHES "canbootloader")
if ("${uavcanbl_git_desc}" STREQUAL "")
set(uavcanbl_git_desc ffffffff)
endif()
set(uavcan_bl_imange_name ${HWBOARD_ID}-${SW_MAJOR}.${SW_MINOR}.${uavcanbl_git_desc}.uavcan.bin)
message(STATUS "Generating UAVCAN Bootable as ${uavcan_bl_imange_name}")
add_custom_command(OUTPUT ${uavcan_bl_imange_name} deploy/${HWBOARD_ID}.bin
set(uavcan_bl_image_name ${HWBOARD_ID}-${SW_MAJOR}.${SW_MINOR}.${uavcanbl_git_desc}.uavcan.bin)
set(uavcan_bl_image_name "${uavcan_bl_image_name}" CACHE STRING "UAVCAN BL Image name" FORCE)
message(STATUS "Generating UAVCAN Bootable as ${uavcan_bl_image_name}")
add_custom_command(OUTPUT ${uavcan_bl_image_name} deploy/${HWBOARD_ID}.bin
COMMAND
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/make_can_boot_descriptor.py
-v --use-git-hash ${PX4_BOARD}.bin ${uavcan_bl_imange_name}
-v --use-git-hash ${PX4_BOARD}.bin ${uavcan_bl_image_name}
COMMAND
COMMAND ${CMAKE_COMMAND} -E make_directory deploy
COMMAND
${CMAKE_COMMAND} -E copy ${uavcan_bl_imange_name} deploy/${HWBOARD_ID}.bin
${CMAKE_COMMAND} -E copy ${uavcan_bl_image_name} deploy/${HWBOARD_ID}.bin
DEPENDS
${PX4_BINARY_DIR}/${PX4_BOARD}.bin
${CMAKE_CURRENT_SOURCE_DIR}/make_can_boot_descriptor.py
WORKING_DIRECTORY
${PX4_BINARY_DIR}
)
add_custom_target(build_uavcan_bl ALL DEPENDS ${uavcan_bl_imange_name})
add_custom_target(build_uavcan_bl ALL DEPENDS ${uavcan_bl_image_name})
endif()

Loading…
Cancel
Save