Commit Graph
7805 Commits
Author SHA1 Message Date
Jiang Jiang Jian 89dea7df57 Merge branch 'ble-log-console-migration-notice_v6.1' into 'release/v6.1'
Ble log console repository migration (6.1)

See merge request espressif/esp-idf!50608
2026-08-31 11:06:42 +08:00
Mahavir Jain 1dbe2cb8b2 Merge branch 'feat/enable_dpu_region_protection_for_esp32s31_v6.1' into 'release/v6.1'
feat: enable cpu region protection for esp32s31 (v6.1)

See merge request espressif/esp-idf!52003
2026-08-30 21:55:12 +05:30
Rahul Tank bf93402138 Merge branch 'bugfix/nimble_issues_26082026_v6.1' into 'release/v6.1'
fix(nimble): Fix few nimble issues 26082026 (v6.1)

See merge request espressif/esp-idf!52075
2026-08-29 21:17:04 +05:30
harshal.patil 0580cff0e4 change(esp_hw_support): harden the ESP32-S31 PSRAM region permissions
Both PSRAM layouts were mapped as a single RWX window, so everything in external
RAM - the heap included - was executable.

PSRAM used as data only is now RW, and under XIP-from-PSRAM it is split per
section as ESP32-P4 does: .text RX, .rodata read-only, and the MMU-page
alignment gaps and the reclaimed heap RW, so neither is executable.

Both describe the layout that esp_psram_init() produces, and the entries are
locked, so - again as on ESP32-P4 - they are only narrowed when
CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION says that layout applies. Without
it the application owns the region and PSRAM stays RWX.

The per-section entries cost one PMP entry more than the 16 available, so the CPU
subsystem and peripheral windows are chained as TOR entries, taking one entry
instead of three.

soc.h is corrected against the S31 bus address map: the peripheral window base
was 1 MB too low, and the LP peripheral top, derived from a register base plus a
size rather than from the map, was 16 KB short. SOC_NON_CACHEABLE_OFFSET_FLASH
is added.
2026-08-28 18:06:56 +05:30
nilesh.kale 8f3d9e7445 feat: enable cpu region protection for esp32s31 2026-08-28 18:06:56 +05:30
morris f7502ee0cb Merge branch 'isp_dma_one_frame_v6.1' into 'release/v6.1'
feat(isp): support isp dma input and add example (v6.1)

See merge request espressif/esp-idf!50754
2026-08-28 10:05:35 +08:00
Marius Vikhammer 738e9da8e9 Merge branch 'feat/optimize_bootloader_size_v6.1' into 'release/v6.1'
change(bootloader): optimize bootloader size (v6.1)

See merge request espressif/esp-idf!51596
2026-08-27 18:15:49 +08:00
Alexey Gerenkov 9a80cf3721 Merge branch 'fix/coredump_psram_xip_v6.1' into 'release/v6.1'
test(coredump): fix psram memory range for esp32s31 and esp32p4 (v6.1)

See merge request espressif/esp-idf!50738
2026-08-27 17:25:01 +08:00
Fu Hanxi 7eaf5f1b4e Merge branch 'feat/apply-common-scripts-6.1' into 'release/v6.1'
ci: apply common-scripts CI refactor (v6.1)

See merge request espressif/esp-idf!50988
2026-08-27 10:39:58 +02:00
Erhan Kurubas 74265eb43b test(coredump): fix psram memory range for esp32s31 and esp32p4 2026-08-27 10:23:12 +02:00
Mahavir Jain ead61fe10e Merge branch 'feat/update_documentation_and_cleanup_for_s31_v6.1' into 'release/v6.1'
enable tests and cleanup JIRA references for s31 (v6.1)

See merge request espressif/esp-idf!50378
2026-08-27 13:45:25 +05:30
Alexey Gerenkov 89bc2b8bc4 Merge branch 'feature/upgrade-esp-rom-elfs_v6.1' into 'release/v6.1'
feat(tools): tools: update esp-rom-elf to version 20260528 (v6.1)

See merge request espressif/esp-idf!50846
2026-08-27 16:15:10 +08:00
Alexey Gerenkov ad05a2522a Merge branch 'enable_esp32s31_jtag_tests_v6.1' into 'release/v6.1'
change(ci): enable esp32s31 jtag tests (v6.1)

See merge request espressif/esp-idf!50735
2026-08-27 16:09:51 +08:00
Alexey Gerenkov 67d7993822 Merge branch 'coredump_test_fixes_v6.1' into 'release/v6.1'
Coredump fixes (v6.1)

See merge request espressif/esp-idf!50473
2026-08-27 16:00:22 +08:00
Alexey Gerenkov 88ef571889 Merge branch 'enable_esp32h4_coredump_tests_v6.1' into 'release/v6.1'
ci(coredump): enable esp32h4 tests (v6.1)

See merge request espressif/esp-idf!50724
2026-08-27 15:54:24 +08:00
Fu HanxiandCopilot 0a0f6ff9d1 tests: replace CLI-dependent xfail/skipif conditions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-27 09:25:42 +02:00
Fu Hanxi 62cca9b9e0 ci: use main branch of ci/actions/common 2026-08-27 09:25:42 +02:00
Fu Hanxi d008f9456b ci: remove pip-cache and other unused jobs 2026-08-27 09:25:41 +02:00
Fu Hanxi 321dda29ff ci: apply common-scripts CI refactor (v6.1) 2026-08-27 09:14:23 +02:00
nilesh.kale 256244e89a feat: enable tests and cleanup jira references for s31 2026-08-27 12:28:24 +05:30
Roland Dobai 138482998d Merge branch 'feature/use_zcmp_by_default_v6.1' into 'release/v6.1'
feat(build): add ZCMP workaround post-build check (v6.1)

See merge request espressif/esp-idf!51325
2026-08-27 08:24:39 +02:00
Roland Dobai b737501fd4 Merge branch 'bugfix/cmakev2-coredump-default-component_v6.1' into 'release/v6.1'
fix(cmakev2): include config-selected default components (v6.1)

See merge request espressif/esp-idf!51930
2026-08-27 08:21:54 +02:00
Roland Dobai 4d777fd05a Merge branch 'fix/harden_empty_toolchain_output_v6.1' into 'release/v6.1'
fix: harden build against empty toolchain output (v6.1)

See merge request espressif/esp-idf!51643
2026-08-27 08:20:56 +02:00
Roland Dobai 46e2563b4b Merge branch 'fix/buildv2_fake_pass_pipeline_v6.1' into 'release/v6.1'
ci(buildv2): skip patching the fake_pass build child pipeline (v6.1)

See merge request espressif/esp-idf!51571
2026-08-27 08:19:13 +02:00
Roland Dobai e30658c10c Merge branch 'chore/remove_old_root_managed_components_tests_v6.1' into 'release/v6.1'
chore: Remove old root managed components tests (v6.1)

See merge request espressif/esp-idf!51075
2026-08-27 08:17:44 +02:00
Roland Dobai 7c890fccf7 Merge branch 'feat/idf_component_include_optional_v6.1' into 'release/v6.1'
feat(cmakev2/component): add OPTIONAL flag to idf_component_include (v6.1)

See merge request espressif/esp-idf!49570
2026-08-27 08:17:12 +02:00
Euripedes Rocha cdec505ebd Merge branch 'feat/eth_test_component_v6.1' into 'release/v6.1'
feat(esp_eth): updated test_apps to use Ethernet test component (v6.1)

See merge request espressif/esp-idf!49658
2026-08-27 08:07:55 +02:00
Roland Dobai 5a5c367ee4 Merge branch 'fix/mcp_support_major_2_v6.1' into 'release/v6.1'
fix(tools): mcp-server supports python package mcp > 2 (v6.1)

See merge request espressif/esp-idf!51569
2026-08-27 08:06:47 +02:00
Astha Verma 1265a63943 fix(nimble): Added l2cap_coc throughput examples 2026-08-27 11:33:56 +05:30
morris 3e162786cb feat(build): support aligned embedded binary data
Allow callers to align embedded binary start symbols for DMA-capable
assets.
2026-08-26 11:33:58 +08:00
Marius Vikhammer 702f6354ec fix(cmakev2): include config-selected default components 2026-08-21 10:24:17 +08:00
Sudeep Mohanty 00aea6d1f0 ci(buildv2): collect target tests with IDF_BUILD_V2 active 2026-08-20 14:00:26 +02:00
Sudeep Mohanty c619ab492c ci(buildv2): skip patching the fake_pass build child pipeline
idf-ci emits a skip pipeline containing only a fake_pass job, with no
include of test_child_pipeline.yml, when the modified files match no
buildable apps. patch_buildv2_child_pipeline.py redefined
generate_pytest_child_pipeline unconditionally, assuming the included
template supplied its tags, image and assign_test stage via keyword
merge. With the template absent, the injected job was bare: no tags,
default test stage. It was scheduled on the wrong runner and failed,
turning the allow_failure build_child_pipeline_buildv2 bridge red on
every buildv2 MR whose changes produce an empty app matrix.

Return early when a fake_pass job is present so the child pipeline is
left untouched and skips, matching the default build path. Add a unit
test for the patch script and a host_test job to run it.
2026-08-20 10:14:46 +02:00
Marius Vikhammer 66f79e57f8 change(bootloader): optimize bootloader size
Trim bootloader size by moving some logs to DEBUG. Allows
compiling bootloader on P4 with CONFIG_ESPTOOLPY_FLASHMODE_QIO
without changing partition table offset
2026-08-20 14:54:45 +08:00
Ondrej Kosta 5e4f3308e4 feat(ci): support downloading extra app artifacts in pytest
Add app_extra S3 artifact type, extend idf-ci download plumbing, and
expose a download_app_extra pytest fixture for managed_components deps.
2026-08-13 20:53:55 +08:00
Frantisek Hrbata 86c4c63780 fix: harden build against empty toolchain output
On some Windows systems, antivirus, endpoint-security or DLP/encryption
software intercepts short-lived toolchain processes and strips their
stdout when the build captures it through a pipe, while the same command
prints its output normally when run by hand. The tool exits successfully
but returns nothing, and each build step that reads toolchain output then
failed with a different, cryptic error far from the real cause:

- CMake configuration aborted with "Unknown arguments specified" in
  components/xtensa/project_include.cmake, or "check_expected_tool_version
  invoked with incorrect arguments" in components/esp_common.
- ldgen turned the empty objdump output into an opaque pyparsing
  "Expected 'In archive'" traceback.
- idf_tools.py silently reported the compiler/debugger version as
  "unknown", sending users into a fruitless reinstall loop.

Detect the empty result at each consumer and fail (or warn) with an
actionable message that names the likely cause and the remedy:

- tools/cmake/compiler_query.cmake: new __compiler_query() helper runs a
  compiler query and fails with a clear error on empty or failed output.
  It is a standalone module included by both the cmakev1 and cmakev2
  utilities, since the esp_common and xtensa project_include.cmake that
  call it are shared by both build systems. The xtensa if() arguments are
  now quoted so an empty result no longer collapses into a parse error.
- tools/ldgen/ldgen.py: _run_objdump() rejects empty objdump output, and
  non-empty-but-unparsable section info is caught and re-raised as a clear
  LdGenFailure instead of a raw pyparsing traceback.
- tools/idf_tools.py: empty version output now warns with the cause and
  returns UNKNOWN_VERSION instead of silently reporting "unknown".

Closes https://github.com/espressif/esp-idf/issues/18727

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-08-10 09:05:01 +02:00
Frantisek Hrbata da926220bd fix(ldgen): add the linker template to the generation fingerprint
ldgen skips regeneration when a fingerprint over the section names, the
linker fragment files, sdkconfig and Kconfig is unchanged. The linker
script template was not part of that fingerprint, even though everything
outside its mapping placeholders is copied into the generated script
verbatim.

The build system regenerates the preprocessed template whenever any of
its inputs changes, not only when a linker fragment changes. When such a
change reaches ldgen but leaves the section names alone, the fingerprint
still matches, generation is skipped, and the image is linked against the
previously generated script. The skip path updates the mtime of the
output, so nothing in the build output shows that the change was dropped.

Add the template to the fingerprint so that regenerating it always
regenerates the linker script.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-08-10 08:30:31 +02:00
Marek FialaandCursor 6d8d63da51 fix(tools): support mcp Python SDK 2.0 for mcp-server
FastMCP was renamed to MCPServer in mcp 2.0, which made idf.py mcp-server
report a false "MCP dependencies not available" error. Prefer MCPServer
and keep a FastMCP fallback for mcp 1.x.

Closes https://github.com/espressif/esp-idf/issues/18904

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 15:35:49 +02:00
Alexey Lapshin a494009a0c feat(build): add RISC-V ZCMP post-link workaround check
Validate linked RISC-V executables when
CONFIG_COMPILER_ENABLE_RISCV_ZCMP is enabled on affected chips.
Disassemble each function and reject mstatus.MIE clears that lack an
earlier mintthresh write of 0xff.

Handle csrrci, csrrw, and register-mask csrrc patterns while ignoring
csrrs. Add build-only coverage for valid and invalid sequences with
CMake v1 and v2.

Stop the hardware stack guard before switching stacks during restart,
and keep ZCMP disabled for TEE test apps that still require the
workaround.
2026-08-03 14:10:00 +08:00
morris f6aed42a49 Merge branch 'contrib/github_pr_18832_v6.1' into 'release/v6.1'
fix(mocks): add missing `esp_hal_*` includes (GitHub PR) (v6.1)

See merge request espressif/esp-idf!50726
2026-07-29 19:00:31 +08:00
Erhan Kurubas 1b44f1ebdd ci(coredump): enable esp32h4 tests 2026-07-23 09:49:33 +03:00
Daniel Paul c6b5bd08b3 chore: Remove old root managed components tests 2026-07-23 00:41:09 +02:00
Jiang Jiang Jian e61a30edce Merge branch 'backport/support-esp32s31-dfu-v6.1' into 'release/v6.1'
Feat/support esp32s31 dfu (v6.1)

See merge request espressif/esp-idf!50863
2026-07-18 08:07:22 +08:00
Jiang Jiang Jian a43c51681a Merge branch 'task/buildv2_full_pipeline_v6.1' into 'release/v6.1'
Enable full buildv2 pipeline (v6.1)

See merge request espressif/esp-idf!50351
2026-07-17 18:20:09 +08:00
Jiang Guang MingandCursor 5c3306ac04 fix(dfu): retry dfu-util flash on macOS detach failure
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 11:09:20 +08:00
JiangGuangMing a37b9efc90 feat: support esp32s31 dfu feature 2026-07-17 11:09:20 +08:00
Jiang Jiang Jian f8e6e94dca Merge branch 'feat/usb_dfu_console_soc_caps_backport_v6.1' into 'release/v6.1'
feat(soc): add USB DFU and OTG console caps (backport v6.1)

See merge request espressif/esp-idf!49580
2026-07-17 10:30:26 +08:00
Jiang Jiang Jian 947e534927 Merge branch 'fix/mmap_cache_flash_wr_v6.1' into 'release/v6.1'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled (v6.1)

See merge request espressif/esp-idf!50117
2026-07-17 10:30:14 +08:00
Alexey Lapshin 215a192578 feat(tools): tools: update esp-rom-elf to version 20260528
Closes https://github.com/espressif/esp-idf/issues/18755
2026-07-16 18:36:54 +07:00
Aditya Patwardhan 9dc17f98b0 Merge branch 'backport/44987_v6.1' into 'release/v6.1'
feat(esp-tls): Added a PSA driver for Secure Element (backport v6.1)

See merge request espressif/esp-idf!50334
2026-07-16 15:37:49 +05:30