|
|
|
@ -76,17 +76,27 @@ env.Replace(
|
|
|
|
|
OBJCOPY='arm-none-eabi-objcopy', )
|
|
|
|
|
|
|
|
|
|
env.Replace(
|
|
|
|
|
TREZOR_MODEL=env.get('ENV').get('TREZOR_MODEL', 'T'),
|
|
|
|
|
TREZOR_MODEL=env.get('ENV').get('TREZOR_MODEL', 'T'), )
|
|
|
|
|
|
|
|
|
|
if env.get('TREZOR_MODEL') == 'T':
|
|
|
|
|
CPU_ASFLAGS = '-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16'
|
|
|
|
|
CPU_CCFLAGS = '-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mtune=cortex-m4 '
|
|
|
|
|
CPU_MODEL = 'STM32F427xx'
|
|
|
|
|
else:
|
|
|
|
|
CPU_ASFLAGS = '-mthumb -mcpu=cortex-m3 -mfloat-abi=soft'
|
|
|
|
|
CPU_CCFLAGS = '-mthumb -mtune=cortex-m3 -mcpu=cortex-m3 -mfloat-abi=soft '
|
|
|
|
|
CPU_MODEL = 'STM32F405xx'
|
|
|
|
|
|
|
|
|
|
env.Replace(
|
|
|
|
|
COPT=env.get('ENV').get('OPTIMIZE', '-Os'),
|
|
|
|
|
CCFLAGS='$COPT '
|
|
|
|
|
'-g3 '
|
|
|
|
|
'-nostdlib '
|
|
|
|
|
'-std=gnu99 -Wall -Werror -Wdouble-promotion -Wpointer-arith -fno-common '
|
|
|
|
|
'-mthumb -mtune=cortex-m4 -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard '
|
|
|
|
|
'-fsingle-precision-constant -fdata-sections -ffunction-sections '
|
|
|
|
|
'-ffreestanding '
|
|
|
|
|
'-fstack-protector-all '
|
|
|
|
|
+ CCFLAGS_MOD,
|
|
|
|
|
+ CPU_CCFLAGS + CCFLAGS_MOD,
|
|
|
|
|
CCFLAGS_QSTR='-DNO_QSTR -DN_X64 -DN_X86 -DN_THUMB',
|
|
|
|
|
LINKFLAGS='-T embed/reflash/memory.ld -Wl,--gc-sections -Wl,-Map=build/reflash/reflash.map -Wl,--warn-common',
|
|
|
|
|
CPPPATH=[
|
|
|
|
@ -100,10 +110,11 @@ env.Replace(
|
|
|
|
|
] + CPPPATH_MOD,
|
|
|
|
|
CPPDEFINES=[
|
|
|
|
|
('TREZOR_MODEL', '$TREZOR_MODEL'),
|
|
|
|
|
'STM32F427xx',
|
|
|
|
|
('STM32_HAL_H', '"<stm32f4xx_hal.h>"'),
|
|
|
|
|
CPU_MODEL,
|
|
|
|
|
'USE_HAL_DRIVER',
|
|
|
|
|
('STM32_HAL_H', '"<stm32f4xx.h>"'),
|
|
|
|
|
] + CPPDEFINES_MOD,
|
|
|
|
|
ASFLAGS='-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16',
|
|
|
|
|
ASFLAGS=CPU_ASFLAGS,
|
|
|
|
|
ASPPFLAGS='$CFLAGS $CCFLAGS', )
|
|
|
|
|
|
|
|
|
|
env.Replace(
|
|
|
|
|