1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-26 17:38:39 +00:00
Commit Graph

76 Commits

Author SHA1 Message Date
cepetr
5fc3c6e617 refactor(core): improve and simplify error handling
[no changelog]
2024-06-17 16:57:33 +02:00
matejcik
54c441a607 feat(core): enable Optiga logging in debug builds by default
[no changelog]
2024-05-03 09:49:37 +02:00
tychovrahe
dfe5ee67f1 fix(core): move OEM key check after display initialization so that error message can be displayed
[no changelog]
2024-04-17 14:23:09 +02:00
Martin Milata
906c00e4e5 refactor(core): rename screen_boot_{empty,full} to screen_boot_stage_{1,2}
[no changelog]
2024-04-12 12:25:46 +00:00
tychovrahe
8a18cfe0d4 feat(core): use U5 DHUK to encrypt optiga pairing secret in flash
[no changelog]
2024-04-08 21:41:30 +02:00
tychovrahe
c3f84e2949 perf(core): optimize boot speed on U5 by using has processor to calculate image hashes, switches to sha256
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
72dc8f57e8 feat(core): add haptic feedback
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
834693a115 fix(core): fix OTP programming on U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
cec0191360 fix(core): fix bootloader update on STM32U5
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
271bed8bf6 chore(core): use cortex-m33 stack protection 2024-02-29 23:05:56 +01:00
tychovrahe
8150636a81 feat(core): add basic support for STM32U5 2024-02-29 23:05:56 +01:00
Martin Milata
3c7a6dd68a fix(core): handle uncaught exceptions from main.py
[no changelog]
2024-02-05 16:53:49 +01:00
tychovrahe
63ee6f2ad2 perf(core): change 4bpp font format to allow dma2d rendering
[no changelog]
2024-01-11 12:22:08 +01:00
tychovrahe
a2f72b1055 feat(core): optimize boot time by drawing full logo sooner and shortening the enforced delay proportionally
[no changelog]
2023-11-30 16:46:04 +01:00
cepetr
ba83a7e644 feat(core): introduce interaction-less upgrade 2023-10-27 16:15:15 +02:00
tychovrahe
510281590f fix(core): add delays to optiga i2c communications
[no changelog]
2023-09-27 12:14:32 +02:00
tychovrahe
f881fab797 fix(core): disable access to secret in flash after boot
[no changelog]
2023-09-15 13:31:24 +02:00
Andrew Kozlik
db6630a5a3 feat(core): Support Optiga in Trezor firmware. 2023-09-13 15:45:48 +02:00
Ondrej Mikle
bf96c43d32 chore(core): cstyle reformat
DSVibram AR fix
2023-09-11 14:36:11 +02:00
Ondrej Mikle
ac64d2d2f1 fix(core): one forgotten ensure_compatible_settings 2023-09-11 14:36:11 +02:00
Ondrej Mikle
75a148e414 fix(core): clear memory when not going to use copy firmware header for bootloader 2023-09-11 14:36:11 +02:00
Ondrej Mikle
b69ef9d168 feat(core): Copy firmware image header to bootloader RAM to be able to skip directly to firmware install, jumping from firmware to bootloader
Change linking of util.s and limited version of util.s to avoid mistakes
with boardloader etc.
2023-09-11 14:36:11 +02:00
tychovrahe
e8281385f6 feat(core): implement secret handling in bootloader 2023-08-15 09:37:38 +02:00
Andrew Kozlik
74759310bb feat(core): Integrate OPTIGA Trust M
[no changelog]
2023-08-02 00:35:43 +02:00
tychovrahe
238e3fd7c1 refactor(core): add abstraction over flash memory layout
[no changelog]
2023-07-25 10:25:20 +02:00
tychovrahe
ebbd7f9d35 refactor(core): restructure trezorhal, prepare to support more platforms
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
671f23f1aa feat(core): support rev 10 of T2B1 HW
[no changelog]
2023-06-27 22:45:33 +02:00
tychovrahe
8d812ca36e feat(core): support device variants
[no changelog]
2023-06-07 19:48:53 +02:00
Martin Milata
3fb3f108cc chore(vendor): bump micropython to 1.19.1
Relevant micropython commits:
  01374d941f9d7398e35990b574769b20c6779457 py/mpconfig.h: Define initial templates for "feature levels".
  7b89ad8dbf432ab51eea6d138e179bf51394c786 py/vm: Add a fast path for LOAD_ATTR on instance types.
  68219a295c75457c096ac42dbe8411b84e1e1a51 stm32: Enable LOAD_ATTR fast path, and map lookup caching on >M0.
  e0bf4611c3a8b23b3c52e6a7804aac341ac3a87d py: Only search frozen modules when '.frozen' is found in sys.path.
  f2040bfc7ee033e48acef9f289790f3b4e6b74e5 py: Rework bytecode and .mpy file format to be mostly static data.
  926b554dafffa1e9bd80aa12fea5c621221c9d79 extmod/moduos: Create general uos module to be used by all ports.
  2b409ef8a46015f8f3bd20bc44e644637dbe9bd3 unix/moduos: Convert module to use extmod version.
  47f634300c5572571816817f16836113c98814ae py: Change makemoduledefs process so it uses output of qstr extraction.
  0e7bfc88c6ac6b5d64240f91183a3cfe2ab67ade all: Use mp_obj_malloc everywhere it's applicable.
  2a6ba47110be88ff1e1f5abd1bd76c353447884c py/obj: Add static safety checks to mp_obj_is_type().
2023-04-21 13:14:07 +02:00
tychovrahe
33fb590f44 refactor(core): decouple i2c driver and touch driver
[no changelog]
2023-04-19 21:36:51 +02:00
matejcik
ca5a68ebc5 fix(core): unify error strings 2023-04-03 22:01:26 +02:00
matejcik
6e85d61688 feat(core): QA build for testing bootloaders / upgrades
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
64bc94cbc9 feat(core): uninitialized welcome flow
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
5a991f3244 feat(core/rust): bootloader implementation in rust 2023-03-09 16:14:36 +01:00
tychovrahe
ead61d1e90 refactor(core): improve flexibility of build, allow different touch panel driver, allow STM32F429
[no changelog]
2023-03-02 15:56:33 +01:00
tychovrahe
99d4b0185a fix(core): fix model T display reinitialization crash
[no changelog]
2023-01-11 16:19:02 +01:00
tychovrahe
0d733d8e22 feat(core): change display type for model R
[no changelog]
2022-11-24 11:37:52 +01:00
tychovrahe
a89d139dc9 feat(core): increase clock frequency to 180 MHz 2022-11-04 15:10:55 +01:00
tychovrahe
f7b9bb4ef8 feat(core/rust): use dma2d to improve rendering performance, implement text over image and icon over icon functions 2022-09-29 21:50:10 +02:00
tychovrahe
e3d5c178f1 feat(core): enable bus fault and usage fault handlers
[no changelog]
2022-09-13 15:04:40 +02:00
tychovrahe
6cf92fd748 feat(core): Introduce stack overflow detection by moving stack to the start of RAM 2022-08-16 17:03:06 +02:00
TychoVrahe
a762e75fee
fix(core): reintroduce touch controller initialization without power down/up in firmware, fix model R firmware initialization 2022-07-26 15:09:43 +02:00
tychovrahe
c33f92bd72 feat(core): add RGB LED driver for Model R 2022-06-22 09:28:31 +02:00
Ondrej Mikle
7b7318c3aa feat(core/boardloader): add fixed-address boardloader capablities field 2022-06-13 18:18:25 +02:00
Martin Novak
2663801108 perf(firmware): do not initialize touch controller in firmware 2022-06-02 10:30:53 +02:00
Ondrej Mikle
c563c987e1 feat(core): jump back and stay in bootloader for TT via reverse SVC call trampoline 2022-06-01 14:50:59 +02:00
tychovrahe
f7a3aad9bd feat(core): initial Model R display implementation with framebuffer 2022-05-10 16:49:23 +02:00
grdddj
12da7f301d feat(core): allow for model R in firmware build
As model R will run on the same computational hardware as model T,
memory_R.ld is just a symbolic link to memory_T.ld.

[no changelog]
2022-05-06 11:44:52 +02:00
TychoVrahe
7912a7d0d3
build(core,storage): fix conditional compilation for different Trezor models
* build(core,storage) - Fix conditional compilation for different trezor models

* build(core) - Rename MODEL_* macro to TREZOR_MODEL_*, remove the original TREZOR_MODEL macro (replaced by conditional compilation for QSTR generation)

* build(core) - fixed missing TREZOR_MODEL to TREZOR_MODEL_x changes

[no changelog]
2022-04-26 13:47:40 +02:00
Ondřej Vejpustek
ad38d8e324 refactor(crypto,core): make zkp_context_init() return status 2021-11-18 19:05:40 +01:00