Commit Graph

1381 Commits

Author SHA1 Message Date
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
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
Xiao Xufeng
789ce684c9 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-06-16 01:00:43 +08:00