mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-18 20:38:10 +00:00
refactor(core): reorganize model specific files in site-scons
[no changelog]
This commit is contained in:
parent
c9027b1a1a
commit
e6f2fa711e
@ -1,10 +1,11 @@
|
|||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
|
|
||||||
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
|
HW_REVISION = ARGUMENTS.get('HW_REVISION', None)
|
||||||
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
||||||
|
|
||||||
if TREZOR_MODEL in ('1', ):
|
if TREZOR_MODEL in ('1', ):
|
||||||
@ -95,7 +96,7 @@ env = Environment(ENV=os.environ,
|
|||||||
CPPDEFINES_IMPLICIT=[]
|
CPPDEFINES_IMPLICIT=[]
|
||||||
)
|
)
|
||||||
|
|
||||||
FEATURES_AVAILABLE = tools.configure_board(TREZOR_MODEL, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
FEATURES_AVAILABLE = models.configure_board(TREZOR_MODEL, HW_REVISION, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
||||||
|
|
||||||
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
||||||
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
||||||
@ -177,7 +178,7 @@ program_elf = env.Command(
|
|||||||
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
||||||
)
|
)
|
||||||
|
|
||||||
BINARY_NAME = f"build/boardloader/boardloader-{tools.get_model_identifier(TREZOR_MODEL)}"
|
BINARY_NAME = f"build/boardloader/boardloader-{models.get_model_identifier(TREZOR_MODEL)}"
|
||||||
BINARY_NAME += "-" + tools.get_version('embed/boardloader/version.h')
|
BINARY_NAME += "-" + tools.get_version('embed/boardloader/version.h')
|
||||||
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
||||||
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
|
|
||||||
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
BOOTLOADER_QA = ARGUMENTS.get('BOOTLOADER_QA', '0') == '1'
|
BOOTLOADER_QA = ARGUMENTS.get('BOOTLOADER_QA', '0') == '1'
|
||||||
PRODUCTION = 0 if BOOTLOADER_QA else ARGUMENTS.get('PRODUCTION', '0') == '1'
|
PRODUCTION = 0 if BOOTLOADER_QA else ARGUMENTS.get('PRODUCTION', '0') == '1'
|
||||||
|
HW_REVISION = ARGUMENTS.get('HW_REVISION', None)
|
||||||
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
||||||
|
|
||||||
if TREZOR_MODEL in ('1', ):
|
if TREZOR_MODEL in ('1', ):
|
||||||
@ -150,7 +151,7 @@ env = Environment(
|
|||||||
CPPDEFINES_IMPLICIT=[]
|
CPPDEFINES_IMPLICIT=[]
|
||||||
)
|
)
|
||||||
|
|
||||||
FEATURES_AVAILABLE = tools.configure_board(TREZOR_MODEL, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
FEATURES_AVAILABLE = models.configure_board(TREZOR_MODEL, HW_REVISION, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
||||||
|
|
||||||
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
||||||
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
||||||
@ -306,7 +307,7 @@ env.Depends(program_elf, rust)
|
|||||||
|
|
||||||
SUFFIX = '_qa' if BOOTLOADER_QA else ''
|
SUFFIX = '_qa' if BOOTLOADER_QA else ''
|
||||||
|
|
||||||
BINARY_NAME = f"build/bootloader/bootloader-{tools.get_model_identifier(TREZOR_MODEL)}{SUFFIX}"
|
BINARY_NAME = f"build/bootloader/bootloader-{models.get_model_identifier(TREZOR_MODEL)}{SUFFIX}"
|
||||||
BINARY_NAME += "-" + tools.get_version('embed/bootloader/version.h')
|
BINARY_NAME += "-" + tools.get_version('embed/bootloader/version.h')
|
||||||
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
||||||
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
|
|
||||||
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
|
HW_REVISION = ARGUMENTS.get('HW_REVISION', None)
|
||||||
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
||||||
|
|
||||||
if TREZOR_MODEL in ('1', 'DISC1', 'DISC2'):
|
if TREZOR_MODEL in ('1', 'DISC1', 'DISC2'):
|
||||||
@ -124,7 +125,7 @@ env = Environment(
|
|||||||
CPPDEFINES_IMPLICIT=[]
|
CPPDEFINES_IMPLICIT=[]
|
||||||
)
|
)
|
||||||
|
|
||||||
FEATURES_AVAILABLE = tools.configure_board(TREZOR_MODEL, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
FEATURES_AVAILABLE = models.configure_board(TREZOR_MODEL, HW_REVISION, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
||||||
|
|
||||||
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
||||||
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
||||||
@ -220,7 +221,7 @@ program_elf = env.Command(
|
|||||||
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
||||||
)
|
)
|
||||||
|
|
||||||
BINARY_NAME = f"build/bootloader_ci/bootloader_ci-{tools.get_model_identifier(TREZOR_MODEL)}"
|
BINARY_NAME = f"build/bootloader_ci/bootloader_ci-{models.get_model_identifier(TREZOR_MODEL)}"
|
||||||
BINARY_NAME += "-" + tools.get_version('embed/bootloader_ci/version.h')
|
BINARY_NAME += "-" + tools.get_version('embed/bootloader_ci/version.h')
|
||||||
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
||||||
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
import boards
|
|
||||||
|
|
||||||
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
|
HW_REVISION = 'emulator'
|
||||||
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
||||||
DMA2D = False
|
DMA2D = False
|
||||||
|
|
||||||
@ -237,8 +237,8 @@ elif TREZOR_MODEL in ('1',):
|
|||||||
else:
|
else:
|
||||||
raise ValueError('Unknown Trezor model')
|
raise ValueError('Unknown Trezor model')
|
||||||
|
|
||||||
MODEL_IDENTIFIER = tools.get_model_identifier(TREZOR_MODEL)
|
MODEL_IDENTIFIER = models.get_model_identifier(TREZOR_MODEL)
|
||||||
MODEL_AS_NUMBER = str(boards.get_hw_model_as_number(MODEL_IDENTIFIER))
|
MODEL_AS_NUMBER = str(models.get_hw_model_as_number(MODEL_IDENTIFIER))
|
||||||
|
|
||||||
ALLPATHS = ['embed/rust',
|
ALLPATHS = ['embed/rust',
|
||||||
'embed/bootloader',
|
'embed/bootloader',
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# fmt: off
|
# fmt: off
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
|
|
||||||
BITCOIN_ONLY = ARGUMENTS.get('BITCOIN_ONLY', '0')
|
BITCOIN_ONLY = ARGUMENTS.get('BITCOIN_ONLY', '0')
|
||||||
PRODUCTION = ARGUMENTS.get('PRODUCTION', '0') == '1'
|
PRODUCTION = ARGUMENTS.get('PRODUCTION', '0') == '1'
|
||||||
@ -13,6 +13,7 @@ TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
|||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
PYOPT = ARGUMENTS.get('PYOPT', '1')
|
PYOPT = ARGUMENTS.get('PYOPT', '1')
|
||||||
DISABLE_OPTIGA = ARGUMENTS.get('DISABLE_OPTIGA', '0') == '1'
|
DISABLE_OPTIGA = ARGUMENTS.get('DISABLE_OPTIGA', '0') == '1'
|
||||||
|
HW_REVISION = ARGUMENTS.get('HW_REVISION', None)
|
||||||
THP = ARGUMENTS.get('THP', '0') == '1' # Trezor-Host Protocol
|
THP = ARGUMENTS.get('THP', '0') == '1' # Trezor-Host Protocol
|
||||||
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
||||||
|
|
||||||
@ -432,7 +433,7 @@ env = Environment(
|
|||||||
CPPDEFINES_IMPLICIT=[]
|
CPPDEFINES_IMPLICIT=[]
|
||||||
)
|
)
|
||||||
|
|
||||||
FEATURES_AVAILABLE = tools.configure_board(TREZOR_MODEL, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
FEATURES_AVAILABLE = models.configure_board(TREZOR_MODEL, HW_REVISION, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
||||||
|
|
||||||
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
||||||
|
|
||||||
@ -848,7 +849,7 @@ env.Append(LINKFLAGS=f' -L{RUST_LIBDIR}')
|
|||||||
env.Append(LINKFLAGS=f' -l{RUST_LIB}')
|
env.Append(LINKFLAGS=f' -l{RUST_LIB}')
|
||||||
|
|
||||||
|
|
||||||
MODEL_IDENTIFIER = tools.get_model_identifier(TREZOR_MODEL)
|
MODEL_IDENTIFIER = models.get_model_identifier(TREZOR_MODEL)
|
||||||
BOOTLOADER_SUFFIX = MODEL_IDENTIFIER
|
BOOTLOADER_SUFFIX = MODEL_IDENTIFIER
|
||||||
if BOOTLOADER_QA:
|
if BOOTLOADER_QA:
|
||||||
BOOTLOADER_SUFFIX += '_qa'
|
BOOTLOADER_SUFFIX += '_qa'
|
||||||
@ -901,7 +902,7 @@ if CMAKELISTS != 0:
|
|||||||
env.Depends(program_elf, cmake_gen)
|
env.Depends(program_elf, cmake_gen)
|
||||||
env.Depends(program_elf, rust)
|
env.Depends(program_elf, rust)
|
||||||
|
|
||||||
BINARY_NAME = f"build/firmware/firmware-{tools.get_model_identifier(TREZOR_MODEL)}"
|
BINARY_NAME = f"build/firmware/firmware-{models.get_model_identifier(TREZOR_MODEL)}"
|
||||||
if not EVERYTHING:
|
if not EVERYTHING:
|
||||||
BINARY_NAME += "-btconly"
|
BINARY_NAME += "-btconly"
|
||||||
BINARY_NAME += "-" + tools.get_version('embed/firmware/version.h')
|
BINARY_NAME += "-" + tools.get_version('embed/firmware/version.h')
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
|
|
||||||
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
PRODUCTION = ARGUMENTS.get('PRODUCTION', '0') == '1'
|
PRODUCTION = ARGUMENTS.get('PRODUCTION', '0') == '1'
|
||||||
BOOTLOADER_DEVEL = ARGUMENTS.get('BOOTLOADER_DEVEL', '0') == '1'
|
BOOTLOADER_DEVEL = ARGUMENTS.get('BOOTLOADER_DEVEL', '0') == '1'
|
||||||
|
HW_REVISION = ARGUMENTS.get('HW_REVISION', None)
|
||||||
|
|
||||||
if TREZOR_MODEL in ('DISC1', 'DISC2'):
|
if TREZOR_MODEL in ('DISC1', 'DISC2'):
|
||||||
# skip prodtest build
|
# skip prodtest build
|
||||||
@ -115,7 +116,7 @@ env = Environment(
|
|||||||
CFLAGS='%s -DPRODUCTION=%s' % (ARGUMENTS.get('CFLAGS', ''), ARGUMENTS.get('PRODUCTION', '0')),
|
CFLAGS='%s -DPRODUCTION=%s' % (ARGUMENTS.get('CFLAGS', ''), ARGUMENTS.get('PRODUCTION', '0')),
|
||||||
CPPDEFINES_IMPLICIT=[])
|
CPPDEFINES_IMPLICIT=[])
|
||||||
|
|
||||||
FEATURES_AVAILABLE = tools.configure_board(TREZOR_MODEL, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
FEATURES_AVAILABLE = models.configure_board(TREZOR_MODEL, HW_REVISION, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
||||||
|
|
||||||
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
||||||
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
||||||
@ -203,7 +204,7 @@ obj_program.extend(env.Object(source=SOURCE_MOD_CRYPTO, CCFLAGS='$CCFLAGS -ftriv
|
|||||||
obj_program.extend(env.Object(source=SOURCE_PRODTEST))
|
obj_program.extend(env.Object(source=SOURCE_PRODTEST))
|
||||||
obj_program.extend(env.Object(source=SOURCE_HAL))
|
obj_program.extend(env.Object(source=SOURCE_HAL))
|
||||||
|
|
||||||
MODEL_IDENTIFIER = tools.get_model_identifier(TREZOR_MODEL)
|
MODEL_IDENTIFIER = models.get_model_identifier(TREZOR_MODEL)
|
||||||
|
|
||||||
|
|
||||||
if (vh := ARGUMENTS.get("VENDOR_HEADER", None)):
|
if (vh := ARGUMENTS.get("VENDOR_HEADER", None)):
|
||||||
@ -238,7 +239,7 @@ program_elf = env.Command(
|
|||||||
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
||||||
)
|
)
|
||||||
|
|
||||||
BINARY_NAME = f"build/prodtest/prodtest-{tools.get_model_identifier(TREZOR_MODEL)}"
|
BINARY_NAME = f"build/prodtest/prodtest-{models.get_model_identifier(TREZOR_MODEL)}"
|
||||||
BINARY_NAME += "-" + tools.get_version('embed/prodtest/version.h')
|
BINARY_NAME += "-" + tools.get_version('embed/prodtest/version.h')
|
||||||
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
||||||
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
# pylint: disable=E0602
|
# pylint: disable=E0602
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
|
|
||||||
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
|
HW_REVISION = ARGUMENTS.get('HW_REVISION', None)
|
||||||
|
|
||||||
if TREZOR_MODEL in ('DISC1', 'DISC2'):
|
if TREZOR_MODEL in ('DISC1', 'DISC2'):
|
||||||
# skip reflash build
|
# skip reflash build
|
||||||
@ -89,7 +90,7 @@ env = Environment(
|
|||||||
CPPDEFINES_IMPLICIT=[]
|
CPPDEFINES_IMPLICIT=[]
|
||||||
)
|
)
|
||||||
|
|
||||||
FEATURES_AVAILABLE = tools.configure_board(TREZOR_MODEL, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
FEATURES_AVAILABLE = models.configure_board(TREZOR_MODEL, HW_REVISION, FEATURES_WANTED, env, CPPDEFINES_HAL, SOURCE_HAL, PATH_HAL)
|
||||||
|
|
||||||
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
FILE_SUFFIX= env.get('ENV')['SUFFIX']
|
||||||
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
LINKER_SCRIPT_SUFFIX= env.get('ENV')['LINKER_SCRIPT']
|
||||||
@ -166,7 +167,7 @@ obj_program += env.Object(source=SOURCE_MOD_CRYPTO, CCFLAGS='$CCFLAGS -ftrivial-
|
|||||||
obj_program += env.Object(source=SOURCE_REFLASH)
|
obj_program += env.Object(source=SOURCE_REFLASH)
|
||||||
obj_program += env.Object(source=SOURCE_HAL)
|
obj_program += env.Object(source=SOURCE_HAL)
|
||||||
|
|
||||||
MODEL_IDENTIFIER = tools.get_model_identifier(TREZOR_MODEL)
|
MODEL_IDENTIFIER = models.get_model_identifier(TREZOR_MODEL)
|
||||||
|
|
||||||
VENDORHEADER = f'embed/vendorheader/{MODEL_IDENTIFIER}/vendorheader_' + ('unsafe_signed_dev.bin' if ARGUMENTS.get('PRODUCTION', '0') == '0' else 'satoshilabs_signed_prod.bin')
|
VENDORHEADER = f'embed/vendorheader/{MODEL_IDENTIFIER}/vendorheader_' + ('unsafe_signed_dev.bin' if ARGUMENTS.get('PRODUCTION', '0') == '0' else 'satoshilabs_signed_prod.bin')
|
||||||
|
|
||||||
@ -185,7 +186,7 @@ program_elf = env.Command(
|
|||||||
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
'$LINK -o $TARGET $CCFLAGS $CFLAGS $LINKFLAGS $SOURCES -lc_nano -lgcc',
|
||||||
)
|
)
|
||||||
|
|
||||||
BINARY_NAME = f"build/reflash/reflash-{tools.get_model_identifier(TREZOR_MODEL)}"
|
BINARY_NAME = f"build/reflash/reflash-{models.get_model_identifier(TREZOR_MODEL)}"
|
||||||
BINARY_NAME += "-" + tools.get_version('embed/reflash/version.h')
|
BINARY_NAME += "-" + tools.get_version('embed/reflash/version.h')
|
||||||
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
BINARY_NAME += "-" + tools.get_git_revision_short_hash()
|
||||||
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
BINARY_NAME += "-dirty" if tools.get_git_modified() else ""
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# fmt: off
|
# fmt: off
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import tools
|
import tools, models
|
||||||
|
|
||||||
BITCOIN_ONLY = ARGUMENTS.get('BITCOIN_ONLY', '0')
|
BITCOIN_ONLY = ARGUMENTS.get('BITCOIN_ONLY', '0')
|
||||||
EVERYTHING = BITCOIN_ONLY != '1'
|
EVERYTHING = BITCOIN_ONLY != '1'
|
||||||
@ -10,6 +10,7 @@ TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T')
|
|||||||
DMA2D = TREZOR_MODEL in ('T', 'T3T1')
|
DMA2D = TREZOR_MODEL in ('T', 'T3T1')
|
||||||
OPTIGA = TREZOR_MODEL in ('R', 'T3T1')
|
OPTIGA = TREZOR_MODEL in ('R', 'T3T1')
|
||||||
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
CMAKELISTS = int(ARGUMENTS.get('CMAKELISTS', 0))
|
||||||
|
HW_REVISION ='emulator'
|
||||||
THP = ARGUMENTS.get('THP', '0') == '1' # Trezor-Host Protocol
|
THP = ARGUMENTS.get('THP', '0') == '1' # Trezor-Host Protocol
|
||||||
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
NEW_RENDERING = ARGUMENTS.get('NEW_RENDERING', '1') == '1'
|
||||||
|
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
def get_hw_model_as_number(hw_model: str) -> int:
|
|
||||||
return int.from_bytes(hw_model.encode(), "little")
|
|
16
core/site_scons/models/D001/__init__.py
Normal file
16
core/site_scons/models/D001/__init__.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from .discovery import configure
|
||||||
|
|
||||||
|
|
||||||
|
def configure_board(
|
||||||
|
revision: Optional[int | str],
|
||||||
|
features_wanted: list[str],
|
||||||
|
env: dict, # type: ignore
|
||||||
|
defines: list[str | tuple[str, str]],
|
||||||
|
sources: list[str],
|
||||||
|
paths: list[str],
|
||||||
|
):
|
||||||
|
return configure(env, features_wanted, defines, sources, paths)
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32f4_common import stm32f4_common_files
|
from ..stm32f4_common import stm32f4_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
16
core/site_scons/models/D002/__init__.py
Normal file
16
core/site_scons/models/D002/__init__.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from .discovery2 import configure
|
||||||
|
|
||||||
|
|
||||||
|
def configure_board(
|
||||||
|
revision: Optional[int | str],
|
||||||
|
features_wanted: list[str],
|
||||||
|
env: dict, # type: ignore
|
||||||
|
defines: list[str | tuple[str, str]],
|
||||||
|
sources: list[str],
|
||||||
|
paths: list[str],
|
||||||
|
):
|
||||||
|
return configure(env, features_wanted, defines, sources, paths)
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32u5_common import stm32u5_common_files
|
from ..stm32u5_common import stm32u5_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
16
core/site_scons/models/T1B1/__init__.py
Normal file
16
core/site_scons/models/T1B1/__init__.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from .trezor_1 import configure
|
||||||
|
|
||||||
|
|
||||||
|
def configure_board(
|
||||||
|
revision: Optional[int | str],
|
||||||
|
features_wanted: list[str],
|
||||||
|
env: dict, # type: ignore
|
||||||
|
defines: list[str | tuple[str, str]],
|
||||||
|
sources: list[str],
|
||||||
|
paths: list[str],
|
||||||
|
):
|
||||||
|
return configure(env, features_wanted, defines, sources, paths)
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32f4_common import stm32f4_common_files
|
from ..stm32f4_common import stm32f4_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
29
core/site_scons/models/T2B1/__init__.py
Normal file
29
core/site_scons/models/T2B1/__init__.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from .trezor_r_v3 import configure as configure_r3
|
||||||
|
from .trezor_r_v4 import configure as configure_r4
|
||||||
|
from .trezor_r_v6 import configure as configure_r6
|
||||||
|
from .trezor_r_v10 import configure as configure_r10
|
||||||
|
|
||||||
|
|
||||||
|
def configure_board(
|
||||||
|
revision: Optional[int | str],
|
||||||
|
features_wanted: list[str],
|
||||||
|
env: dict, # type: ignore
|
||||||
|
defines: list[str | tuple[str, str]],
|
||||||
|
sources: list[str],
|
||||||
|
paths: list[str],
|
||||||
|
):
|
||||||
|
if revision is None:
|
||||||
|
revision = 10
|
||||||
|
if revision == 3:
|
||||||
|
return configure_r3(env, features_wanted, defines, sources, paths)
|
||||||
|
elif revision == 4:
|
||||||
|
return configure_r4(env, features_wanted, defines, sources, paths)
|
||||||
|
elif revision == 6:
|
||||||
|
return configure_r6(env, features_wanted, defines, sources, paths)
|
||||||
|
elif revision == 10:
|
||||||
|
return configure_r10(env, features_wanted, defines, sources, paths)
|
||||||
|
raise Exception("Unknown model_r_version")
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32f4_common import stm32f4_common_files
|
from ..stm32f4_common import stm32f4_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32f4_common import stm32f4_common_files
|
from ..stm32f4_common import stm32f4_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32f4_common import stm32f4_common_files
|
from ..stm32f4_common import stm32f4_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32f4_common import stm32f4_common_files
|
from ..stm32f4_common import stm32f4_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
16
core/site_scons/models/T2T1/__init__.py
Normal file
16
core/site_scons/models/T2T1/__init__.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from .trezor_t import configure
|
||||||
|
|
||||||
|
|
||||||
|
def configure_board(
|
||||||
|
revision: Optional[int | str],
|
||||||
|
features_wanted: list[str],
|
||||||
|
env: dict, # type: ignore
|
||||||
|
defines: list[str | tuple[str, str]],
|
||||||
|
sources: list[str],
|
||||||
|
paths: list[str],
|
||||||
|
):
|
||||||
|
return configure(env, features_wanted, defines, sources, paths)
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32f4_common import stm32f4_common_files
|
from ..stm32f4_common import stm32f4_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
23
core/site_scons/models/T3T1/__init__.py
Normal file
23
core/site_scons/models/T3T1/__init__.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from .trezor_t3t1_revE import configure as configure_revE
|
||||||
|
from .trezor_t3t1_v4 import configure as configure_v4
|
||||||
|
|
||||||
|
|
||||||
|
def configure_board(
|
||||||
|
revision: Optional[int | str],
|
||||||
|
features_wanted: list[str],
|
||||||
|
env: dict, # type: ignore
|
||||||
|
defines: list[str | tuple[str, str]],
|
||||||
|
sources: list[str],
|
||||||
|
paths: list[str],
|
||||||
|
):
|
||||||
|
if revision is None:
|
||||||
|
revision = "E"
|
||||||
|
if revision == 4:
|
||||||
|
return configure_v4(env, features_wanted, defines, sources, paths)
|
||||||
|
elif revision == "E":
|
||||||
|
return configure_revE(env, features_wanted, defines, sources, paths)
|
||||||
|
raise Exception("Unknown model_t3t1_version")
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32u5_common import stm32u5_common_files
|
from ..stm32u5_common import stm32u5_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import get_hw_model_as_number
|
from .. import get_hw_model_as_number
|
||||||
from .stm32u5_common import stm32u5_common_files
|
from ..stm32u5_common import stm32u5_common_files
|
||||||
|
|
||||||
|
|
||||||
def configure(
|
def configure(
|
40
core/site_scons/models/__init__.py
Normal file
40
core/site_scons/models/__init__.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import importlib
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
|
def get_hw_model_as_number(hw_model: str) -> int:
|
||||||
|
return int.from_bytes(hw_model.encode(), "little")
|
||||||
|
|
||||||
|
|
||||||
|
def configure_board(
|
||||||
|
model: str,
|
||||||
|
revision: Optional[str | int],
|
||||||
|
features_wanted: list[str],
|
||||||
|
env: dict, # type: ignore
|
||||||
|
defines: list[str | tuple[str, str]],
|
||||||
|
sources: list[str],
|
||||||
|
paths: list[str],
|
||||||
|
) -> list[str]:
|
||||||
|
imported_module = importlib.import_module("models." + get_model_identifier(model))
|
||||||
|
return imported_module.configure_board(
|
||||||
|
revision, features_wanted, env, defines, sources, paths
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_model_identifier(model: str) -> str:
|
||||||
|
if model == "1":
|
||||||
|
return "T1B1"
|
||||||
|
elif model == "T":
|
||||||
|
return "T2T1"
|
||||||
|
elif model == "R":
|
||||||
|
return "T2B1"
|
||||||
|
elif model == "T3T1":
|
||||||
|
return "T3T1"
|
||||||
|
elif model == "DISC1":
|
||||||
|
return "D001"
|
||||||
|
elif model == "DISC2":
|
||||||
|
return "D002"
|
||||||
|
else:
|
||||||
|
raise Exception("Unknown model")
|
@ -4,19 +4,6 @@ import subprocess
|
|||||||
import zlib
|
import zlib
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from boards import (
|
|
||||||
discovery,
|
|
||||||
discovery2,
|
|
||||||
trezor_1,
|
|
||||||
trezor_r_v3,
|
|
||||||
trezor_r_v4,
|
|
||||||
trezor_r_v6,
|
|
||||||
trezor_r_v10,
|
|
||||||
trezor_t,
|
|
||||||
trezor_t3t1_revE,
|
|
||||||
trezor_t3t1_v4,
|
|
||||||
)
|
|
||||||
|
|
||||||
HERE = Path(__file__).parent.resolve()
|
HERE = Path(__file__).parent.resolve()
|
||||||
|
|
||||||
# go up from site_scons to core/
|
# go up from site_scons to core/
|
||||||
@ -37,65 +24,6 @@ def add_font(
|
|||||||
sources.append(sourcefile)
|
sources.append(sourcefile)
|
||||||
|
|
||||||
|
|
||||||
def configure_board(
|
|
||||||
model: str,
|
|
||||||
features_wanted: list[str],
|
|
||||||
env: dict, # type: ignore
|
|
||||||
defines: list[str | tuple[str, str]],
|
|
||||||
sources: list[str],
|
|
||||||
paths: list[str],
|
|
||||||
) -> list[str]:
|
|
||||||
model_r_version = 10
|
|
||||||
model_t3t1_version = "E"
|
|
||||||
|
|
||||||
if model in ("1",):
|
|
||||||
return trezor_1.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
elif model in ("T",):
|
|
||||||
return trezor_t.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
elif model in ("R",):
|
|
||||||
if model_r_version == 3:
|
|
||||||
return trezor_r_v3.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
elif model_r_version == 4:
|
|
||||||
return trezor_r_v4.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
elif model_r_version == 6:
|
|
||||||
return trezor_r_v6.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
elif model_r_version == 10:
|
|
||||||
return trezor_r_v10.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
raise Exception("Unknown model_r_version")
|
|
||||||
elif model in ("T3T1",):
|
|
||||||
if model_t3t1_version == 4:
|
|
||||||
return trezor_t3t1_v4.configure(
|
|
||||||
env, features_wanted, defines, sources, paths
|
|
||||||
)
|
|
||||||
elif model_t3t1_version == "E":
|
|
||||||
return trezor_t3t1_revE.configure(
|
|
||||||
env, features_wanted, defines, sources, paths
|
|
||||||
)
|
|
||||||
raise Exception("Unknown model_t3t1_version")
|
|
||||||
elif model in ("DISC1",):
|
|
||||||
return discovery.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
elif model in ("DISC2",):
|
|
||||||
return discovery2.configure(env, features_wanted, defines, sources, paths)
|
|
||||||
raise Exception("Unknown model")
|
|
||||||
|
|
||||||
|
|
||||||
def get_model_identifier(model: str) -> str:
|
|
||||||
if model == "1":
|
|
||||||
return "T1B1"
|
|
||||||
elif model == "T":
|
|
||||||
return "T2T1"
|
|
||||||
elif model == "R":
|
|
||||||
return "T2B1"
|
|
||||||
elif model == "T3T1":
|
|
||||||
return "T3T1"
|
|
||||||
elif model == "DISC1":
|
|
||||||
return "D001"
|
|
||||||
elif model == "DISC2":
|
|
||||||
return "D002"
|
|
||||||
else:
|
|
||||||
raise Exception("Unknown model")
|
|
||||||
|
|
||||||
|
|
||||||
def get_version(file: str) -> str:
|
def get_version(file: str) -> str:
|
||||||
major = 0
|
major = 0
|
||||||
minor = 0
|
minor = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user