1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-21 05:58:09 +00:00
Commit Graph

176 Commits

Author SHA1 Message Date
obrusvit
7cda7761ba chore: basic crowdin commands
- push english sources to crowdin
- pull translations from crowdin

[no changelog]
2025-07-15 19:23:04 +02:00
Roman Zeyde
4aadfa1f4f ci(core): make sure emulators are not failing on startup
[no changelog]
2025-06-30 18:43:42 +03:00
obrusvit
f0865e3b10 feat(eckhart): fuel gauge UI
- fuel gauge (battery state) with icons for charging/discharging state
and soc percentage
- on attach on Homescreen ActionBar
- permanently on the first DeviceMenu subscreen
- temporarily in the Header on charging state update

[no changelog]
2025-06-11 23:39:28 +02:00
cepetr
bbb74c03a4 feat(core): introduce secure monitor
[no changelog]
2025-06-04 16:58:15 +02:00
tychovrahe
9683efb5b9 feat(core/prodtest): add prodtest emulator
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
13a576c556 feat(core): add bin to hex conversion to Makefile
[no changelog]
2025-05-17 07:03:26 +02:00
Roman Zeyde
d91822938a feat(core): annotate Python code with execution stats
[no changelog]
2025-05-15 19:52:33 +03:00
Roman Zeyde
7cdb0cf244 feat(vendor): update MicroPython to allow excluding line numbers from bytecode
Setting `MICROPY_ENABLE_SOURCE_LINE=0` helps reducing the debug firmware size by ~2%:
```
$ TREZOR_MODEL=T3T1 MICROPY_ENABLE_SOURCE_LINE=0 PYOPT=0 make -C core build_firmware
<snip>
           FLASH:     1,629,456 B      1664 KB     95.63%
```

Before this PR:
```
           FLASH:     1,662,224 B      1664 KB     97.55%
```

[no changelog]
2025-05-13 17:07:37 +03:00
Roman Zeyde
65c34774a1 ci(core): run click tests in parallel
[no changelog]
2025-05-13 11:57:06 +03:00
Martin Milata
8a0cf0e29a build(core): remove LD_LIBRARY_PATH workaround from Makefile
Normal CI workflows seem to work fine with it and it broke
`make upload` on some setups.

[no changelog]
2025-05-05 18:14:03 +02:00
Martin Milata
8f37578408 ci(nix): update to latest nixpkgs-unstable, rustc
[no changelog]
2025-04-16 17:27:11 +02:00
Martin Milata
04b9768faa build(core): allow passing HW_REVISION to make 2025-04-16 15:36:05 +02:00
Ioan Bizău
b1cd4cb469 chore(core/build): don't build with Tropic by default
[no changelog]

Co-authored-by: Martin Milata <martin@martinmilata.cz>
2025-03-26 10:32:31 +01:00
Roman Zeyde
90d7713592 build(core): fix RUST_PRINT_TYPES_SIZES passing to SConscript.firmware
Use a list to collect RUSTFLAGS, to prevent overwriting them.

Also:
- fix a typo in `SConscript.unix` (it was using `firmware` build directory)
- use keyword arguments for better readability
- reformat Rust library build command string

[no changelog]
2025-03-13 18:18:48 +02:00
Roman Zeyde
c95158751a build(core): allow increasing VCP write timeout
It should allow us exporting larger amounts of debug data.

[no changelog]
2025-03-13 16:07:09 +02:00
Roman Zeyde
6f3e5a6cd7 feat(core): estimate workflow stack usage
By zeroing the stack memory before the workflow runs,
we can estimate how much of it has been used (by reading
the stack memory and looking for the first non-zero value).

[no changelog]
2025-03-04 14:18:15 +02:00
cepetr
c57a59d123 feat(rust): introduce info overlay rendering
[no changelog]
2025-02-26 09:56:08 +01:00
Roman Zeyde
061e71213e test(core): don't fetch full DebugLinkState by default
In case the main workflow is restarting after a `DebugLinkDecision`,
sending the response of `DebugLinkGetState` may get interrupted.

We are making the state fetching explicit, in order to avoid the
"restart" race condition (as described in #4401).

Following the above change, text-based layout recording is removed.

[no changelog]
2025-02-07 11:21:44 +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
Roman Zeyde
5e71ea355c chore(core): remove unused scons variable
Following #4337.

[no changelog]
2025-01-28 14:21:43 +02:00
tychovrahe
885c5b96d9 refactor(core/rust): move bindgen macros used for tests to model folder
[no changelog]
2025-01-23 10:22:00 +01:00
tychovrahe
26bde15429 refactor(core): extract model specific definitions from Makefile
[no changelog]
2025-01-23 10:22:00 +01:00
obrusvit
00740b560c refactor(core): consistent naming of UI layouts
- follow-up on 862c987779
- layout_bolt stays the same
- layout_samson -> layout_caesar
- layout_quicksilver -> layout_delizia
- use super for importing rust modules in layout code

[no changelog]
2025-01-20 12:29:24 +01:00
cepetr
2426e637b3 feat(core): introduce optiga deinit and suspending
[no changelog]
2025-01-14 07:52:15 +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
obrusvit
862c987779 refactor(core): consistent naming of UI layouts
- UI layouts name changes:
  - model_tt -> layout_bolt
  - model_tr -> layout_samson
  - model_mercury -> layout_quicksilver
- rust features `model_xyz` freed for different use, now it's
`layout_xyz`
- input_flow function names are based on UI layout and not internal
model name (i.e. quicksilver instead of t3t1)
- directory names and commentary changed accordingly

[no changelog]
2025-01-09 22:57:14 +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
matejcik
44bd407c85 build(core): use PYOPT=0 for build_unix target
restoring behavior before #4234
2024-11-25 16:23:05 +01:00
matejcik
b3267625ca build(core): do not propagate PYOPT to kernel build to work around a build error
the error:

When built with PYOPT, Optiga will log its communication to the VCP. But
now that VCP config lives in coreapp and Optiga lives in kernel, there's
no way for Optiga to write to VCP, and the relevant calls simply don't
build.

We need a different method for logging inside the kernel.
2024-11-21 14:33:52 +01:00
cepetr
0977cb6b38 build(core): introduce quiet mode
[no changelog]
2024-11-21 14:33:52 +01:00
matejcik
cd65ba52fe build(core): introduce common definition of all makefile vars that get passed as scons vars
so that we don't have to write "USE_FOO=$(USE_FOO)" 20 times every time
we add such flag
2024-11-21 14:33:52 +01:00
tychovrahe
1d3e4aa8f4 fix(tests): fix sizecheck on U5 models
[no changelog]
2024-11-21 13:04:33 +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
fa953d7296 chore(core): switch T3W1 support to U5
[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
matejcik
81b3fda665 build(core): fix random order seed when using zsh 2024-11-12 16:55:17 +01:00
Martin Milata
b40ce852ea build(core/translations): check order.json for holes
[no changelog]
2024-11-08 16:11:28 +01:00
Martin Milata
5bc2f8d1ec build(core): check if language versions match firmware
[no changelog]
2024-11-06 19:07:15 +01:00
Ondřej Vejpustek
cf38460286 build(core): hide benchmark application behind compilation flag
[no changelog]
2024-10-11 16:35:34 +02:00
tychovrahe
915d4fca94 feat(core): add support for T3W1, on F4
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
21c1359ac6 refactor(core): streamline layout definitions
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
e13d4a45a6 chore(core): remove residual support for T1B1 in core
[no changelog]
2024-09-25 09:18:01 +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
1c991339ce refactor(core/embed): split firmware into kernel & coreapp
[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