From 920c3102a6e36aff6de2b68b70f391a30c2e2110 Mon Sep 17 00:00:00 2001 From: Niklas Dusenlund Date: Thu, 8 May 2025 11:03:28 +0200 Subject: [PATCH 1/2] da14531: Use binary file as source instead of object file --- ...-firmware.o => bitbox-da14531-firmware.bin | Bin 25036 -> 24560 bytes src/CMakeLists.txt | 18 +++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) rename bitbox-da14531-firmware.o => bitbox-da14531-firmware.bin (97%) mode change 100644 => 100755 diff --git a/bitbox-da14531-firmware.o b/bitbox-da14531-firmware.bin old mode 100644 new mode 100755 similarity index 97% rename from bitbox-da14531-firmware.o rename to bitbox-da14531-firmware.bin index b013cfeec7dd34108c0646369561ec0ab938abed..49be2c8a94b4da40b1f32de5076163e61488ce16 GIT binary patch delta 10 RcmX?enDN7Y#*HQ);sGC%1$6)b delta 451 zcmeycpYhCLMw5D1A2&uu#zY1vU}Vr>V1#jiGz(P51T3b(z{D24y%8p%4HJVoy&1 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 761a2e085..9981e84ff 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -576,7 +576,23 @@ if(CMAKE_CROSSCOMPILING) target_compile_definitions(factory-setup.elf PRIVATE PRODUCT_BITBOX02_FACTORYSETUP "APP_BTC=0" "APP_LTC=0" "APP_ETH=0" "APP_U2F=0") target_sources(factory-setup.elf PRIVATE ${PLATFORM-BITBOX02-SOURCES}) target_link_libraries(factory-setup.elf PRIVATE rtt) - target_link_libraries(factory-setup.elf PRIVATE ${CMAKE_SOURCE_DIR}/bitbox-da14531-firmware.o) + + # Copy the binary file to the output directory because the symbol names in + # the object file depend on the path to the binary file + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/bitbox-da14531-firmware.o + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/bitbox-da14531-firmware.bin ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_OBJCOPY} -Ibinary -Oelf32-littlearm --rename-section .data=.rodata,alloc,load,readonly,data,contents bitbox-da14531-firmware.bin bitbox-da14531-firmware.o + DEPENDS ${CMAKE_SOURCE_DIR}/bitbox-da14531-firmware.bin + COMMENT "Convert da14531 firmware to object file") + + add_custom_target( + da14531-firmware-object + DEPENDS bitbox-da14531-firmware.o + ) + add_dependencies(factory-setup.elf da14531-firmware-object) + + target_link_libraries(factory-setup.elf PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/bitbox-da14531-firmware.o) foreach(name ${BOOTLOADERS} ${FIRMWARES}) From 6c621adc7fb1c4bf3cf2ad6f966c5ab430531446 Mon Sep 17 00:00:00 2001 From: Niklas Dusenlund Date: Thu, 8 May 2025 11:36:13 +0200 Subject: [PATCH 2/2] some debug output --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9981e84ff..d2378fbe9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -584,7 +584,7 @@ if(CMAKE_CROSSCOMPILING) COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/bitbox-da14531-firmware.bin ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_OBJCOPY} -Ibinary -Oelf32-littlearm --rename-section .data=.rodata,alloc,load,readonly,data,contents bitbox-da14531-firmware.bin bitbox-da14531-firmware.o DEPENDS ${CMAKE_SOURCE_DIR}/bitbox-da14531-firmware.bin - COMMENT "Convert da14531 firmware to object file") + COMMENT "Convert da14531 firmware to object file using ${CMAKE_OBJCOPY}") add_custom_target( da14531-firmware-object