M1nd3r
4db5224f92
chore(core): adapt SConscripts to THP needs
2025-01-31 14:57:30 +01:00
Roman Zeyde
2a19b35f3e
build(core): export Rust functions' stack sizes
...
It is useful to find the top-most stack consuming functions:
```
$ make build_firmware
$ arm-none-eabi-size -A build/firmware/firmware.elf | grep .stack_sizes
.stack_sizes 7523 0
$ cargo install stack-sizes@0.4.0
$ stack-sizes build/firmware/firmware.elf | grep trezor_lib | sort -k2 -n | tail -n10
0x081c1721 3536 trezor_lib::ui::api::firmware_micropython::new_confirm_properties::h2ab0feebaf154486
0x081c0e7d 3560 trezor_lib::ui::api::firmware_micropython::new_confirm_modify_output::h04465b97d57fafb6
0x081c6161 3688 trezor_lib::ui::api::firmware_micropython::new_show_checklist::he16b109bc4dff398
0x081c4089 4240 trezor_lib::ui::api::firmware_micropython::new_request_pin::h3280c5eff8900a22
0x081be3e1 4960 trezor_lib::ui::api::firmware_micropython::new_confirm_action::h860f874d714ace74
0x081bf545 5096 trezor_lib::ui::api::firmware_micropython::new_confirm_emphasized::h9ade56f5c88001c0
0x081c1ded 5736 trezor_lib::ui::api::firmware_micropython::new_confirm_summary::he2e1274bbc07703e
0x081c7ee9 6760 trezor_lib::ui::api::firmware_micropython::new_show_remaining_shares::h1f67cbfdfeb4c683
0x081c127d 6768 trezor_lib::ui::api::firmware_micropython::new_confirm_more::h107a4be9b5431bb4
0x081c5441 8312 trezor_lib::ui::api::firmware_micropython::new_show_address_details::h352e0b87c58914ce
```
[no changelog]
2025-01-31 06:28:15 +01:00
cepetr
95afa34f27
refactor(core): rewrite startup code in C
...
[no changelog]
2025-01-30 14:07:25 +01:00
Roman Zeyde
830f038360
build(core): allow printing Rust types' sizes during build
...
https://nnethercote.github.io/perf-book/type-sizes.html#measuring-type-sizes
[no changelog]
2025-01-28 14:21:43 +02:00
tychovrahe
3fae6b23cf
feat(core:): introduce BLE driver
...
[no changelog]
2025-01-14 09:15:12 +01:00
Martin Milata
dadff32f39
build(core): use internal model names everywhere
...
TREZOR_MODEL=T and TREZOR_MODEL=R
no longer work, please use
TREZOR_MODEL=T2T1 and TREZOR_MODEL=T2B1
[no changelog]
2025-01-13 16:24:35 +01:00
Andrew Kozlik
83a96f7a5a
feat(core): Randomize SCM_REVISION address in firmware
...
[no changelog]
2025-01-03 10:23:41 +01:00
matejcik
ef02c4de5d
feat(core): introduce storage insecure mode
...
reduces the number of PIN iterations and avoids erasing the other
storage bank -- if a test ever overruns, it will probably RSOD out, but
that's unlikely to happen
2024-12-03 11:02:17 +01:00
matejcik
835f7087c6
build(core): correctly propagate DISABLE_OPTIGA to kernel
2024-12-03 11:02:17 +01:00
matejcik
331e07b1e0
feat(core): disable animations in debug firmware by default
...
This makes it possible to run HW tests on the T3T1 where animations mess
things up. It also speeds up HW tests on other models slightly.
export TREZOR_DISABLE_ANIMATION=0 to build a debug firmware with
animations enabled
2024-12-03 11:02:17 +01:00
M1nd3r
8eb62fdeca
refactor(core): abstract cache and context
...
[no changelog]
2024-12-02 12:39:15 +01:00
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