From 4603b9ee7422c3489b581ab772df1d30de571115 Mon Sep 17 00:00:00 2001 From: tychovrahe Date: Tue, 10 Jan 2023 16:47:23 +0100 Subject: [PATCH] build(core): embed bootloader according to trezor model [no changelog] --- core/SConscript.firmware | 10 ++++++++-- .../firmware/bootloaders/bootloader_T1B1.bin | Bin 0 -> 32768 bytes .../bootloader_T2T1.bin} | Bin core/site_scons/tools.py | 11 +++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 core/embed/firmware/bootloaders/bootloader_T1B1.bin rename core/embed/firmware/{bootloader.bin => bootloaders/bootloader_T2T1.bin} (100%) diff --git a/core/SConscript.firmware b/core/SConscript.firmware index 05d03b8837..822ee218f9 100644 --- a/core/SConscript.firmware +++ b/core/SConscript.firmware @@ -772,12 +772,18 @@ obj_program.extend( ' --rename-section .data=.vendorheader,alloc,load,readonly,contents' ' $SOURCE $TARGET', )) + +BOOTLOADER_SUFFIX = tools.get_model_identifier(TREZOR_MODEL) + obj_program.extend( env.Command( - target='embed/firmware/bootloader.o', - source='embed/firmware/bootloader.bin', + target='embed/firmware/bootloaders/bootloader.o', + source=f'embed/firmware/bootloaders/bootloader_{BOOTLOADER_SUFFIX}.bin', action='$OBJCOPY -I binary -O elf32-littlearm -B arm' ' --rename-section .data=.bootloader' + f' --redefine-sym _binary_embed_firmware_bootloaders_bootloader_{BOOTLOADER_SUFFIX}_bin_start=_binary_embed_firmware_bootloader_bin_start' + f' --redefine-sym _binary_embed_firmware_bootloaders_bootloader_{BOOTLOADER_SUFFIX}_bin_end=_binary_embed_firmware_bootloader_bin_end' + f' --redefine-sym _binary_embed_firmware_bootloaders_bootloader_{BOOTLOADER_SUFFIX}_bin_size=_binary_embed_firmware_bootloader_bin_size' ' $SOURCE $TARGET', )) env.Depends(obj_program, qstr_generated) diff --git a/core/embed/firmware/bootloaders/bootloader_T1B1.bin b/core/embed/firmware/bootloaders/bootloader_T1B1.bin new file mode 100644 index 0000000000000000000000000000000000000000..ac9d56f2307c80722bd3ca49998efa776cac2de7 GIT binary patch literal 32768 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 RdoQ>lH%j0}3H)zM;CFAsl2iZy literal 0 HcmV?d00001 diff --git a/core/embed/firmware/bootloader.bin b/core/embed/firmware/bootloaders/bootloader_T2T1.bin similarity index 100% rename from core/embed/firmware/bootloader.bin rename to core/embed/firmware/bootloaders/bootloader_T2T1.bin diff --git a/core/site_scons/tools.py b/core/site_scons/tools.py index a9953d4190..2e4e558794 100644 --- a/core/site_scons/tools.py +++ b/core/site_scons/tools.py @@ -44,3 +44,14 @@ def configure_board(model, env, defines, sources): defines += [f'HW_REVISION={hw_revision}', ] sources += [f'embed/trezorhal/displays/{display}', ] env.get('ENV')['TREZOR_BOARD'] = board + + +def get_model_identifier(model): + if model == '1': + return "T1B1" + elif model == 'T': + return "T2T1" + elif model == 'R': + return "T2B1" + else: + raise Exception("Unknown model")