Commit Graph

1383 Commits

Author SHA1 Message Date
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
Erhan Kurubas
4cf35efa35 test(usb_serial_jtag): pin console uart to ttyUSBx port 2026-07-08 12:59:44 +02:00
Erhan Kurubas
67e42bfaec fix(esp_trace): limit USB-Serial-JTAG trace flush timeout 2026-07-08 12:59:44 +02:00
Erhan Kurubas
d22741aa12 change(sysview_heap_log): use esp sysview_mcore command for the JTAG capture 2026-07-08 12:59:44 +02:00
Erhan Kurubas
4a5a50e95a change(sysview): use esp sysview_mcore command for sysview_tracing JTAG capture 2026-07-08 12:59:44 +02:00
Erhan Kurubas
4e845e262a fix(sysview): add prefix to the example sysview module desc 2026-07-08 12:59:44 +02:00
Erhan Kurubas
f44867619e fix(sysview): handle variable-length timestamp in TRACE_STOP validation 2026-07-08 12:59:44 +02:00
Erhan Kurubas
27dc9c956f change(ci): enable esp32s31 jtag tests 2026-07-08 12:59:44 +02:00
Marius Vikhammer
61c798000f Merge branch 'feature/enable_more_linux_examples' into 'master'
feat(linux): enable more examples for linux target

See merge request espressif/esp-idf!50172
2026-07-06 11:40:51 +08:00
Sudeep Mohanty
26b24ee2fa Merge branch 'task/buildv2_full_pipeline' into 'master'
Enable full buildv2 pipeline

Closes IDF-14180

See merge request espressif/esp-idf!49668
2026-07-03 11:28:57 +02:00
Renz Bagaporo
b4215c6d4d test(ulp): add gpio wakeup test 2026-07-02 16:43:46 +09:00
Guillaume Souchere
b8f697b80d Merge branch 'feat/console-add-linux-support-for-examples' into 'master'
feat(console): Add linux support for console examples

Closes IDF-15778

See merge request espressif/esp-idf!50268
2026-07-02 09:30:48 +02:00
Guillaume Souchere
c18c10f51d feat(console): Add linux support for console examples 2026-07-02 06:46:06 +02:00
Meet Patel
8da676cd87 Merge branch 'feat/ulp_adc_two_channel_example' into 'master'
feat(ulp): demonstrate multi-channel ADC in ULP-RISC-V example

See merge request espressif/esp-idf!50246
2026-07-02 10:00:21 +05:30
Sudeep Mohanty
92d71a7f9b test(gcov): resolve component CMakeFiles dir dynamically
pytest_gcov hardcoded `__idf_<component>.dir/` as the per-component CMake
intermediate directory where each .gcda is expected to land. The directory
name is build-system specific (Build system v1 uses `__idf_<component>.dir`,
Build system v2 uses `_idf_<component>.dir`). Asserting on a single literal
made every test_gcov_uart run fail under Build system v2 even though the
chip was streaming valid coverage data and the host-side UartGcovCapture
was writing the files to the build's actual layout.

Probe `CMakeFiles/*_<component>.dir/` and prefer the candidate whose .gcno
files were emitted by the active build, so the assertion follows the build
output rather than dictating it.
2026-07-01 13:17:25 +02:00
Meet Patel
69d755b1e6 feat(ulp): demonstrate multi-channel ADC in ULP-RISC-V example 2026-07-01 14:09:05 +05:30
Marius Vikhammer
9f126baed8 feat(linux): enable more examples for linux target 2026-07-01 15:10:22 +08:00
harshal.patil
e2c59acc52 test(examples/partitions_ota): handle RSA-less Secure Boot V2 on C2/C61
ESP32-C2 and ESP32-C61 have no RSA based Secure Boot V2 support, so the
CI configs that pin the RSA signing scheme and key fail the app signing
scheme/key check on these targets.

- flash_enc_wifi_2.data_partition_verification: add C2/C61 sdkconfig
  overlays that switch to the ECDSA P-256 signing scheme and key (no
  force-enable needed as Secure Boot V2 itself is not enabled here).
- on_update_no_sb_rsa: disable the build on targets without
  SOC_SECURE_BOOT_V2_RSA, mirroring simple_ota_example, since this
  config specifically exercises the RSA scheme.
2026-07-01 10:54:11 +05:30
Marius Vikhammer
a6a4b7b903 Merge branch 'contrib/github_pr_18767' into 'master'
fix(examples): fix types on 64-bit cpu support(linux) (GitHub PR)

Closes IDFGH-17869

See merge request espressif/esp-idf!50109
2026-06-29 15:04:38 +08:00
Marius Vikhammer
687fe76364 fix(linux): fixed compile issues for freertos basic example on linux target 2026-06-29 14:00:38 +08:00
Michael (XIAO Xufeng)
c1b218b640 Merge branch 'fix/mmap_cache_flash_wr' into 'master'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled

Closes IDFGH-14084

See merge request espressif/esp-idf!29804
2026-06-29 11:44:10 +08:00
Richard Allen
c75b7daa3c fix(examples): fix types on 64-bit cpu support(linux)
Address these:

lock_example.c:162:60: error: cast to pointer from integer of different size
[-Werror=int-to-pointer-cast]
  162 |         xTaskCreatePinnedToCore(inc_num_mutex, NULL, 4096, (void *)thread_id, TASK_PRIO_3, NULL, tskNO_AFFINITY);
      |                                                            ^

create_task_example.c:30:19: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
   30 |     int task_id = (int)arg;
2026-06-26 22:21:46 -05:00