obrusvit
cb6da02dfc
refactor(core): move power management modules
...
- better code organization
[no changelog]
2025-09-16 14:30:06 +02:00
Suyash Shandilya
f51a8fe8bf
feat(translations): allow dev-signed translation blobs in non-production builds
...
Changed the feature lock on accepting dev signed translation blobs from `debug` to `dev_keys` (new). This is enabled for all non-production builds so QA can test translations even on production ready, unsigned builds.
[no changelog]
2025-09-12 11:16:07 +02:00
cepetr
ff77431790
fix(core): enable debuglink when PYOPT=0
...
[no changelog]
2025-09-08 08:22:54 +02:00
cepetr
ca929574e8
feat(core): introduce DBG_CONSOLE build argument
...
[no changelog]
2025-08-28 15:25:56 +02:00
cepetr
71d6052652
refactor(core): simplify usb driver api
...
[no changelog]
2025-08-28 14:57:24 +02:00
tychovrahe
c1d0a8f1e8
chore(core): prepare for including production nRF application binary
...
[no changelog]
2025-08-27 16:38:35 +02:00
cepetr
2f74e03e88
chore(core): remove unused define
...
[no changelog]
2025-08-12 13:47:39 +02:00
cepetr
9951c962c3
refactor(core): remove circular dependencies, new 'storage' feature
...
[no changelog]
2025-08-12 13:47:39 +02:00
cepetr
8a8ecdfcc8
refactor(core): cleanup storage syscalls, prepare early initialization
...
[no changelog]
2025-08-12 13:47:39 +02:00
obrusvit
384e0157e6
fix(build): no ui_debug_overlay only in prod
...
[no changelog]
2025-08-11 22:52:36 +02:00
tychovrahe
74c3deaf27
refactor(core): rewrite debug overlay in rust
...
[no changelog]
2025-08-11 16:41:35 +02:00
tychovrahe
98692d5401
refactor(core): rename debug overlay to performance overlay
...
[no changelog]
2025-08-11 16:41:35 +02:00
M1nd3r
936c767db4
chore: adjust SConscripts to THP
2025-07-31 20:29:05 +02:00
cepetr
681b0d389e
feat(core): introduce fail-safe/pq signed boardloader
...
[no changelog]
2025-07-29 11:37:47 +02:00
cepetr
6e75352af2
refactor(core): improve bl_check api
...
[no changelog]
2025-07-29 11:37:47 +02:00
obrusvit
059d795ec3
feat(core): implement autodim in app firmware
...
- similarly to bootloader, firmware sets backlight to LOW (45) after 30s
of inactivity when the device is not connected via USB
- implemented via IdleTimer
[no changelog]
2025-07-25 17:12:47 +02:00
tychovrahe
d38546e229
feat(core): add option to build dev FW with unsage vendorheader
...
[no changelog]
2025-07-22 14:04:09 +02:00
cepetr
564743ef7e
refactor(core): introduce suspend module
...
[no changelog]
2025-06-25 10:54:20 +02:00
tychovrahe
9f2dec6169
refactor(core): update bootloader from coreapp, using syscalls (and smcalls)
...
[no changelog]
2025-06-24 14:58:11 +02:00
Martin Milata
200eac6384
refactor(core): exclude THP related string identifiers from non-THP builds
...
[no changelog]
2025-06-13 15:58:33 +02:00
obrusvit
f04edf3a28
feat(core): battery updates in FW event loop
...
[no changelog]
2025-06-11 23:39:28 +02:00
tychovrahe
01465aac7c
feat(core): update NRF application from firmware
...
[no changelog]
2025-06-09 17:12:31 +02:00
Martin Milata
2c45bac81a
refactor(core): ignore BLE exceptions on boot
...
[no changelog]
2025-06-05 15:53:23 +02:00
cepetr
8a115eff03
chore(core): reformat FEATURES_WANTED list for readability
...
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
bbb74c03a4
feat(core): introduce secure monitor
...
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
a7466298ff
refactor(core): prepare for secure/non-secure memory layout
...
[no changelog]
2025-06-04 16:58:15 +02:00
Martin Milata
39a1c81154
refactor(core): device menu modules
...
[no changelog]
2025-05-30 17:38:16 +02:00
tychovrahe
6e82c2415f
refactor(core): refactor power manager syscalls
...
[no changelog]
2025-05-30 14:04:45 +02:00
Roman Zeyde
556e29b068
perf(core): enable MICROPY_ROM_TEXT_COMPRESSION
...
Also, use `__builtin_strcmp` instead of `strcmp`.
[no changelog]
2025-05-15 09:55:40 +03:00
Roman Zeyde
bd87ebd4b0
chore(core): use -ffreestanding for SOURCE_MOD_CRYPTO and SOURCE_MOD_SECP256K1_ZKP
...
[no changelog]
2025-05-13 20:17:41 +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
3a7850f6a0
chore: remove BNB Beacon Chain support
2025-05-13 09:04:48 +03:00
cepetr
452e63c4fb
feat(core): add display feature to SConscript
...
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
daa6ea25fb
feat(core): add powerctl feature to SConscript
...
[no changelog]
2025-05-12 07:57:46 +02:00
Eugene Rossokha
ffbdea202a
feat(core): add loadable solana tokens
2025-04-29 14:54:41 +02:00
M1nd3r
10f9254f7a
chore(core): remove wire_log from non-debug builds
...
[no changelog]
2025-04-28 23:52:47 +02:00
Roman Zeyde
09a323e578
fix(core): remove debug-related data from PYOPT=1 firmware builds
...
It reduces T3T1 release universal firmware size by ~2kB:
```
Memory region Used Size Region Size %age Used
FLASH: 1580304 B 1664 KB 92.74%
```
Before this PR:
```
Memory region Used Size Region Size %age Used
FLASH: 1578256 B 1664 KB 92.62%
```
(Tested with `TREZOR_MODEL=T3T1 PYOPT=1 make -C core build_firmware`)
[no changelog]
2025-04-24 17:27:21 +03:00
Roman Zeyde
879cc69c63
perf(core): intern non-alphanumeric characters
...
It was found by running `micropython.mem_info()` with the following patch:
```diff
diff --git a/py/gc.c b/py/gc.c
index 604334c95..bff62b754 100644
--- a/py/gc.c
+++ b/py/gc.c
@@ -840,6 +840,7 @@ void gc_dump_info(void) {
(uint)info.total, (uint)info.used, (uint)info.free);
mp_printf(&mp_plat_print, " No. of 1-blocks: %u, 2-blocks: %u, max blk sz: %u, max free sz: %u\n",
(uint)info.num_1block, (uint)info.num_2block, (uint)info.max_block, (uint)info.max_free);
+ qstr_dump_data();
}
void gc_dump_alloc_table(void) {
```
New QSTR definitions:
```
$ tail -n4 ./core/build/unix/genhdr/qstrdefs.generated.h
QDEF(MP_QSTR__paren_close_, 46476, 1, ")")
QDEF(MP_QSTR__paren_open_, 46477, 1, "(")
QDEF(MP_QSTR__lt_, 46489, 1, "<")
QDEF(MP_QSTR__semicolon_, 46494, 1, ";")
```
[no changelog]
2025-04-07 20:19:31 +03:00
Martin Milata
199c02adb2
build(core): only include apps.management.ble when needed
...
[no changelog]
2025-04-03 16:17:12 +02:00
Roman Zeyde
567de7e643
feat(core): increase MicroPython bytecode optimizations
...
[no changelog]
2025-03-28 19:46:24 +03:00
Roman Zeyde
cc416720f0
build(core): explicitly map PYOPT to MicroPython bytecode optimization level
...
[no changelog]
2025-03-28 19:46:24 +03:00
tychovrahe
b7b8e77ccb
feat(core): enable tropic in firmware/kernel on hw
...
[no changelog]
2025-03-27 11:59:10 +01:00
Roman Zeyde
4c2c6f13e7
fix(core): add BLE feature flag to MicroPython build sed scripts
...
[no changelog]
2025-03-20 15:22:32 +02:00
Roman Zeyde
5fd168c363
feat(core): dump GC arena on OOM
...
Enabled for debug firmware and non-frozen emulator.
JSON dump can be extracted from debug log and analyzed using:
$ awk '/^\[$/,/^\]$/' <debug.log >dump.json
$ core/tools/analyze-memory-dump.py dump.json
[no changelog]
2025-03-17 20:17:42 +02:00
Roman Zeyde
2333a6a262
feat(core): log GC info in case of OOM
...
Enabled on debug firmware and non-frozen emulator.
[no changelog]
2025-03-17 20:17:42 +02: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
Ioan Bizău
3efa0480c6
feat(core): add libtropic to the unix build
...
[no changelog]
2025-03-13 15:08:48 +01: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
21ad24fc31
style(core): add spaces around LOG_STACK_USAGE in SConscript.firmware
...
[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