1404 Commits
Author SHA1 Message Date
Marius Vikhammer 762925b0fa Merge branch 'fix/s31_lp_i2c_default_pins' into 'master'
fix(ulp): match ESP32-S31 LP I2C default pins to the LP IO MUX

Closes DOC-16018

See merge request espressif/esp-idf!53937
2026-10-22 15:59:16 +08:00
Marius Vikhammer 866ce3286a fix(ulp): match ESP32-S31 LP I2C default pins to the LP IO MUX 2026-10-22 12:09:26 +08:00
wuzhenghui cc238b9fe3 feat(pm): gate wake stub checks by ROM/SOC caps 2026-10-16 15:24:04 +08:00
wuzhenghui ea4eeb973d feat(example): support deepsleep wakestub example for esp32s31 2026-10-16 15:10:16 +08:00
Samuel Obuch a26d511f28 Merge branch 'ci/enable_remaining_usj_tests' into 'master'
ci: enable remaining usj tests

Closes IDF-16198, IDF-11514, and IDFCI-10703

See merge request espressif/esp-idf!53568
2026-10-15 11:52:25 +02:00
Konstantin Kondrashov 2cf5f0ab36 test(efuse): avoid intermediate boots during virtual eFuse setup
Keep reading, modifying, and writing virtual eFuses under one UART guard.
Leave the stub running after the read, synchronize without resetting, and
avoid normal boots after auxiliary writes so the bootloader cannot
re-enable cleared virtual eFuse bits before the final application flash.

Remove the redundant esptool guard around normal flashing. Validate the
dump size and report read/write failures with operation and port context,
propagating the original exception without retries.
2026-10-14 17:25:26 +03:00
Samuel Obuch 8e3d040d28 ci: enable remaining usj tests 2026-10-14 12:24:07 +02:00
Wang Ning 92425d9b54 docs(ulp): correct the GPIO0 note in the LP core GPIO example 2026-10-13 14:17:18 +08:00
Gao Xu ba0b4744fe Merge branch 'ci/h21_target_test' into 'master'
ci(esp32h21): enable ci target test

See merge request espressif/esp-idf!52704
2026-10-12 17:34:06 +08:00
Guillaume Souchere 5e7027c3eb Merge branch 'fix/esp-stdio-custom-io' into 'master'
fix(esp_stdio): Update custom IO implementation

See merge request espressif/esp-idf!52929
2026-10-11 09:43:30 +02:00
Guillaume Souchere dcd4706b2b feat(esp_stdio): Update API and add missing test case 2026-10-11 08:24:36 +02:00
gaoxu 90fe5d2064 ci(esp32h21): disable tests which cannot pass 2026-10-09 10:58:42 +08:00
gaoxu 50a81a31f0 ci(esp32h21): enable ci target test 2026-10-09 10:58:42 +08:00
Jiang Jiang Jian 88fb9537ba Merge branch 'fix/mac_test' into 'master'
fix(tests): Handle locally administered Ethernet MAC (esp32s31)

Closes IDFCI-10297

See merge request espressif/esp-idf!52316
2026-09-22 17:22:39 +08:00
Guillaume Souchere 4e2ea67187 feat(esp-stdio): Add example for runtime registration 2026-09-22 10:48:19 +02:00
Ivan Grokhotkov (bot) 744f11fd63 feat(examples): add cache access counters example 2026-09-11 11:30:29 +02:00
Marius Vikhammer b38c8a0625 Merge branch 'feat/llvm-opt-integration' into 'master'
feat(compiler): add ESP-IDF LLVM optimization enablement framework

See merge request espressif/esp-idf!51154
2026-09-07 10:11:37 +08:00
Samuel Obuch 1567027de8 ci(ulp): disable lp_core/debugging test 2026-09-03 12:47:29 +02:00
chenqianandCursor 25046e7959 feat(compiler): add ESP-IDF LLVM optimization enablement framework
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 13:02:58 +08:00
Marius Vikhammer 632911cfb7 fix(examples): increase partition table offset for sysview heap log on ESP32-H4
The example enables CONFIG_ESP_SYSTEM_USE_FRAME_POINTER, which pushes the
bootloader to 0x6020 bytes on ESP32-H4. That exceeds the 0x6000 budget
available with the default partition table offset of 0x8000, breaking the
build for both the app_trace_jtag and app_trace_uart CI configurations.

Move the partition table to 0x10000 on ESP32-H4, same as already done for
ESP32-P4, and drop the now stale "only overflowed on P4" note. Tell OpenOCD
the matching app image offset so GDB can map flash on both chips.
2026-09-03 11:50:59 +08:00
Konstantin Kondrashov 59bd1ee70a fix(tests): Handle locally administered Ethernet MAC 2026-09-02 13:03:31 +03:00
Konstantin Kondrashov de1e5035b5 feat(app_update): Add auto-confirmation of OTA updates
Enable rollback auto-confirmation by default
2026-09-01 12:53:21 +03:00
Erhan Kurubas 4709507f3e change(esp_trace): skip unused timer reads on the per-event path
Lock take called esp_timer_get_time() before trying the spinlock, and the
C3 default timestamp went through esp_timer's tick-to-us conversion.
Try the lock first, and read systimer ticks directly.
2026-08-26 10:39:18 +02:00
Alexey Gerenkov a987eb6589 Merge branch 'tracing_test_fixes' into 'master'
Tracing test fixes

See merge request espressif/esp-idf!51601
2026-08-13 16:56:07 +08:00
Mahavir Jain 8c007f0e03 Merge branch 'feat/bootloader-mbedtls-split-final' into 'master'
feat(esp_image_verify): split image verification out of bootloader_support

Closes IDF-8577 and IDFGH-17033

See merge request espressif/esp-idf!48383
2026-08-13 08:45:58 +05:30
Michael.B c961738157 fix(examples): count periodic IRQs during xip_from_psram flash erase
Replace the oneshot latency assumption with a 1ms periodic timer that
runs only across a forced dirty-partition erase, and fail if irq_count
falls below 80% of the expected count from erase duration.
2026-08-12 17:11:00 +08:00
Michael.B a434dc5173 ci(psram): add esp32p4 250M XIP coverage with flash 120M HPM-DC 2026-08-12 17:11:00 +08:00
Erhan Kurubas 256d129ed9 fix(esp_trace): send trace data over usb-serial-jtag reliably 2026-08-12 09:29:27 +02:00
Erhan Kurubas 6e94ac4a8b change(esp_trace): increase usj tx buffer size in both examples 2026-08-12 09:28:13 +02:00
Erhan Kurubas b4d5b133ee test(sysview_tracing): validate TRACE_STOP per core 2026-08-12 09:27:51 +02:00
Ashish Sharma b912691fcd refactor(app_update): rename SECURE_SIGNED_DATA_PARTITION Kconfig option 2026-08-12 08:39:18 +05:30
Ashish Sharma 8589d9df25 fix(build): prepare dependents for bootloader_support dropping mbedtls
bootloader_support is about to stop pulling mbedtls (and app_update) into
every build graph, so components and apps that relied on those transitive
edges must own their dependencies

Closes https://github.com/espressif/esp-idf/issues/18072
Related https://github.com/espressif/esp-idf/issues/18778
2026-08-12 08:39:18 +05:30
Renz Bagaporo a91a316449 ci(ulp): re-enable legacy ULP buildv2 jobs 2026-07-29 13:08:22 +09:00
Renz Bagaporo 288b9a6e00 feat(ulp): build legacy ULP APIs through CMake v2 shim 2026-07-29 13:08:22 +09:00
Rahul Tank 14674d8aee Merge branch 'feat/introduce_nimble_1.9' into 'master'
feat(nimble): Migrate to nimble-1.9.0-idf

See merge request espressif/esp-idf!48553
2026-07-28 15:24:05 +05:30
Erhan Kurubas 19a27980a5 refactor(examples): group trace examples under examples/system/tracing/
Move 7 trace-related examples (app_trace_basic, app_trace_to_plot,
esp_trace_custom_library, function_tracing, gcov, sysview_tracing,
sysview_tracing_heap_log) from examples/system/ into a dedicated
examples/system/tracing/ subdirectory for better organization.

Update all path references across documentation (en + zh_CN),
build-test-rules, CI configs, Kconfig, and component READMEs.
2026-07-27 23:56:02 +03:00
Rahul Tank e08609e451 fix(nimble): Migrate to NimBLE 1.9.0 2026-07-27 14:14:35 +05:30
Erhan Kurubas 6c6490d54c docs(esp_trace): restructure tracing docs with esp_trace as master
Reorganize the tracing documentation so esp_trace is the master
component, with app_trace, SystemView, and Gcov referenced from it.
2026-07-23 08:58:30 +03:00
Erhan Kurubas 7a07c33565 Merge branch 'feat/enable_function_tracing' into 'master'
Enable function tracing (-finstrument-functions)

See merge request espressif/esp-idf!49951
2026-07-16 15:57:42 +02:00
Renz Christian Bagaporo faca8f56a3 Merge branch 'feat/cmakev2_ulp_full_subproject' into 'master'
feat(ulp): initial support for building ULP projects as full subprojects under CMake v2

See merge request espressif/esp-idf!50134
2026-07-16 21:00:32 +08:00
Erhan Kurubas 39d6aaaecb feat(esp_trace): add compiler-instrumented function tracing support 2026-07-16 10:18:25 +02:00
Erhan Kurubas b8d937bbb3 test(sysview_tracing): wait for apptrace stop before validating capture 2026-07-16 10:18:25 +02:00
Samuel Obuch 6c548c4bfd Merge branch 'enable_esp32h4_jtag_tests' into 'master'
change(ci): enable esp32h4 jtag tests

Closes IDFCI-10703

See merge request espressif/esp-idf!50728
2026-07-15 12:34:33 +02:00
Renz Bagaporo 5b67ff37cd ci(ulp): temporarily disable legacy ULP apps for buildv2
Keep legacy ULP apps on the CMake v1 build path while buildv2 coverage
is limited to full_subproject ULP apps.

Also add the missing esp_driver_gpio dependency to the esp_pm test app
so buildv2 dependency checks see driver/rtc_io.h explicitly.
2026-07-15 10:17:52 +09:00
Renz Bagaporo a78b61cf19 feat(examples): add full-subproject ULP examples 2026-07-15 09:14:35 +09:00
Erhan Kurubas 4eb0163fb9 Merge branch 'enable_esp32s31_jtag_tests' into 'master'
change(ci): enable esp32s31 jtag tests

Closes IDF-14691, IDF-14692, IDF-14942, and IDFCI-11113

See merge request espressif/esp-idf!50149
2026-07-14 11:39:22 +02:00
Samuel Obuch a49ea83330 change(ci): enable esp32h4 jtag tests 2026-07-14 11:25:03 +02:00
Frantisek Hrbata f2a99cd11f feat(ulp): add cmakev2 ULP build system example with IDF components
Add examples/system/ulp/lp_core/build_system_v2/ demonstrating the
cmakev2 ULP build with native IDF component support, Kconfig
integration, component manager usage, linker scripts (static and
ldgen-processed), and per-project menuconfig.

The example shows a custom ULP project (via ulp_add_project) structured
as a proper IDF-like project with a main component and
idf_build_executable(). The ULP sub-project runs its own kconfgen with
the parent's sdkconfig as SDKCONFIG_DEFAULTS, inheriting the parent's
IDF configuration while adding ULP-specific Kconfig options from its
own components.

Three components demonstrate different integration mechanisms:

- ulp_sum and ulp_math: pure cmakev2 components in the components/
  subdirectory, using add_library(${COMPONENT_TARGET}) directly.
  Each provides a Kconfig file with configurable options.

- ulp_clamp: an external component in the extra/ subdirectory,
  declared as a local path dependency in ulp_sum/idf_component.yml.
  The component manager resolves this dependency automatically.
  ulp_clamp also provides a Kconfig file with a configurable
  maximum clamp value (CONFIG_ULP_CLAMP_MAX_VALUE).

Linker script support is demonstrated in two ways:

- Static linker script: ulp_math registers ulp_math_sections.ld via
  idf_component_set_property(LINKER_SCRIPTS), defining a custom
  linker symbol (ulp_math_version).

- ldgen-processed template: ulp_math provides a linker fragment file
  (ulp_math.lf) that describes a custom .ulp_math_fast section
  placement. The main component registers ulp_sections.ld.in via
  target_linker_script(PROCESS), which ldgen processes using the
  fragment to generate the final linker script. The
  ulp_math_multiply() function is placed in .ulp_math_fast using
  __attribute__((section)). Both static and ldgen linker scripts
  are handled by the standard idf_build_library() flow without any
  ULP-specific linker script functions.

The ULP project has its own sdkconfig.defaults that overrides the
ulp_clamp default (100 instead of 255), demonstrating per-project
configuration layering. Users can append to SDKCONFIG_DEFAULTS
before include(idf.cmake) to add project-specific defaults.

A menuconfig-<app_name> target is registered in the parent build,
allowing ULP-specific configuration via:
  idf.py --no-hints menuconfig-ulp_build_system_example

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-07-14 16:54:58 +09:00
Renz Christian Bagaporo 907f4a66d9 Merge branch 'fix/lp_core_gpio_wakeup' into 'master'
fix(ulp): wake pin wakes ESP32-P4 from deep sleep on P4

Closes IDF-15823

See merge request espressif/esp-idf!49855
2026-07-10 07:44:36 +08:00
Erhan Kurubas 21b9eaf6ff test(sysview): trim trace capture to the STOP record to drop post-reset UART noise 2026-07-08 14:01:36 +02:00