Commit Graph

7702 Commits

Author SHA1 Message Date
Erhan Kurubas
5bcaf281e2 Merge branch 'feat/esp_trace_example' into 'master'
esp_trace example library integration

See merge request espressif/esp-idf!48605
2026-05-26 17:38:22 +02:00
Sudeep Mohanty
301eeba878 Merge branch 'task/buildv2_hygiene_and_dep_declarations' into 'master'
fix(components): generic dep-declaration and scope-leakage hygiene exposed by cmakev2

See merge request espressif/esp-idf!48739
2026-05-26 10:18:22 +02:00
Renz Christian Bagaporo
17a9a5cf21 Merge branch 'ci/reenable_unicore_bl_test_h4' into 'master'
test(ci): re-enable skipped ESP32-H4 unicore bootloader tests

Closes IDF-15620

See merge request espressif/esp-idf!48556
2026-05-26 10:45:46 +08:00
Sudeep Mohanty
67a7700383 Merge branch 'task/cmakev2_internal_fixes' into 'master'
fix(cmakev2): internal bug fixes — kconfgen warnings, dep parsing, managed-deps ordering, link templates

See merge request espressif/esp-idf!48740
2026-05-25 16:01:24 +02:00
Ivan Grokhotkov
6589ba9bbb change(version): Update version to v6.2-dev
Start of v6.2 development.
2026-05-25 14:16:08 +02:00
Sudeep Mohanty
6fa141ec36 fix(cmakev2): publish idf_path in __init_idf_path 2026-05-25 12:31:18 +02:00
Sudeep Mohanty
fed8ed784f fix(cmakev2): handle .elf target name in target_add_binary_data
In cmakev1, the executable target is named "${project}.elf". In cmakev2,
the executable is named "${project}" with .elf as the output suffix.
Strip the .elf suffix and look up the bare target name when the original
name doesn't exist.
2026-05-25 12:31:18 +02:00
Sudeep Mohanty
c5e7c137f5 fix(cmakev2/compat): handle quoted REQUIRES and add legacy API shims
Two compatibility fixes:

- idf_component_register: apply separate_arguments to REQUIRES and
  PRIV_REQUIRES after cmake_parse_arguments. Some managed components
  publish CMakeLists.txt with PRIV_REQUIRES "log esp_eth" as a single
  quoted string (e.g. espressif__rtl8201).

- Add register_component() macro and idf_component_add_link_dependency()
  shims for legacy ESP-IDF examples (ULP apps, BLE mesh) and managed
  components (esp_flash_nor).
2026-05-25 12:31:17 +02:00
Sudeep Mohanty
9e20c3ba57 fix(cmakev2/kconfig): suppress transient kconfgen warnings during component manager runs
kconfgen runs while the component manager iterates to convergence.
Those passes operate on partial component sets and emit "unknown
kconfig symbol" warnings for symbols defined in not-yet-downloaded
components — idf-build-apps treats those as build failures.

Suppress kconfgen output on the intermediate passes; only the final
pass against the converged set emits warnings.
2026-05-25 12:31:17 +02:00
Sudeep Mohanty
a25c1f5476 fix(cmakev2/compat): unquote source list in idf_component_register's add_library call
The cmakev2 compat layer's idf_component_register() was passing
${sources} quoted to add_library(), collapsing the semicolon-delimited
list into a single argument. Drop the quotes so each source becomes a
separate argument, matching cmakev1's idf_component_register().
2026-05-25 12:31:17 +02:00
Renz Bagaporo
f6bf9206cc test(ci): re-enable skipped ESP32-H4 unicore bootloader tests 2026-05-22 11:10:28 +09:00
Sudeep Mohanty
98bc5e127c Merge branch 'task/g0_g1_buildv2_test_app_updates' into 'master'
test(g0_g1_components): adjust G0/G1 test apps for buildv2 awareness

See merge request espressif/esp-idf!48741
2026-05-21 21:30:32 +02:00
Ivan Grokhotkov
1efaa9a087 Merge branch 'feature/update-qemu-to-esp_develop_9.2.2_20260417' into 'master'
feat(tools): update qemu version to esp_develop_9.2.2_20260417

See merge request espressif/esp-idf!47766
2026-05-21 20:28:55 +02:00
Sudeep Mohanty
6084733b91 fix(test_apps/g0_components): skip -D injection when Kconfig is processed
The CMakeLists injects CONFIG_ESP_REV_MIN_FULL and CONFIG_XTAL_FREQ on
the command line because those symbols live in esp_common's Kconfig,
which is outside the G0 closure and is not loaded during a restricted
COMPONENTS build. When every discovered component's Kconfig is processed
(IDF_BUILD_V2) the symbols are already defined via their Kconfig
defaults, and the additional -D would conflict with the existing
definition.

Gate the injection so it only runs when the Kconfig is not processed.
2026-05-21 13:58:27 +02:00
Sudeep Mohanty
f6a7775dc8 fix(ci): ignore unknown-symbol warning for forced VFS_SUPPORT_IO=n
g1_components forces VFS_SUPPORT_IO=n in sdkconfig.defaults to keep
vfs and its transitive deps out of the closure. When the restricted
COMPONENTS list does not load components/vfs/Kconfig, the symbol is
unknown at config time and kconfgen emits an "unknown kconfig symbol"
warning that idf-build-apps treats as a build failure.

Add an ignore pattern so the warning does not gate the build.
2026-05-21 13:58:27 +02:00
Sudeep Mohanty
6c3d8f8de5 fix(g1_components): force VFS_SUPPORT_IO=n for restricted COMPONENTS build
g1_components builds a minimal COMPONENTS list. When every component's
Kconfig is processed, components/vfs/Kconfig sets VFS_SUPPORT_IO=y by
default, and the conditional requires in esp_stdio and esp_libc pull
vfs, esp_driver_uart, and their transitive deps into the closure.

Add an sdkconfig.defaults that forces the symbol off so the dependency
graph stays restricted to the components actually under test.
2026-05-21 13:58:27 +02:00
Sudeep Mohanty
fb7d325b72 test(g1_components): record dep edges surfaced by DEFERRED optional requires
expected_dep_violations only listed the edges visible when
idf_component_optional_requires was a no-op for the dependency graph.
Under build system v2's DEFERRED mode the call propagates the resolved
dependency back into PRIV_REQUIRES, and the graph also captures
esp_common -> {efuse, bootloader_support, app_update} and esp_system ->
esp_app_format.

Add those entries so the script does not flag them when IDF_BUILD_V2
is set.
2026-05-21 13:58:22 +02:00
Sudeep Mohanty
77b7625b81 fix(test_apps/memprot): declare esp_hal_wdt as a private requirement of main
main/{esp32s2,esp32c3,esp32s3}/test_panic.c uses WDT registers from
esp_hal_wdt. Declare it explicitly so the build works under cmakev2's
strict component isolation.
2026-05-21 10:05:48 +02:00
Sudeep Mohanty
bdcd2d611c fix(test_apps/gdb): declare spi_flash as a private requirement of main
main/hello_world_main.c uses spi_flash headers. Declare spi_flash in
PRIV_REQUIRES so the build works under cmakev2's strict component
isolation.
2026-05-21 10:05:48 +02:00
Marek Fiala
488e8fdc1f Merge branch 'contrib/github_pr_18556' into 'master'
fix(tools): idf_tools.py uninstall: initialize archive_version before use (GitHub PR)

Closes IDFGH-17632

See merge request espressif/esp-idf!48213
2026-05-21 02:55:24 +08:00
Wu Zheng Hui
91e66a8d19 Merge branch 'feat/support_io_edge_wakeup' into 'master'
feat(esp_hw_support): support rtc io edge wakeup sleep

Closes FCS-1880 and IDF-11812

See merge request espressif/esp-idf!48410
2026-05-20 19:37:35 +08:00
Erhan Kurubas
41d425bf05 feat(esp_trace): add example to demonstrate external lib integration 2026-05-20 11:55:10 +02:00
Marius Vikhammer
ddea7a5c42 Merge branch 'ci/panic_test_split_coredump' into 'master'
ci: trim panic_coredump build-test dependencies

See merge request espressif/esp-idf!48442
2026-05-20 15:36:42 +08:00
wuzhenghui
2f845ec76d feat(esp_hw_support): update edge wakeup CI test cases 2026-05-20 11:04:05 +08:00
Chen Ji Chang
ee9e481ae4 Merge branch 'feat/support_lcd_gdb_buffer_display' into 'master'
feat(lcd): provide a gdb extension to dump buffer

Closes IDF-15296

See merge request espressif/esp-idf!47902
2026-05-19 19:37:37 +08:00
Ivan Grokhotkov
fef508583a feat(tools): update qemu version to esp_develop_9.2.2_20260417 2026-05-19 12:36:55 +01:00
Frantisek Hrbata
9b6aefc567 Merge branch 'fix/cmakev2_manager_seed_known_components' into 'master'
fix(cmakev2/manager): seed known_components for namespace rewrite

See merge request espressif/esp-idf!48453
2026-05-19 11:38:19 +02:00
Igor Udot
14816cb743 Merge branch 'ci/reproducible-build-version-txt' into 'master'
ci: reproducible build set version.txt

See merge request espressif/esp-idf!48593
2026-05-19 08:55:41 +08:00
bakamake
ece2e8ca69 fix(tools): idf_tools.py uninstall: initialize archive_version before use
Closes https://github.com/espressif/esp-idf/pull/18556
2026-05-18 20:26:21 +08:00
C.S.M
e4d26b2572 feat(tsens): Add tsens support on esp32s31 2026-05-18 11:07:58 +08:00
igor.udot
ea6b6dac0b ci: reproducible build set version.txt 2026-05-18 10:37:21 +08:00
Chen Jichang
eb429c95d4 feat(idf_drivers_gdb): provide a gdb extension to dump buffer 2026-05-15 19:34:30 +08:00
Roland Dobai
9bea09a081 fix(tools): seed IDF_VERSION before idf.py parses dependencies.lock
Any idf.py invocation could hang indefinitely with no output while
spawning an unbounded chain of "idf.py --version" subprocesses,
eventually exhausting system memory.

During init_cli(), idf.py parses the project's dependencies.lock to
vet trusted component-provided idf_ext.py extensions. If the lock
contains a component whose manifest has an "if: idf_version" clause,
evaluating it calls idf-component-manager's _get_idf_version(). Outside
a CMake build the IDF_VERSION environment variable is not set, so that
function falls back to running "idf.py --version" as a subprocess,
which re-enters init_cli() and recurses without bound.

During a normal CMake build the component manager runs as a subprocess
that already has IDF_VERSION in its environment (see build/config.env),
so the fallback is never reached. The recursion happens only because
idf.py runs component-manager code in-process during its own CLI
startup, outside that context.

Seed IDF_VERSION into os.environ early in init_cli(), before any
dependencies.lock parsing, using the subprocess-free
idf_version_from_cmake() helper. This gives in-process component-manager
code the same IDF_VERSION a CMake build would provide.
2026-05-15 14:06:40 +08:00
Marius Vikhammer
6377ac3ec2 test(panic): refactor panic test to split out coredump 2026-05-15 11:00:44 +08:00
Gao Xu
b66f6bcc86 Merge branch 'feat/cam_support_s31' into 'master'
Support dvp cam on ESP32-S31

Closes IDF-14722

See merge request espressif/esp-idf!47850
2026-05-15 10:03:53 +08:00
gaoxu
4e3751b32e feat(cam): support dvp cam on ESP32-S31 2026-05-14 17:09:49 +08:00
Roland Dobai
6d1eb1e481 Merge branch 'fix/worktree_copy' into 'master'
ci(tools): Fixed git worktree copy

Closes IDF-15632

See merge request espressif/esp-idf!48156
2026-05-14 11:05:58 +02:00
Frantisek Hrbata
10c799105f fix(cmakev2/manager): seed known_components for namespace rewrite
When a component's manifest declared a managed dep `<ns>/<name>` and the
project had a local `components/<name>` shadowing it, configure failed
with `IDF: Failed to resolve component '<ns>__<name>'`.

cmakev1 does a project-wide injection so the manager's _choose_component
sees every component name in known_components and rewrites the
namespaced dep to its locally-shadowing short name. cmakev2 invokes the
manager per component with a single-component requirements file, so
known_components has only one entry and the rewrite cannot fire --
`<ns>__<name>` is written verbatim into MANAGED_REQUIRES and the
force-include at component.cmake:995 aborts.

Seed the per-component requirements file with one __COMPONENT_SOURCE
entry per discovered component so handle_project_requirements() builds
the same known_components list cmakev1 produces. The seeded entries are
inert on the cmake side -- the __component_set_property shim ignores
__COMPONENT_SOURCE -- they exist purely to feed the manager's rewrite.

Add a regression test in tools/test_build_system/buildv2/test_component.py.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-05-14 08:56:31 +02:00
Alexey Gerenkov
edb75262a1 Merge branch 'feature/update-esp-clang-to-esp-21.1.3_20260304' into 'master'
feat(tools): update esp-clang version to esp-21.1.3_20260408

Closes IDF-14965, LLVM-501, and LLVM-531

See merge request espressif/esp-idf!46361
2026-05-13 22:54:10 +08:00
Mahavir Jain
cee71ceb39 Merge branch 'feat/enable_secure_boot_support_for_esp32h4' into 'master'
feat: enable support for secure boot in esp32h4

Closes IDF-12262 and IDF-12966

See merge request espressif/esp-idf!45603
2026-05-13 19:07:25 +05:30
Jakub Kocka
c040c3f840 ci(tools): Fixed git worktree copy 2026-05-13 14:55:21 +02:00
Jakub Kocka
02f99c7039 Merge branch 'feat/unicode_check_windows' into 'master'
Added Unicode check for Windows

Closes IDF-15481

See merge request espressif/esp-idf!47047
2026-05-13 20:44:26 +08:00
Laukik Hase
a8c30b7d6f Merge branch 'feat/tee_post_srv_stack_cleanup' into 'master'
feat(esp_tee): Clear out all sensitive buffers explicitly after TEE cryptographic operations

Closes IDF-15671

See merge request espressif/esp-idf!48004
2026-05-13 11:57:26 +05:30
Marius Vikhammer
1a65724653 Merge branch 'ci/h4_core_sys_test' into 'master'
test(ci): re-enable ESP32-H4 in core system test apps

Closes IDF-15602, IDF-15604, IDF-15605, IDF-15606, and IDF-15612

See merge request espressif/esp-idf!48454
2026-05-13 14:24:16 +08:00
Marius Vikhammer
8f6ea2a1ba test(ci): re-enable ESP32-H4 in core system test apps
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 09:00:12 +08:00
Konstantin Kondrashov
485ab9aa29 Merge branch 'feature/recovery_bootloader_support' into 'master'
feat(bootloader): Support recovery bootloader for ESP32P4

Closes IDF-15653 and IDF-13165

See merge request espressif/esp-idf!48215
2026-05-12 23:24:40 +03:00
Daniel Paul
0412f6971c Merge branch 'feat/component_manager_interface_v5' into 'master'
feat: Component Manager interface version 5

Closes PACMAN-1186

See merge request espressif/esp-idf!44173
2026-05-12 21:30:32 +08:00
Jakub Kocka
6e4ed2c204 fix(tools): Forward build subprocess stdout as UTF-8 bytes on Windows 2026-05-12 18:14:27 +08:00
Jakub Kocka
ea7a7db4b1 feat: Added Unicode check for Windows
Closes https://github.com/espressif/esp-hosted-mcu/issues/176
2026-05-12 18:14:27 +08:00
Marius Vikhammer
96333567e8 ci(system): fixing misc core system H4 tests 2026-05-12 17:12:30 +08:00