This commit is contained in:
Peter D. Gray 2022-01-12 11:38:24 -05:00
parent d80e474bba
commit e65dd0398f
No known key found for this signature in database
GPG Key ID: F0E6CC6AFC16CF7B
2 changed files with 27 additions and 15 deletions

View File

@ -1,6 +1,6 @@
# (c) Copyright 2021 by Coinkite Inc. This file is covered by license found in COPYING-CC.
__version__ = '1.2.0'
__version__ = '1.2.1'
__all__ = [ "client", "protocol", "constants" ]

View File

@ -1,5 +1,4 @@
# Autogen'ed file, don't edit. See bootloader/mk-sigheader.h for original
# (c) Copyright 2018-2022 by Coinkite Inc. This file is covered by license found in COPYING-CC.
# Our simple firmware header.
# Although called a header, this data is placed into the middle of the binary.
@ -11,10 +10,9 @@
# - version_string is for humans only
# - pubkey_num indicates which pubkey was used for signature
# - firmware_length, must be:
# - bigger than minimum length, less than max
# - 512-byte aligned
# - bigger than minimum length, less than max
# - 512-byte aligned
# - bootloader assumes the flash filesystem (FAT FS) follows the firmware.
# - this C header file is somewhat parsed and used by python signature-adding code
# - timestamp is YYMMDDHHMMSS0000 in BCD
@ -23,23 +21,37 @@ FW_HEADER_OFFSET = (0x4000-FW_HEADER_SIZE)
FW_HEADER_MAGIC = 0xCC001234
# Firmware Image Size
# arbitrary min size
FW_MIN_LENGTH = (256*1024)
# absolute max: 1MB flash - 32k for bootloader
# (mk1-3) absolute max size: 1MB flash - 32k for bootloader
# practical limit for our-protocol USB upgrades: 786432 (or else settings damaged)
FW_MAX_LENGTH = (0x100000 - 0x8000)
# .. for Mk4: 2Mbytes, less bootrom of 128k.
FW_MAX_LENGTH_MK4 = (0x200000 - 0x20000)
# Arguments to be used w/ python's struct module.
FWH_PY_FORMAT = "<I8s8sII36s64s"
FWH_PY_VALUES = "magic_value timestamp version_string pubkey_num firmware_length future signature"
FWH_NUM_FUTURE = 9
FWH_PY_FORMAT = "<I8s8sIIII8s20s64s"
FWH_PY_VALUES = "magic_value timestamp version_string pubkey_num firmware_length install_flags hw_compat best_ts future signature"
FWH_NUM_FUTURE = 7
# offset of pubkey number
FWH_PK_NUM_OFFSET = 20
# There is a copy of the header at this location in RAM, copied by bootloader
# **after** it has been verified. Cannot write to this area, or you will be reset!
RAM_HEADER_BASE = 0x10007c20
# Bits in install_flags
FWHIF_HIGH_WATER = 0x01
FWHIF_BEST_TS = 0x02
# Original copy of header, as recorded in flash/firmware file.
FLASH_HEADER_BASE = 0x0800bf80
# Bits in hw_compat
MK_1_OK = 0x01
MK_2_OK = 0x02
MK_3_OK = 0x04
MK_4_OK = 0x08
# RFU:
MK_5_OK = 0x10
MK_6_OK = 0x20
# EOF