mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-25 08:36:08 +08:00
ROMFS handle bl_update generically
- include all available legacy bootloaders
This commit is contained in:
committed by
Lorenz Meier
parent
3ad0da51c4
commit
f8eaa6e46b
@@ -64,10 +64,10 @@ if(config_build_bootloader)
|
||||
|
||||
ExternalProject_Get_Property(bootloader_firmware BINARY_DIR)
|
||||
|
||||
set(bootloader_exe "${BINARY_DIR}/${bootloader_config}.elf")
|
||||
set(bootloader_bin "${PX4_BINARY_DIR}/romfs_extras/${bootloader_config}.bin" CACHE FILEPATH "bootloader binary path")
|
||||
set(board_bootloader_firmware "${BINARY_DIR}/${bootloader_config}.elf" CACHE FILEPATH "bootloader original binary path")
|
||||
set(bootloader_bin "${PX4_BINARY_DIR}/romfs_extras/bootloader.bin" CACHE FILEPATH "bootloader binary path")
|
||||
|
||||
file(RELATIVE_PATH bootloader_exe_relative ${CMAKE_CURRENT_BINARY_DIR} ${bootloader_exe})
|
||||
file(RELATIVE_PATH bootloader_exe_relative ${CMAKE_CURRENT_BINARY_DIR} ${board_bootloader_firmware})
|
||||
file(RELATIVE_PATH bootloader_bin_relative ${CMAKE_CURRENT_BINARY_DIR} ${bootloader_bin})
|
||||
|
||||
add_custom_command(OUTPUT ${bootloader_bin}
|
||||
@@ -77,4 +77,25 @@ if(config_build_bootloader)
|
||||
COMMENT "Copying ${bootloader_config} to ROMFS extras"
|
||||
)
|
||||
add_custom_target(copy_bootloader_bin DEPENDS ${bootloader_bin})
|
||||
|
||||
elseif(EXISTS "${PX4_BOARD_DIR}/bootloader/")
|
||||
|
||||
if(EXISTS ${PX4_BOARD_DIR}/bootloader/${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin)
|
||||
set(board_bootloader_firmware ${PX4_BOARD_DIR}/bootloader/${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin CACHE FILEPATH "bootloader original binary path")
|
||||
set(bootloader_bin "${PX4_BINARY_DIR}/romfs_extras/bootloader.bin" CACHE FILEPATH "bootloader binary path")
|
||||
|
||||
add_custom_command(OUTPUT ${bootloader_bin}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/romfs_extras
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${board_bootloader_firmware} ${PX4_BINARY_DIR}/romfs_extras/bootloader.bin
|
||||
DEPENDS ${board_bootloader_firmware}
|
||||
COMMENT "Copying ${board_bootloader_firmware} to ROMFS extras"
|
||||
)
|
||||
add_custom_target(copy_bootloader_bin DEPENDS ${bootloader_bin})
|
||||
|
||||
else()
|
||||
file(GLOB bootloader_bin_files ${PX4_BOARD_DIR}/bootloader/*.bin)
|
||||
foreach(bin_file ${bootloader_bin_files})
|
||||
message(FATAL_ERROR "incorrect bootloader filename ${bin_file} should be ${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin")
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user