matejcik
b35854471b
build(core): improve CPPDEFINES quoting
...
Here we change all FOO=VALUE defines to be tuples ("FOO", "VALUE").
Also, VALUE is always the raw string you want to end up in the C file,
instead of attempting to shell-escape it while specifying.
By all rights scons _should_ be using shlex.quote() on the CPPDEFINES,
but it doesn't, so we hack it by specifying the define prefix as `-D'`
and suffix as `'`. That way the arguments in shell are '-escaped, and
we're (currently) not using ' in any argument value so this should work
fine.
At the same time, when passing the flags to cargo, we can shlex.quote
the whole thing and get the right strings passed all the way into
build.rs -- as long as no argument contains a comma, which is the split
character...
2024-11-21 14:33:52 +01:00
tychovrahe
c5b3dd72b9
feat(core): add support for SBU on T3W1
...
[no changelog]
2024-11-20 11:17:35 +01:00
cepetr
089db2cadf
refactor(core): restructure embed folder
...
[no changelog]
2024-11-18 09:41:02 +01:00
M1nd3r
4f0f3b2d27
chore(core): adjust build scripts for THP
...
[no changelog]
2024-11-15 08:47:24 +01:00
tychovrahe
5c101ab800
feat(core): switch DISC2 to use newer U5G variant
...
[no changelog]
2024-11-14 09:30:20 +01:00
cepetr
d4286ff584
chore(core): remove legacy drawing code (c)
...
[no changelog]
2024-11-13 12:15:38 +01:00
tychovrahe
1efb684544
refactor(core): expose USE_TOUCH and USE_BUTTON to uPy
...
[no changelog]
2024-11-12 16:55:17 +01:00
cepetr
5845c665af
refactor(core): refactor unit properties detection
...
[no changelog]
2024-10-22 08:30:49 +02:00
M1nd3r
7b6ce56ac3
fix(core): remove redundant AES_GCM flag in SConscript.firmware
...
[no changelog]
2024-10-16 16:19:28 +02:00
Ondřej Vejpustek
2d5d7201d5
feat(core): allow benchmark only in debug
...
[no changelog]
2024-10-11 16:35:34 +02:00
Ondřej Vejpustek
cf38460286
build(core): hide benchmark application behind compilation flag
...
[no changelog]
2024-10-11 16:35:34 +02:00
Ondřej Vejpustek
52d85d1f39
feat(core): implement benchmark application
2024-10-11 16:35:34 +02:00
M1nd3r
6ba75b267d
chore(core): exclude THP modules and messages from non-THP builds
...
[no changelog]
2024-10-09 10:44:30 +02:00
tychovrahe
7374700c0a
refactor(core): ui configuration in build scripts
...
[no changelog]
2024-09-27 22:02:08 +02:00
tychovrahe
10eaa15427
chore(core/build): reuse embed_raw_binary function to embeed vendorheaders
...
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
94af4d98f0
chore(core): clean sconscripts
...
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
dfd17578b6
refactor(core): migrate coreapp into firmware
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
28f420189a
refactor(core): combined build of coreapp + kernel, linker scripts refactoring
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35c6f52133
refactor(core/embed): introduce system, tasks, applets and emergency mode
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1c991339ce
refactor(core/embed): split firmware into kernel & coreapp
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
7f3cff04f1
refactor(core/embed): introduce new mpu driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a3fcc62655
refactor(core/build): remove hardcoded build path
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
20814f7ae6
refactor(core/embed): remove unnecessary pendsv exception handling
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
24c0552a43
feat(core): switch to new rendering everywhere
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
7275a5544e
refactor(core): move embedded bootloaders and their hashes to model folders
...
[no changelog]
2024-08-29 12:47:24 +02:00
matejcik
6ae96868df
chore(core): use trezor-core-tools in scripts
2024-08-28 16:15:10 +02:00
Ondřej Vejpustek
eaa12f1cad
chore(crypto): update secp256k1 submodule to 0.5.1
...
[no changelog]
2024-08-23 17:00:52 +02:00
Ondřej Vejpustek
54eef8d886
refactor(crypto,core,lagacy): use secp256k1 submodule for ECDH
...
[no changelog]
2024-08-23 17:00:52 +02:00
Ondřej Vejpustek
df2545b78e
chore(crypto,core,legacy): reduce size of precomputed table used by secp256k1 submodule
...
[no changelog]
2024-08-23 17:00:52 +02:00
tychovrahe
5417ec15df
fix(core): introduce ui_overlay feature - fixes T3T1 bootloader compilation with new rendering
...
[no changelog]
2024-08-19 12:17:11 +02:00
tychovrahe
03199cd553
fix(core): include QA bootloader when building for fw for device with DEV bootloader
...
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
7c94080227
refactor(core): move vendor headers to model specific directories
...
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
78b4017859
feat(core): add support for T3B1
2024-07-16 15:56:28 +02:00
tychovrahe
3a3259b574
feat(core/mercury): change homescreen flow
2024-06-24 21:43:08 +02:00
cepetr
5fc3c6e617
refactor(core): improve and simplify error handling
...
[no changelog]
2024-06-17 16:57:33 +02:00
Martin Milata
687d773547
build(core/firmware): TREZOR_MODEL=T3T1 implies NEW_RENDERING=1
...
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
2ba42d716e
feat(core): init T3T1 UI layouts: meta
2024-05-31 11:59:52 +00:00
Martin Milata
d6c502f27e
feat(core): add fonts for T3T1
2024-05-31 11:59:52 +00:00
tychovrahe
e6f2fa711e
refactor(core): reorganize model specific files in site-scons
...
[no changelog]
2024-05-21 19:01:31 +02:00
cepetr
3336e3902f
feat(core): introduce new display drivers
...
[no changelog]
2024-05-17 09:17:37 +02:00
Ondřej Vejpustek
756d250015
chore(core): initialize automatic variables to zero
...
[no changelog]
2024-05-10 20:06:28 +02:00
Ondřej Vejpustek
6b81d24b5c
chore(core): separate crypto sources in build scripts
...
[no changelog]
2024-05-10 20:06:28 +02:00
Ondřej Vejpustek
ccb242ee1c
chore(core): introduce THP flag
...
[no changelog]
2024-05-10 20:05:37 +02:00
Ondřej Vejpustek
2f699a1b6f
feat(core): add elligator2 python bindings
...
[no changelog]
2024-05-10 20:05:37 +02:00
obrusvit
43e759ea0b
refactor(core): apply uppercased fonts in build
...
[no changelog]
2024-05-08 22:46:58 +02:00
tychovrahe
ea1c32f90e
fix(core/rust): fix bindgen macros generation
...
[no changelog]
2024-04-26 13:36:58 +02:00
tychovrahe
d349c44a58
refactor(core): generate macros for rust bindgen automatically
...
[no changelog]
2024-04-25 13:20:07 +02:00
tychovrahe
ed6aa48726
feat(core): use confidential section for confidential and sensitive data
...
[no changelog]
2024-04-05 18:54:30 +02:00
Andrew Kozlik
703ea32ceb
feat(core): Add aesgcm class to trezor.crypto Python module.
...
[no changelog]
2024-04-03 10:26:46 +02:00
matejcik
9569968459
build(core): rebuild appropriate parts when translation data changes
...
fixes #3535
2024-03-26 15:22:32 +01:00
Martin Milata
ebb480ef29
fix(core): T3T1 emulator
...
[no changelog]
2024-03-12 20:55:23 +00:00
matejcik
ccf4b7e9eb
fix(core/rust): convert bitcoin_only to an additive feature
...
universal_fw enables more features, as opposed to bitcoin_only removing features
2024-03-08 13:17:12 +01:00
tychovrahe
7c800f183f
refactor(core): make translations blob handling HW agnostic
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
ea0f3038a0
fix(core): improve cmakelists generation for CMSE
...
[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
a71a608ea7
feat(core): add basic support for T3T1
2024-02-29 23:05:56 +01:00
tychovrahe
8815e764d2
feat(core): add support for STM32U585
...
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
4cf781abb2
chore(core, legacy, storage): refactor flash drivers
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
353095ae95
feat(core): add support for STM32U5A9J-DK board
...
[no changelog]
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
cepetr
937b7d34d0
feat(core): add STM32CubeU5 submodule
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
743ed413f6
feat(core): add support for quad-word only storage
...
[no changelog]
2024-02-20 09:37:28 +01:00
grdddj
6142a39f20
fix(core): add debug feature to Rust in hardware build when PYOPT=0
...
[no changelog]
2024-02-12 17:07:28 +01:00
grdddj
b8ea21d24a
feat(all): implement translations into Trezor
...
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01:00
matejcik
7958061705
build(core): optimize qstr and module collection
...
Run the preprocessor on each file separately.
This allows parallelization and doesn't need to re-run for all files if just a small number is changed.
Replace simple extractors with one-liners which are generally going to be faster.
2024-02-01 15:50:07 +01:00
cepetr
6331076444
refactor(core/embed): move TOIF format definition to rust
...
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3b9dd55788
refactor(core/embed): introduce display_utils.c
...
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
446c3b77b4
refactor(core/embed): move&rename display terminal functions
...
[no changelog]
2024-01-26 11:30:40 +01:00
gabrielkerekes
50861eb019
feat(solana): basic Solana setup
2023-12-05 22:11:41 +01:00
Andrew Kozlik
d670a0bdfa
feat(core): Fix malformed signatures from Optiga.
2023-12-01 00:09:17 +01:00
tychovrahe
bf2697a619
feat(core): compress embedded bootloader
...
[no changelog]
2023-11-14 13:25:00 +01:00
Martin Milata
1c69644fe0
build(core): add flag for disabling optiga on debug builds
...
[skip_ci]
2023-11-14 12:47:22 +01:00
matejcik
f3393211d4
build(core): clarify vendor header selection logic
2023-11-02 12:17:13 +01:00
cepetr
ba83a7e644
feat(core): introduce interaction-less upgrade
2023-10-27 16:15:15 +02:00
tychovrahe
3c1236bf82
refactor(core): setup single-place layout selection
...
[no changelog]
2023-09-18 18:05:37 +02:00
grdddj
76c6e9cd9d
feat(all): implement support information for T2B1
...
WIP - change trezor{1,2} to their internal names, add support for model R
WIP - add EOS and NEM features Capability only for TT
WIP - not include EOS and NEM into TR
WIP - choose between device models when generating coininfo
WIP - regenerate coininfo.py
WIP - skip NEM, EOS, Dash, BGold and Decred device tests for TR
WIP - fix python support
WIP - fix unit tests
WIP - import bitcoin-like code only when needed
WIP - remove ignored coins for TR in fixtures.json
WIP - make all the external references to models UPPERCASE
WIP - do the model separation in mako script also for tokens and networks
WIP - hot-fixing non-supporting RELEASES_URL for new model names
WIP - support.py releases CLI command takes a list of -r key-value pairs DEVICE=VERSION
WIP - run `python support.py release`
WIP - use utils.MODEL_IS_T2B1 to ignore NEM and EOS
WIP - change all the docs and commands to have UPPERCASE model names
[no changelog]
2023-09-14 13:54:09 +02:00
Andrew Kozlik
db6630a5a3
feat(core): Support Optiga in Trezor firmware.
2023-09-13 15:45:48 +02:00
Ondrej Mikle
088e3b058e
feat(core): change core builds to use GNU11 standard instead of GNU99
...
[no changelog]
2023-08-30 14:33:21 +02:00
tychovrahe
6c97dfef78
feat(core): add vendor headers for devices with dev bootloader
...
[no changelog]
2023-08-25 18:54:34 +02:00
tychovrahe
b369e3f4a7
feat(core): enable seamless build of bootloader using devkeys
...
[no changelog]
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
matejcik
78a8b48f1e
refactor(core): generate trezorproto module straight from Rust
2023-07-12 10:09:36 +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
539420cac8
refactor(core): make backlight/fading optional
...
[no changelog]
2023-06-27 16:18:30 +02:00
Pavol Rusnak
089ff76822
Merge branch 'matejcik/signed-vhs'
2023-06-15 22:41:12 +02:00
tychovrahe
d3284baf21
feat(core): support STM32F429 discovery board
2023-06-15 17:08:14 +02:00
tychovrahe
8154e5103f
refactor(core): make emulated dma2d usable outside of emulator
...
[no changelog]
2023-06-15 17:08:14 +02:00
grdddj
ef2d2a3e75
feat(core/rust): make font changes for TR
...
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
d199a17cfc
feat(core): introduce FONT_BIG as a fifth optional font
...
[no changelog]
2023-06-14 18:17:09 +02:00
matejcik
d465a14850
chore(core): add signed bootloader and vendor headers for model R
2023-06-13 14:25:39 +02:00
matejcik
84555c2ea3
build(core): always allow building model R until we have vendor headers
2023-06-12 16:25:59 +02:00
tychovrahe
8d812ca36e
feat(core): support device variants
...
[no changelog]
2023-06-07 19:48:53 +02:00
tychovrahe
a2f8cb9d1c
feat(core): add internal model field to features
...
[no changelog]
2023-06-06 09:39:45 +02:00
matejcik
319a665d0d
chore(core): add T2B1 vendor header data
2023-06-02 14:43:19 +02:00
grdddj
da14c22712
feat(all): add UI for Model R
2023-05-31 10:14:54 +02:00
grdddj
17a07c3d1a
chore(core): refactor UI code in SSonscripts
2023-05-11 21:02:21 +02:00
grdddj
8ee4c41938
chore(crypto): refactor slip39 same way as bip39
2023-05-11 21:02:21 +02:00
tychovrahe
e578f7f0f8
refactor(core): remove unused C display_icon and display_loader functions
...
[no changelog]
2023-04-25 10:28:33 +02:00