1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-04 21:48:17 +00:00
Commit Graph

74 Commits

Author SHA1 Message Date
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
cepetr
089db2cadf refactor(core): restructure embed folder
[no changelog]
2024-11-18 09:41:02 +01:00
cepetr
d4286ff584 chore(core): remove legacy drawing code (c)
[no changelog]
2024-11-13 12:15:38 +01: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
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
matejcik
6ae96868df chore(core): use trezor-core-tools in scripts 2024-08-28 16:15:10 +02:00
cepetr
c0b295a9b1 fix(core/prodtest): fix prodtest build with NEW_RENDERING on
[no changelog]
2024-08-22 14:28:54 +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
cepetr
5fc3c6e617 refactor(core): improve and simplify error handling
[no changelog]
2024-06-17 16:57:33 +02: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
obrusvit
43e759ea0b refactor(core): apply uppercased fonts in build
[no changelog]
2024-05-08 22:46:58 +02:00
matejcik
66b96bc279 build(core): fix prodtest build from build-docker
build-docker.sh will unconditionally pass in a value for the
VENDOR_HEADER envvar. This is a problem if the user didn't specify one,
because the value inside the container is going to be empty string.

We make prodtest look at whether the value of VENDOR_HEADER is truthy
instead of a literal None. Which is a correct logic: if the user
deliberately sets the value to an empty string, the build will fail
anyway, so we ignore such value.
2024-04-22 10:56:25 +02:00
matejcik
5b0b145f12 build(core): allow custom vendor header for prodtest
to facilitate building prodtest with unsigned VH and then replacing it
2024-04-17 14:40:29 +02:00
tychovrahe
ed6aa48726 feat(core): use confidential section for confidential and sensitive data
[no changelog]
2024-04-05 18:54:30 +02: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
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
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
Andrew Kozlik
cbea765e38 feat(core/prodtest): Verify device certificate chain in CERTDEV WRITE.
[no changelog]
2023-12-08 12:30:28 +01:00
cepetr
ba83a7e644 feat(core): introduce interaction-less upgrade 2023-10-27 16:15:15 +02:00
Ondrej Mikle
b69ef9d168 feat(core): Copy firmware image header to bootloader RAM to be able to skip directly to firmware install, jumping from firmware to bootloader
Change linking of util.s and limited version of util.s to avoid mistakes
with boardloader etc.
2023-09-11 14:36:11 +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
5470304515 feat(core): Implement OPTIGA provisioning in prodtest.
[no changelog]
2023-08-29 10:59:34 +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
tychovrahe
e8281385f6 feat(core): implement secret handling in bootloader 2023-08-15 09:37:38 +02:00
tychovrahe
238e3fd7c1 refactor(core): add abstraction over flash memory layout
[no changelog]
2023-07-25 10:25:20 +02:00
tychovrahe
ebbd7f9d35 refactor(core): restructure trezorhal, prepare to support more platforms
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
d3284baf21 feat(core): support STM32F429 discovery board 2023-06-15 17:08:14 +02:00
grdddj
d199a17cfc feat(core): introduce FONT_BIG as a fifth optional font
[no changelog]
2023-06-14 18:17:09 +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
tychovrahe
83500487b8 refactor(core): improve conditional compilations based on model
[no changelog]
2023-04-19 21:36:51 +02:00
tychovrahe
6ea68baf34 refactor(core): move files out of extmod
[no changelog]
2023-04-19 21:36:51 +02:00
matejcik
37d0d91a84 chore: add production-signed prodtest header 2023-04-17 14:27:50 +02:00