diff --git a/core/Makefile b/core/Makefile index 37ebd8938..1c029dff5 100644 --- a/core/Makefile +++ b/core/Makefile @@ -20,6 +20,7 @@ CROSS_PORT_OPTS ?= PRODUCTION ?= 0 PYOPT ?= 1 BITCOIN_ONLY ?= 0 +SYSTEM_VIEW ?= 0 TREZOR_MODEL ?= T TREZOR_MEMPERF ?= 0 @@ -141,7 +142,7 @@ build_reflash: ## build reflash firmware + reflash image dd if=build/bootloader/bootloader.bin of=$(REFLASH_BUILD_DIR)/sdimage.bin bs=1 seek=49152 build_firmware: templates build_cross ## build firmware with frozen modules - $(SCONS) CFLAGS="$(CFLAGS)" PRODUCTION="$(PRODUCTION)" TREZOR_MODEL="$(TREZOR_MODEL)" PYOPT="$(PYOPT)" BITCOIN_ONLY="$(BITCOIN_ONLY)" RDI="$(RDI)" $(FIRMWARE_BUILD_DIR)/firmware.bin + $(SCONS) CFLAGS="$(CFLAGS)" PRODUCTION="$(PRODUCTION)" TREZOR_MODEL="$(TREZOR_MODEL)" PYOPT="$(PYOPT)" BITCOIN_ONLY="$(BITCOIN_ONLY)" RDI="$(RDI)" SYSTEM_VIEW="$(SYSTEM_VIEW)" $(FIRMWARE_BUILD_DIR)/firmware.bin build_unix: templates ## build unix port $(SCONS) CFLAGS="$(CFLAGS)" $(UNIX_BUILD_DIR)/trezor-emu-core $(UNIX_PORT_OPTS) TREZOR_MODEL="$(TREZOR_MODEL)" BITCOIN_ONLY="$(BITCOIN_ONLY)" diff --git a/core/SConscript.firmware b/core/SConscript.firmware index 3b79bc516..7e16ae457 100644 --- a/core/SConscript.firmware +++ b/core/SConscript.firmware @@ -3,6 +3,7 @@ import os BITCOIN_ONLY = ARGUMENTS.get('BITCOIN_ONLY', '0') +SYSTEM_VIEW = ARGUMENTS.get('SYSTEM_VIEW', '1') == '1' EVERYTHING = BITCOIN_ONLY != '1' TREZOR_MODEL = ARGUMENTS.get('TREZOR_MODEL', 'T') @@ -351,6 +352,19 @@ if FEATURE_FLAGS["RDI"]: ] CPPDEFINES_MOD += ['RDI'] +if SYSTEM_VIEW: + SOURCE_FIRMWARE += [ + 'embed/segger/SEGGER/SEGGER_SYSVIEW_Config_NoOS.c', + 'embed/segger/SEGGER/SEGGER_SYSVIEW.c', + 'embed/segger/SEGGER/SEGGER_RTT.c', + 'embed/segger/SEGGER/SEGGER_RTT_ASM_ARMv7M.S', + ] + CPPPATH_MOD += [ + 'embed/segger/SEGGER/', + 'embed/segger/Config/', + ] + CPPDEFINES_MOD += ['SYSTEM_VIEW'] + SOURCE_QSTR = SOURCE_MOD + SOURCE_MICROPYTHON + SOURCE_MICROPYTHON_SPEED env = Environment(ENV=os.environ, CFLAGS='%s -DPRODUCTION=%s -DPYOPT=%s -DBITCOIN_ONLY=%s' % (ARGUMENTS.get('CFLAGS', ''), ARGUMENTS.get('PRODUCTION', '0'), PYOPT, BITCOIN_ONLY))