Commit Graph

86 Commits

Author SHA1 Message Date
harshal.patil
6b417e9d47 fix(esp_common/esp_fault): make ESP_FAULT_ASSERT survive optimization
ESP_FAULT_ASSERT(C) was silently deleted by the optimizer when C is a cached
flag/status already proven by a preceding `if (!C) return/goto`: the compiler
folds C to a constant and drops all three checks, removing the fault-injection
protection with no warning.
2026-06-17 16:45:29 +05:30
harshal.patil
f68bc1ba9f fix(secure_boot): range-check ECDSA r,s in bootloader before ROM verify 2026-06-12 14:38:47 +05:30
Aditya Patwardhan
67e10e2b56 change(secure_boot): mark ECDSA based Secure Boot V2 as insecure on affected SoCs
ECDSA based Secure Boot V2 is not functional for certain input vectors on
ESP32-C5/C61/H2/P4 and on the preview targets ESP32-H4/H21. RSA based Secure
Boot V2 is the recommended scheme where the SoC supports it. This issue will be
fixed in a future hardware ECO revision; more details will be shared through the
hardware errata document.

A new hidden Kconfig option SECURE_BOOT_V2_ECDSA_INSECURE marks the affected
mass-production SoCs (ESP32-C5/C61/H2/P4). On these SoCs, when hardware Secure
Boot V2 is enabled, the ECDSA (V2) signing scheme is no longer offered by
default; it must be turned on explicitly via SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
under "Allow potentially insecure options" (CONFIG_SECURE_BOOT_INSECURE). App
signing without hardware Secure Boot is not affected. Note that ESP32-C61 has no
RSA based Secure Boot V2, so it has no Secure Boot scheme enabled by default.

The preview targets ESP32-H4 and ESP32-H21 mark ECDSA Secure Boot V2 as not
supported in their SoC capabilities instead of using the option above. As
ESP32-H4 has no other Secure Boot V2 scheme, Secure Boot is disabled entirely on
it; ESP32-H21 retains RSA based Secure Boot V2.

The security documentation keeps the ECDSA Secure Boot V2 content visible and
adds a warning describing the limitation (including that ECDSA Secure Boot V2 on
ESP32-C61 is not recommended for production). CI apps that exercise ECDSA Secure
Boot V2 on the affected SoCs set CONFIG_SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
accordingly.
2026-06-09 16:55:57 +05:30
Konstantin Kondrashov
885097762f feat(efuse): Support efuse token dump
- efuse token dump is compatible with espefuse tool
- EFSW dump can be burned on chip with esp_efuse_token_burn()
2026-06-03 13:19:59 +03:00
Marius Vikhammer
84fdbccaf0 fix(examples): raise efuse ESP32-P4 CI partition offset for larger bootloader
Recovery bootloader support increased the ESP32-P4 bootloader image enough
that it no longer fits before 0xe000. Moving the partition table to 0x10000
restores slack for CI builds using secure boot and flash encryption together.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 09:54:27 +08:00
Chen Jichang
645ff40cde ci(esp32h4): enable ci target test 2026-05-11 16:48:58 +08:00
Fu Hanxi
12cc3a92af Merge branch 'feat/parametrize-pytest-cli-args' into 'master'
ci: move test cli args alongside test scripts

Closes IDFCI-1951 and IDFCI-2940

See merge request espressif/esp-idf!46966
2026-03-28 08:04:25 +01:00
Fu Hanxi
4f92cfd077 ci: rename eco tags to revision 2026-03-26 12:24:59 +01:00
Fu Hanxi
ddc7e0cdf7 ci: move qemu test cli args alongside test scripts
remove redundant host_test marker
2026-03-26 10:56:15 +01:00
Marius Vikhammer
25a2747dfd ci: restore runnable pytest configs
Use real CI config names and minimal config aliases so these tests are
collected and built again instead of silently being skipped.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Made-with: Cursor
2026-03-16 13:45:26 +08:00
Evgeny Torbin
7ace6b91c9 ci: fix pre-commit hook errors 2026-03-12 12:02:11 +01:00
Evgeny Torbin
d0f062c018 ci: remove unused test cases 2026-03-12 12:02:10 +01:00
Chen Jichang
b8c527a87c refactor(flash_enc): move esp_flash_encryption_enabled() to efuse component 2026-02-05 11:42:08 +08:00
Konstantin Kondrashov
bb8a5cfe36 fix(examples): Use another efuse block for custom efuse table on ESP32H2 2026-01-21 09:29:10 +02:00
Peter Dragun
e3198fff3c feat: Update esptool to v5 2025-09-30 15:28:55 +02:00
Marek Fiala
9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
harshal.patil
5699619606 test(examples/efuse): Add test for secure boot v2 using ecdsa-p384 2025-07-21 09:19:42 +05:30
Sudeep Mohanty
b6ea668e6e refactor(esptool_py): Removed global scope variables from esptool_py project_include.cmake
This commit global variables such as ESPTOOLPY, ESPSECUREPY, ESPEFUSEPY,
ESPMONITOR and ESPTOOLPY_CHIP from the project_include.cmake file of
esptool_py component. All other components which use these variables
have been updated to fetch the same from esptool_py component's
properties.
2025-07-10 11:26:28 +02:00
Konstantin Kondrashov
11321b585e fix(examples): Fix CI tests for secure boot cases 2025-05-13 19:20:22 +03:00
Mahavir Jain
6c0d5def85 test: convert C6 secure boot tests to use ECDSA scheme 2025-04-29 12:05:22 +08:00
Chen Jichang
c34b4eb882 feat(esp32h4): enable ESP32H4 ci build 2025-03-28 14:41:28 +08:00
igor.udot
daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
gaoxu
5ef4f20778 feat(esp32h21): disable unsupported build test 2025-02-06 15:47:51 +08:00
Marek Fiala
2c814ef2fa feat(tools): Enforce utf-8 encoding with open() function 2024-12-27 17:12:21 +08:00
Frantisek Hrbata
1c92945f59 change(examples): switch examples to use a minimal build
Currently, several example dependencies rely on the fact that all
registered components are added to the build, along with components
specified in common requirements. This results in longer build times
because even unused components must be built. Switch all examples to use
idf_minimal_build to compile only the components actually required by
the example.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
Frantisek Hrbata
ad15109daa change(examples): explicitly specify component dependencies for examples
Currently, several examples do not explicitly state their component
dependencies, relying instead on the default behavior that includes all
registered components and commonly required ones in the build.
Explicitly adding component dependencies can reduce build time when
set(COMPONENTS main) is used.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 14:11:24 +01:00
Konstantin Kondrashov
8c4f576f99 feat(partition_table): Support primary subtypes partitions 2024-10-31 13:16:01 +02:00
nilesh.kale
854101959d feat: enable security related testcases for c5 and c61 2024-10-21 14:24:36 +05:30
Konstantin Kondrashov
cb6e8209e5 feat(examples): Get offsets for efuses from espefuse.py 2024-09-20 16:28:25 +03:00
Konstantin Kondrashov
fdac9bb814 fix(examples): Fix SB and FE tests for C5 and C61 2024-09-20 13:31:31 +03:00
Konstantin Kondrashov
637ee54a7f feat(examples): Increases partition table offset for P4 and C5 2024-09-19 21:31:40 +03:00
Marius Vikhammer
8746f44c74 fix(efuse): fix efuse examples not compiling on c2 2024-09-19 20:48:53 +08:00
Konstantin Kondrashov
7b0b80f46f fix(examples): Increases partition table offset for SBV2+FE test 2024-09-12 15:38:18 +08:00
wanckl
4e095f4b9f ci(esp32c61): enable c61 generic target test 2024-09-02 19:26:12 +08:00
nilesh.kale
849726a3b7 feat: enable secure boot feature for esp32c61 2024-08-05 09:23:27 +05:30
wanlei
3cf069c7d8 feat(esp32c61): disable unsupported build test 2024-07-16 16:06:19 +08:00
laokaiyao
cb22b8aaf7 ci(esp32c5): enable c5 target test 2024-07-02 16:45:49 +08:00
Konstantin Kondrashov
7797b3bf0e fix(efuse): Fix qemu test for efuse example with virt_sb_v2_and_fe config 2024-06-27 18:36:27 +03:00
Jan Beran
950428c2f4 feat(tools): Add often used espefuse subcommands to idf.py 2024-06-07 16:23:17 +02:00
nilesh.kale
f5dd1074b6 feat: enable secure boot for c5
This MR added suppport for secure boot in ESP32-C5.
2024-05-30 11:43:17 +05:30
Marius Vikhammer
5bdde4c994 fix(efuse): fix compile failure on linux target 2024-05-21 10:45:54 +08:00
Konstantin Kondrashov
aed84fa818 feat(efuse): Support Linux target 2024-05-15 16:54:45 +03:00
laokaiyao
65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Aditya Patwardhan
a84234c23f feat(security): Enable Flash encryption for ESP32P4 2023-12-05 13:10:55 +05:30
Marius Vikhammer
77bb19c49e ci(build): fixed/ignored warnings from unknown symbols in sdkconfig.defaults 2023-11-01 01:14:00 +00:00
harshal.patil
ef92f03658 feat(efuses): enable eFuse example test (secure boot) for ESP32-P4 2023-10-12 10:12:54 +05:30
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
harshal.patil
0b86bcd35f efuse: use esp32 qemu target for a efuses example test.
The efuses example test with secure boot v2 and flash encryption enabled can be run on the esp32 qemu image.
2023-06-07 18:19:56 +05:30
Marius Vikhammer
93ba9d1cfe system-hardware/efuse: fixed efuse summary description containing ; breaking efuse-summary
If the efuse description from esptool contained semi-colons it would be interpretted as
a list delimiter in CMake. Summary is now passed as in quotes to escape this behavior.
2023-05-30 10:55:27 +08:00
Fu Hanxi
08df42ae06 ci: sdkconfig.ci.xxx.TARGET now have correct config name xxx 2023-04-06 09:18:58 +08:00