Commit Graph

49603 Commits

Author SHA1 Message Date
Jiang Jiang Jian
d6d19da799 Merge branch 'bugfix/add_migration_guides_for_esp_wifi_init' into 'master'
fix(wifi): add migration guides for esp_wifi_init

See merge request espressif/esp-idf!43077
2025-11-14 19:29:00 +08:00
morris
f86febdc87 feat(gpio): add fast gpio && sdm && filter support on esp32h21 2025-11-14 18:34:06 +08:00
morris
5fb55adb74 Merge branch 'feat/etm_esp32h21' into 'master'
feat(etm): support ETM driver on esp32h21

Closes IDF-11576, IDF-11577, and IDF-11614

See merge request espressif/esp-idf!43294
2025-11-14 17:00:59 +08:00
Wu Zheng Hui
10baab1cf8 Merge branch 'fix/check_usj_status_before_access' into 'master'
fix(esp_driver_usb_serial_jtag): check USJ accessibility before read/write

Closes PM-400

See merge request espressif/esp-idf!42562
2025-11-14 16:30:40 +08:00
Wu Zheng Hui
728fc6a254 Merge branch 'fix/fix_c6_rtc_periph_depends_on_top' into 'master'
fix(esp_hw_support): add dependency of the TOP domain to the RTC_PERIPH domain for esp32c6

See merge request espressif/esp-idf!43289
2025-11-14 16:28:32 +08:00
morris
5189f9af3c Merge branch 'feat/isp_crop_driver' into 'master'
feat(isp): support Crop driver on p4 rev3

Closes IDF-12216 and IDF-13933

See merge request espressif/esp-idf!42586
2025-11-14 15:53:52 +08:00
Michael (XIAO Xufeng)
167db20ca5 Merge branch 'feat/hw_support_dep_remove_c6' into 'master'
esp_hw_support: Removed unsed priv require

See merge request espressif/esp-idf!43177
2025-11-14 15:19:47 +08:00
Jiang Jiang Jian
eaa0e3ab77 Merge branch 'feat/support_p4_unicore_auto_clock_gating' into 'master'
feat(esp_hw_support): support unicore auto clock gating for esp32p4 rev3+

Closes IDF-13501

See merge request espressif/esp-idf!43321
2025-11-14 13:57:48 +08:00
Krzysztof Lewandowski
7c536b251b fix(nvs_sec_provider): Emit warning when nvs_keys partition is missing
- Instead of returning error (ESP_FAIL), which led to an abort
  in the startup
2025-11-14 10:24:00 +05:30
Mahavir Jain
fd01095f5c Merge branch 'fix/cert_bundle_stress_test_failure' into 'master'
Fix cert bundle stress test

Closes IDFCI-2754

See merge request espressif/esp-idf!43322
2025-11-14 09:40:20 +05:30
Wu Zheng Hui
53183f9294 Merge branch 'fix/fix_xtal32k_power_breaks_adc' into 'master'
fix(esp_system): fix XTAL32K power breaks ADC function on 32k XTAL clock pin

See merge request espressif/esp-idf!43208
2025-11-14 12:06:37 +08:00
Tan Yan Quan
2d022def21 fix(openthread): resolve deadlock issues due to switching_lock
* esp-openthread: thread_zigbee/esp-openthread@068a8f4d2
* openthread: espressif/openthread@36b14d3ef
* esp-idf: espressif/esp-idf@a7e81b99d
2025-11-14 03:18:46 +00:00
Jiang Jiang Jian
a7e81b99dd Merge branch 'bugfix/ftm_recalib_esp32c5' into 'master'
Re-calibrate FTM for ESP32-C5 (ECO2) to resolve status 5 failures

Closes WIFIBUG-1434

See merge request espressif/esp-idf!43254
2025-11-14 11:10:56 +08:00
Chen Ji Chang
2aff980290 Merge branch 'fix/mipi_dsi_phy_clk_type' into 'master'
fix(lcd): fix mipi dsi phy type for p4 version below 3.0

See merge request espressif/esp-idf!43327
2025-11-14 11:06:44 +08:00
morris
6bd8524115 feat(etm): support ETM driver on esp32h21 2025-11-14 10:40:40 +08:00
armando
a28d9869c1 feat(cache): use icache memroy as diram when single core 2025-11-14 10:35:39 +08:00
Chen Ji Chang
e2e0da1a26 Merge branch 'feat/esp_hal_pcnt' into 'master'
feat(hal): graudate the PCNT hal driver into a new component

Closes IDF-14098

See merge request espressif/esp-idf!43138
2025-11-14 10:34:57 +08:00
Jiang Jiang Jian
b7c549d111 Merge branch 'bugfix/fix_espnow_send_fail_when_coex_enable' into 'master'
fix(coex): fixed the espnow send fail when coex enable

Closes WIFIBUG-1538 and WIFIBUG-1436

See merge request espressif/esp-idf!43298
2025-11-14 10:21:50 +08:00
Marius Vikhammer
d209293856 feat(stdio): updated CMakelists.txt to support cmake v2 build system 2025-11-14 10:13:38 +08:00
Frantisek Hrbata
368e55a7bc fix(ldgen): use format specifiers instead of percent format
Resolve ruff's UP031 errors related to the use of percent formatting for
strings.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
e65807a901 fix(ldgen): ruff formating changes and copyright update
Changes generated by pre-commit related to ruff-format and an update to
the copyright date.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
a034ef8713 feat(build): add initial configuration for fast reflashing
Introduce ESPTOOLPY_FAST_REFLASHING configuration option. It instructs
ldgen to group entity mappings for libraries deemed mutable (prone to
change) separately from those considered immutable (unlikely to change).

Organizing mutable and immutable libraries separately in the linker
script allows the linker to form larger contiguous blocks of data for
immutable libraries in the application's output sections. These blocks
are likely to stay mostly unchanged between application recompilations,
enabling them to be skipped during reflashing.

Separating mutable and immutable libraries in the linker script to
minimize changes in the output sections is insufficient. Padding is
added after the input sections of mutable libraries in the default data
and text output sections. This creates a buffer for the mutable
libraries, allowing additional changes to be made without altering the
layout of the binary image.

Additionally two optimizations currently in use can still mix data from
these libraries, leading to significant changes even within the grouped
immutable libraries.

1. constant merging

    Linker will try to merge input sections that have the MERGE and
    STRING flags from different libraries (object files) to perform
    optimizations like tail merging. For example, adding a string
    literal in a mutable library will also change the addresses of
    string literals from immutable libraries in such a merged section,
    causing changes in the generated code when those literals are
    referenced.

    Disabled with COMPILER_DISABLE_MERGE_CONSTANTS(-fno-merge-constants)

2. literal pools on Xtensa

    As optimization, the linker may merge literal pools from different
    libraries (object files) to improve the generated code size. This
    has the same effect as constant merging, and changes in mutable
    libraries may cause changes in the generated code for immutable
    libraries. To get larger unchanged continuous blocks in the text
    output sections for immutable libraries, we need to ensure that the
    Xtensa literal pools remain close to their references and are not
    merged.

    Disabled with CONFIG_COMPILER_ENABLE_TEXT_SECTION_LITERALS(-mtext-section-literals)

When ESPTOOLPY_FAST_REFLASHING is enabled, these two optimizations are
disabled to achieve larger unchaged continuous blocks for the grouped
immutable libraries, even though disabling these optimizations results
in slightly larger code.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
1eceeaace2 feat(build): provide ldgen with a list of mutable libraries
The build system keeps track of each component source. Currently
there are four types of sources:

1. "project_components" - project components
2. "project_extra_components" - components from EXTRA_COMPONENT_DIRS
3. "project_managed_components" - custom project dependencies managed by the IDF Component Manager
4. "idf_components" - ESP-IDF built-in components, typically under /components

This can be used to identify the component libraries that are likely to
change during application development and pass them to ldgen as mutable
libraries. Add all components with "project_components" as their source
as mutable.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
8ac9e65f4f feat(ldgen): print entity tree in debug mode
Add the `--debug` option to print the entity tree to stdout. This can be
useful for viewing the entire entity tree state to identify potential
issues or incorrect placements.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
3d081f0e23 fix(ldgen/test): ruff formating changes and long lines
Changes generated by pre-commit related to ruff-format and fixed long
lines.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
61193678e5 feat(ldgen/test): add test class for mutable libraries
Add basis tests for mutable libraries.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
299e172fca feat(ldgen): place input sections from mutable libraries into mutable markers
Introduce a new `--mutable-libraries-file` option that accepts a file
containing the filenames of mutable libraries, each listed on a separate
line. Mutable libraries are component libraries expected to change
during development. In contrast, immutable component libraries are not
expected to change. In the generated linker script, the input sections
of mutable libraries are grouped together rather than being mixed with
those of immutable libraries. The goal is to create large continuous
areas in the ELF file's output sections that remain unchanged for
immutable libraries during application recompilation, allowing these
areas to be skipped during flashing.

The build system identifies the mutable libraries and passes them to
ldgen using the `--mutable-libraries-file` option. It maintains
information about component sources, one of which is
`project_components`. This source type identifies components that are
directly related to the project being developed and are very likely to
change.

Mappings for mutable libraries are explicitly created for all sections
in the default scheme. This happens before the entity
`(archive:object_file:symbol/input_section)` node tree with placements is
generated and is equivalent to having these mappings in the mapping
linker fragment. All placements for mappings, whether newly added or
already existing as defined in linker fragments, associated with mutable
libraries are flagged as `mutable` in the entity node tree. This flag
ensures that these placements are included in the final linker script.
Currently, ldgen only emits placements that are either significant or
forced. A placement is considered significant if, for example, it is not
already covered by a placement in parent node. For instance, `*(.iram1
.iram1.*)` placement already includes `*libapp_trace.a:(.iram1
.iram1.*)`, so the latter is not emitted by default. The `mutable` flag
ensures that placements for mutable libraries are emitted in the linker
script and placed at dedicated location.

The locations where placements for mutable libraries are specified in
the linker script are identified by a new `mutable` marker, for example,
`mutable[flash_text]`. The placements for immutable libraries remain in
the existing `mapping` marker, for example, `mapping[flash_text]`. The
`mutable` marker for each target is placed after the `mapping` marker.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:42 +01:00
Frantisek Hrbata
2ade22ff85 feat(esp_system): add mutable markers to sections.ld.in templates
Entity mappings for immutable libraries are placed in the existing
`mapping[target]` marker, while those for mutable libraries are placed
in the new `mutable[target]` marker, which comes after the `mapping`
marker. Additionally, include padding after the input sections of
mutable libraries in the default data and text output sections,
providing a headroom for the mutable libraries to grow.  Padding is
currently not added, for example, in the `.iram0.data` output section,
which is not expected to change frequently. Padding for other mutable
input sections may be added in the future.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-13 15:30:36 +01:00
Mahavir Jain
4a53c4e651 Merge branch 'bugfix/esp32c5_encrypted_flash_write_v2' into 'master'
fix(esp_system): limit CPU clock to 160MHz in ESP32-C5 for flash encryption

See merge request espressif/esp-idf!43301
2025-11-13 18:01:04 +05:30
David Cermak
433341c9fc fix(examples): Fix unclear comments in sta-eth bridge example
Closes https://github.com/espressif/esp-idf/issues/13461
2025-11-13 13:25:44 +01:00
Chen Jichang
b3e48fd001 test(parlio): fix sleep test issue 2025-11-13 19:01:49 +08:00
Island
a365e7984a Merge branch 'feat/ble_mesh_lib_log_output_opt' into 'master'
feat(ble_mesh): add ext log initialization functions

Closes BLERP-2336

See merge request espressif/esp-idf!42926
2025-11-13 18:11:35 +08:00
Laukik Hase
9ee468a096 Merge branch 'feat/tee_c61_examples_and_docs' into 'master'
feat(esp_tee): Enable ESP-TEE examples and documentation for ESP32-C61

Closes IDF-14254 and IDF-14255

See merge request espressif/esp-idf!43251
2025-11-13 15:18:42 +05:30
Jiang Jiang Jian
388ec4cd6d Merge branch 'ci/rename_wifi_two_duts' into 'master'
ci: rename wifi_two_dut to two_duts

See merge request espressif/esp-idf!43269
2025-11-13 16:54:51 +08:00
Akshat Agrawal
342c82fe95 bugfix(wifi): Re-calibrate FTM for ESP32-C5 (ECO2) 2025-11-13 14:24:20 +05:30
Ondrej Kosta
f39c0633d3 fix(esp_eth): maked esp_eth_test_l2 more robust 2025-11-13 09:53:49 +01:00
Jiang Jiang Jian
f7c694ecc3 Merge branch 'ci/fix_wifi_sdkconfig_ci' into 'master'
ci: fix sdkconfig.ci.xxx for wifi examples

See merge request espressif/esp-idf!43293
2025-11-13 16:53:30 +08:00
Chen Jichang
4989cc9266 feat(hal): move i2c_periph.h to hal folder 2025-11-13 16:52:47 +08:00
Chen Jichang
3daafd870f feat(hal): graudate the PCNT hal driver into a new component 2025-11-13 16:52:45 +08:00
Chen Jichang
893b1ea2f1 fix(lcd): fix mipi dsi phy type for p4 version below 3.0 2025-11-13 16:35:07 +08:00
Wang Meng Yang
3c447d998d Merge branch 'bugfix/fix_hid_memory_leak' into 'master'
fix(bt/bluedroid): Fixed HID memory leak

Closes BTQABR2023-602

See merge request espressif/esp-idf!43118
2025-11-13 16:30:47 +08:00
Wang Meng Yang
80961aa3f4 Merge branch 'bugfix/bluetooth_chan_map_error' into 'master'
fix(bt/controller): fixed Bluetooth hardware error of 'CHMAP_ERROR'

See merge request espressif/esp-idf!43201
2025-11-13 15:24:54 +08:00
Guilherme Ferreira
7b8ad5deb1 Merge branch 'refact/split-hal-emac' into 'master'
refactor(hal): graduate emac hal into a new component

Closes IDF-14088

See merge request espressif/esp-idf!43058
2025-11-13 15:12:43 +08:00
harshal.patil
25fe0d6786 test(examples): Fix cert bundle stress test 2025-11-13 12:34:56 +05:30
wuzhenghui
83d91a153d feat(esp_hw_support): support unicore auto clock gating for esp32p4 rev3+ 2025-11-13 14:30:55 +08:00
Jiang Jiang Jian
5004daabca Merge branch 'feat/avoid_disconnect_when_set_bandmode' into 'master'
feat(wifi): avoid disconnect when set band mode and fix some wifi bugs

Closes WIFIBUG-1532

See merge request espressif/esp-idf!43073
2025-11-13 13:46:34 +08:00
Armando (Dou Yiwen)
828aea712e Merge branch 'feat/psram_250m_p4' into 'master'
psram: support 250MHz in experimental

See merge request espressif/esp-idf!32066
2025-11-13 05:05:34 +00:00
Harshal Patil
0debe71b3d Merge branch 'feat/flash_enc_using_key_manager' into 'master'
Support Flash Encryption using Key Manager

Closes IDF-13462 and IDF-14278

See merge request espressif/esp-idf!41879
2025-11-13 07:55:15 +05:30
glmfe
b4d7ede1c3 fix(network): Fix Sniffer Build with SD Card
- Added sdkConfig to cover all available SoC's
 - Defaults to the official devkit with Micro SD Card Available (ESP32 ESP-WROVER-KIT)
2025-11-12 23:05:19 -03:00
Chen Chen
61d363fd58 feat(isp): support Crop driver on p4 rev3
Add support for crop driver on p4eco5 and update example in
`isp/multi_pipelines`
2025-11-13 08:47:11 +08:00