1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-19 14:08:11 +00:00
Commit Graph

230 Commits

Author SHA1 Message Date
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
grdddj
26edb42979 chore(core): bump version to 2.6.0
[no changelog]
2023-03-28 15:34:06 +02:00
Martin Milata
dce876069b Merge branch 'release/23.03'
Conflicts:
	legacy/firmware/version.h
	tests/ui_tests/fixtures.json
2023-03-20 13:02:35 +01: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
Martin Milata
233a292fd2 Merge branch 'master' into secfix/23.03
Conflicts:
	core/Makefile
	core/SConscript.firmware
	core/embed/firmware/bootloader.bin
	core/embed/firmware/bootloaders/bootloader_T.bin
	core/embed/firmware/bootloaders/bootloader_T2T1.bin
	python/src/trezorlib/firmware/core.py
	python/src/trezorlib/firmware/models.py
2023-02-28 15:20:36 +01:00
tychovrahe
4603b9ee74 build(core): embed bootloader according to trezor model
[no changelog]
2023-01-20 19:47:12 +01:00
tychovrahe
d00e87ea80 feat(core/rust): homescreen background image
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
115f7daaaa feat(core): prevent installing and running of incompatible firmware, prevent bootloader downgrade 2023-01-12 15:38:36 +01:00
tychovrahe
99d4b0185a fix(core): fix model T display reinitialization crash
[no changelog]
2023-01-11 16:19:02 +01:00
tychovrahe
3cd47f85af feat(legacy): qa build for upgrade testing 2023-01-02 11:03:38 +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
Martin Milata
bf7587574d chore(core): bump version to 2.5.4
[skip_ci]
2022-11-01 14:03:31 +01:00
tychovrahe
99eaaae28e build(core): redistribute content in flash
[no changelog]
2022-10-03 09:43:53 +02: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
matejcik
ef47c26272 chore(core,legacy): bump versions
[skip_ci]
[no changelog]
2022-08-03 13:10:05 +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
Ondřej Vejpustek
db0da196a8 chore(vendor): update secp256k1-zkp to latest 2022-05-16 16:23:18 +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
Martin Milata
692ea1415e chore(core): bump version to 2.5.2
[skip_ci]
2022-05-04 12:09:14 +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
Martin Milata
30ec1802f4 chore(core): bump version to 2.5.1
[skip_ci]
2022-03-30 21:57:54 +02:00
Pavol Rusnak
30a77a76bc
chore(legacy): rename MEMORY_PROTECT flag to PRODUCTION to match core naming (#2003) 2021-12-12 15:45:10 +01:00
Martin Milata
38c526719c chore(core): bump version to 2.4.4
[skip_ci]
2021-12-01 14:45:47 +01:00
Ondrej Mikle
219e08d81e build(core): keep bootloader image even for non-production builds
[no changelog]
2021-11-23 16:29:38 +01:00
Martin Milata
aa3784f726 build(core): place secp256k1-zkp in FLASH2 to make space for bootloader
[no changelog]
2021-11-23 14:51:11 +01:00
Ondřej Vejpustek
ad38d8e324 refactor(crypto,core): make zkp_context_init() return status 2021-11-18 19:05:40 +01:00
matejcik
1d72085b5c feat(core): implement conversion from timestamp to datetime 2021-10-29 11:00:30 +02:00
Ondřej Vejpustek
26463eb3ce feat(core): make core use ecdsa from secp256k1_zkp wherever possible 2021-10-25 14:41:28 +02:00
Pavol Rusnak
9e0cfa6783 fix(core): we don't need separate linker script for zkp 2021-10-25 14:41:28 +02:00
matejcik
32be2c09b9 feat(core): enable f-strings for micropython
[no changelog]
2021-10-13 11:53:17 +02:00
Jan Pochyla
2703d714c2 feat(core): add Rust UI components, layouts, text rendering
[no changelog]
2021-10-07 15:01:55 +02:00
Ondrej Mikle
6ea4b7b211 fix(core & legacy): better styled compiler checks 2021-09-27 15:42:29 +02:00
Ondrej Mikle
6b849b1d4d fix(core & legacy): avoid accidental build with broken stack protector 2021-09-27 15:42:29 +02:00
Martin Milata
bd005e33df refactor(core): decouple T1 button handling from touch
[no changelog]
2021-09-23 12:30:13 +02:00
Martin Milata
aace875fef chore(vendor): bump micropython to 1.17
Relevant micropython commits:
  d1bfb271d7686708fe8711a177629c8bf6e7f6a6 lib/uzlib: Move uzlib code from extmod to lib.
  4d546713ec8858cbf908de45de11cbfc46a20971 shared: Introduce new top-level dir and move 1st party lib code there.
  ca920f72184c50f61002aa9d5cd01555b1e28b7b py/mpstate: Make exceptions thread-local.
2021-09-17 11:18:14 +02:00
Pavol Rusnak
d153082c9c chore(vendor): bump micropython to 1.14
Relevant micropython commits:
  4559bcb4679e04e0a5e24030675676ff6a9803f2 unix: Make mp_hal_delay_ms run MICROPY_EVENT_POLL_HOOK.
2021-09-17 11:18:14 +02:00
Tomas Susanka
cec1f39a90 chore(core, legacy): bump versions
[no changelog]
2021-08-31 12:55:37 +02:00
Martin Milata
81869fc4b0 chore(core): bump version to 2.4.2
[skip_ci]
2021-07-08 13:38:29 +02:00
Ondřej Vejpustek
24200e7424 fixup! fix(legacy): make RDI work on T1 2021-06-24 17:34:24 +02:00
Ondrej Mikle
daa94ac941 fix(legacy): make RDI work on T1 2021-06-24 17:34:24 +02:00
Ondřej Vejpustek
4968d7da53 feat(core): implement svc shutdown 2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
cca9d4b1c4 refactor(core): rename shutdown to shutdown_privileged 2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
7686eb355a fix(core): fix import of random delays 2021-06-23 16:40:45 +02:00
Jan Pochyla
8a21e3fc73 feat(core): Add Rust Protobuf codec 2021-06-08 09:55:19 +02:00
Martin Milata
ca836b2e45 chore(core): bump version to 2.4.1 2021-06-02 12:50:22 +02:00
Martin Milata
8c6b93e0bd build(core): account for ARM unwinding info in memory layout
Currently the 8-byte section is inserted under semi-random name like
.ARM.exidx.text._ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h79ccbc4bdfe3f200E.
This makes it hard to include it in _codelen that is later baked into
firmware header. This change adds new section because including it in
.flash causes linker error due to mixing "ordered" and "unordered"
sections.

By renaming .exidx to /DISCARD/ we'd drop this info, there may also
exist compiler flag to do that.
2021-05-21 13:49:42 +02:00
Ondřej Vejpustek
6fd4739c5c feat(core): make random delays use chacha_drbg 2021-05-21 13:42:53 +02:00
Ondřej Vejpustek
8ee17f69b3 refactor(core): move wait_random and rdi into separate file 2021-05-21 13:42:53 +02:00
matejcik
5f4240d93c feat(core): preallocate sys.modules to an appropriate size 2021-05-06 13:14:21 +02:00
Jan Pochyla
6257584951 feat(core): Add Rust bindings to MicroPython and trezorhal
core: Remove dangling module decls

core: Use new Cargo feature resolver, use external MacOS debug info

core: Rust docs improvements

core: Upgrade bindgen

core: Add test target to Rust

ci: build rust sources

build(core): .ARM.exidx.text.__aeabi_ui2f in t1 firmware size

It's an unwind table for softfloat function inserted by rustc, probably
can be removed to save 8 bytes:
599c58db70/link.x.in (L175-L182)

scons: Remove dead code

core: Move Rust target to build/rust

core: Replace extern with a FFI version

core: Add some explanatory Rust comments

core: Use correct path for the Rust lib

core: Remove Buffer::as_mut()

Mutable buffer access needs MP_BUFFER_WRITE flag. TBD in the Protobuf PR.

core: Improve docs for micropython::Buffer

core: Minor Rust docs changes

core: Rewrite trezor_obj_get_ll_checked

core: Fix incorrect doc comment

core: Remove cc from deps

fixup! core: Rewrite trezor_obj_get_ll_checked

core: update safety comments
2021-05-05 16:00:21 +02:00
Andrew Kozlik
66823e2893 chore(core,legacy): Bump FIX_VERSIONs due to upgrade to storage version 3. 2021-03-25 14:24:41 +01:00
Pavol Rusnak
814db111b2
feat(core): add define to invert display colors on ST7789V 2021-03-10 16:06:18 +01:00
Pavol Rusnak
5395c542c1
chore(core): update changelog, bump version to 2.3.7 2021-02-13 11:16:11 +01:00
Pavol Rusnak
a11cb11ba3 chore(core): rework SYSTEMVIEW_DEST_SYSTEMVIEW
to work with ifdef instead of if
2021-01-26 20:53:38 +01:00
Ondrej Mikle
d99127771c chore(core): reorder includes 2021-01-26 20:53:38 +01:00
Ondrej Mikle
a628b9a92d chore(core): remove unneeded include 2021-01-26 20:53:38 +01:00
Ondrej Mikle
9411756c42 style(core): systemview reformat 2021-01-26 20:53:38 +01:00
Ondrej Mikle
550216354b chore(core): more systematic systemview function definitions 2021-01-26 20:53:38 +01:00
Ondrej Mikle
869cfbbd1c style(core): style for systemview 2021-01-26 20:53:38 +01:00
Ondrej Mikle
5f837e12b9 feat(core): send messaged through systemview 2021-01-26 20:53:38 +01:00
Ondrej Mikle
60e4e06aa5 feat(core): measure systick with systemview 2021-01-26 20:53:38 +01:00
Ondrej Mikle
c5e986b1ba feat(core): enable SystemView at firmware start 2021-01-26 20:53:38 +01:00
Tomas Susanka
1006c8a0f1 chore(core,legacy): change versions to 1.9.5 and 2.3.6
This reverts commit 92535dc090.
2021-01-22 15:42:55 +01:00
Pavol Rusnak
92535dc090
chore(core,legacy): change versions back to 1.9.4 and 2.3.5
[skip_ci]
2021-01-22 14:23:11 +01:00
Pavol Rusnak
43ed13b323 feat(core): disable SECP256K1_ZKP feature flag 2021-01-22 14:06:29 +01:00
Jan Pochyla
f3a64435f1
fix(core): root ui callback for trezorconfig mod (#1412)
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2021-01-19 14:17:16 +01:00
Tomas Susanka
d2e3269ede chore(core): bump version to 2.3.6 2020-12-18 19:36:25 +01:00
Pavol Rusnak
0519c8bd13
Revert "chore(core): bump version to 2.3.6"
This reverts commit 01d1058048.
2020-11-26 16:48:47 +01:00
Tomas Susanka
01d1058048 chore(core): bump version to 2.3.6 2020-11-25 20:14:30 +01:00
Pavol Rusnak
50fdd183c2
ci: enable editorconfig checks, fix whitespace issues 2020-11-11 14:43:50 +01:00
Pavol Rusnak
ded61a4ccf
chore(vendor): update micropython to v1.13 2020-10-16 14:19:35 +02:00
Tomas Susanka
0317877297 chore(core): bump version to 2.3.5 2020-09-24 10:17:32 +02:00
Tomas Susanka
d080464cc5 core, legacy: bump versions (also in changelogs) 2020-08-24 09:31:49 +02:00
Pavol Rusnak
5536fbb98a python: use stdlib blake2s on python 3.6+
commit 6d407c84d7 did not replace everything
2020-08-10 23:35:38 +02:00
Pavol Rusnak
efc5ccdaf0
core: remove src1 2020-08-03 15:59:57 +02:00
Pavol Rusnak
89d701ed08
core+legacy: bump versions (also in changelogs) 2020-07-27 13:59:49 +02:00
matejcik
f723dca7b1 core: enable PYSTACK 2020-07-24 14:09:31 +02:00
Andrew Kozlik
4005f4832f core/embed: Set VCP write timeout to 0. 2020-07-16 09:34:58 +02:00
Ondrej Mikle
33d2bf417b core: replace bootloader only in production. Fix device for T1 core port JLink upload 2020-07-13 10:45:32 +02:00
Pavol Rusnak
179645e3ad core: unify usage of TREZOR_MODEL 2020-06-06 21:06:15 +02:00
Tomas Susanka
8859d103f4 core, legacy: bump versions 2020-06-03 15:39:25 +00:00
Ondrej Mikle
b01b24f090 core: change startup firmware file from .s to .S which enables preprocessing and fixes TT boot 2020-05-24 12:28:38 +02:00
Ondrej Mikle
10f0f107e0 core: Adds T1 core port FW flashing options for for openocd and jlink 2020-05-21 10:05:12 +02:00
Ondrej Mikle
0d65d684f0 core: T1 port can run on T1 bootloader with MEMORY_PROTECT=0 2020-05-21 08:49:59 +02:00
Ondrej Mikle
7eddafe487 core: better formatting for common parts of T1 and TT header 2020-05-14 16:10:42 +02:00
Ondrej Mikle
c4c341b3f9 core: setup stack when running core on T1 2020-05-14 12:46:25 +02:00
Ondrej Mikle
e429085e96 core: copy firmware header for T1 port into final binary 2020-05-11 17:33:47 +02:00
Ondrej Mikle
d8115a7992 core: firmware header for T1 port 2020-05-11 15:43:43 +02:00
Tomas Susanka
47f104bceb core, legacy: bump versions 2020-04-24 17:12:20 +00:00
Ondřej Vejpustek
c461692f3a core: implement random delay interrupts 2020-04-16 11:51:28 +02:00
matejcik
4bddeefea0 core: unify mpconfigports for emulator and board
Changes in firmware/mpconfigport.h are minimal:

 * $VFS_FAT is dropped because it is irrelevant without $VFS
 * $REVERSE_SPECIAL_METHODS is added, to push down on code size
 * $THREAD is disabled unconditionally

unix/mpconfigport.h is reordered and modified to match
firmware/mpconfigport.h as much as possible, while selectively enabling
some needed features.

Notably, $USE_READLINE is enabled unconditionally
2020-04-14 10:17:37 +02:00
matejcik
d0f709b8cc core: fix and use MAKEMODULEDEFS instead of explicit registration 2020-04-14 10:17:37 +02:00
matejcik
a6976355c3 core: remove readline from built firmware 2020-04-14 10:17:37 +02:00
Ondrej Mikle
634ed5aabc
core: commands for flashing via JLink (#911) 2020-03-23 10:40:06 +01:00
Andrew Kozlik
2133f7cf29 core: Prevent data loss when writing to USB VCP. 2020-02-25 12:08:07 +01:00
Pavol Rusnak
73ed2f3450
legacy: small nitpicks related to the new passphrase handling 2020-02-07 11:41:03 +00:00
Tomas Susanka
1343583d21
core: bump version to 2.3.0 2020-02-07 11:41:00 +00:00
Pavol Rusnak
3de1b3aa54
core/embed: switch to unprivileged in main.c 2020-01-24 12:29:46 +00:00
Pavol Rusnak
9bc3af08b2
core: update mpconfigport.h from upstream (for both stm32 and unix) 2020-01-09 15:20:22 +01:00
Jan Pochyla
7deade5a10 core/firmware: PendSV_Handler is defined in pendsv.c 2020-01-07 20:52:43 +01:00
Pavol Rusnak
6198509948
core: bump version to 2.2.1; update changelog 2019-12-16 19:06:33 +01:00
Pavol Rusnak
a9454b216d
core: move delay.c from trezorhal to firmware, fix prodtest build 2019-12-15 08:59:47 +00:00
Pavol Rusnak
a9e5149b95
core: reorganize source code to allow boardloader build
(after DMA changes)
2019-12-15 08:43:00 +00:00
Pavol Rusnak
b34675401c
core/embed: add explicit fault handlers 2019-12-11 16:40:58 +00:00
Pavol Rusnak
c8c27dcd2f
core/embed: enable/disable SDIO/DMA interrupts via supervisor calls 2019-12-11 15:28:49 +00:00
Pavol Rusnak
990a91cd13
core/embed: enable DMA for SDIO operations 2019-12-11 15:28:49 +00:00
Pavol Rusnak
c617035a3e
core: bump version to 2.1.9 2019-10-24 09:16:24 +00:00
Pavol Rusnak
ab62715606
core: bump version to 2.1.8 2019-10-12 19:13:44 +02:00
Tomas Susanka
eca0a719db core: bump version to 2.1.7 2019-09-20 15:00:34 +02:00
Tomas Susanka
f5af4e4fe0 core: bump version to 2.1.6 2019-08-27 14:39:06 +02:00
Pavol Rusnak
4036f2243b
core: introduce linker script for BITCOIN_ONLY 2019-08-23 13:52:14 +02:00
Tomas Susanka
0f742bc3a7 core: bump to 2.1.5, add changelog for 2.1.4 2019-08-12 13:48:54 +02:00
Tomas Susanka
0ac0daf148 core: bump to 2.1.4 2019-08-06 22:06:44 +02:00
Tomas Susanka
6af7a6b3d6 core: bump version to 2.1.3 2019-07-29 13:48:54 +02:00
Tomas Susanka
10f15a6952 core: bump version to 2.1.2 2019-06-24 09:13:18 +02:00
Pavol Rusnak
54d348228f
all: rename TREZOR to Trezor where possible 2019-06-17 20:28:29 +02:00
Andrew Kozlik
f677a0f0db core: Use PRNG when generating random delays. 2019-06-11 11:41:40 +02:00
Pavol Rusnak
1c00d868a9
core: bump versions of firmware to 2.1.1, bootloader to 2.0.4 2019-04-23 21:31:00 +02:00
matejcik
e5670856a2 MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00