Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Grokhotkov e0b60fcf06 ci: don't download artifacts in check_submodule_sync 2026-08-18 13:56:26 +02:00
Ivan Grokhotkov d3766ffdea Merge branch 'feature/build-file-command' into 'master'
feat: add idf.py build-file command for standalone C files

Closes IDF-15453

See merge request espressif/esp-idf!47618
2026-07-22 10:34:38 +02:00
Ivan GrokhotkovandClaude Fable 5 16275df0a1 feat: add idf.py build-file command for standalone C files
Add a new idf.py extension that allows building standalone C files
without requiring full project boilerplate. Source files can include
optional YAML frontmatter in block comments to specify sdkconfig
options, component dependencies, and target configuration.

When the frontmatter configuration changes, the stale sdkconfig is
removed so the new defaults are applied, and a target change also
clears the build directory since IDF_TARGET is pinned in the CMake
cache.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 22:04:41 +02:00
Ivan Grokhotkov 560fb2ab99 Merge branch 'feature/lto-take-2' into 'master'
feat(build): add options to enable link-time optimization (LTO)

Closes IDF-71 and IDFGH-17838

See merge request espressif/esp-idf!50002
2026-07-15 10:45:06 +02:00
Ivan Grokhotkov 9bfd2c0b24 fix(gitlab): correct link to codeowners syntax 2026-05-25 15:41:12 +02:00
Ivan Grokhotkov 0c4afc54fa Merge branch 'ci/switch_to_v6.2' into 'master'
Start of v6.2 development

See merge request espressif/esp-idf!48841
2026-05-25 15:06:59 +02:00
Ivan Grokhotkov 6589ba9bbb change(version): Update version to v6.2-dev
Start of v6.2 development.
2026-05-25 14:16:08 +02:00
Ivan Grokhotkov 1efaa9a087 Merge branch 'feature/update-qemu-to-esp_develop_9.2.2_20260417' into 'master'
feat(tools): update qemu version to esp_develop_9.2.2_20260417

See merge request espressif/esp-idf!47766
2026-05-21 20:28:55 +02:00
Ivan Grokhotkov 0aa8b1ce13 Merge branch 'ci/github-dangerjs-fix-permissions' into 'master'
ci(github): fix permissions for GitHub-dangerjs (to content read)

See merge request espressif/esp-idf!47913
2026-04-24 09:24:48 +02:00
Ivan Grokhotkov cb4b3da877 Merge branch 'feature/add-api-compatibility-ci-job' into 'master'
ci: add API compatibility check job for merge requests

Closes IDF-8483

See merge request espressif/esp-idf!45963
2026-03-09 09:12:50 +01:00
Ivan Grokhotkov 78ae7ab085 feat(build): add idf.py support for CMake configuration presets
This commit adds a new idf.py --preset NAME argument, which allows
selecting the CMake configuration preset with a given name.
For idf.py, selecting the preset does two things:
- sets the build directory, which is specified in the preset itself
  using "binaryDir" field
- passes --preset argument to CMake configuration phase

The multi_config example is updated to illustrate how this feature is
expected to be used.
2025-10-29 11:47:40 +08:00
Ivan Grokhotkov 0367cfea8e Merge branch 'feature/rename-bootloader_ld' into 'master'
change(bootloader): rename bootloader.ld -> bootloader.ld.in

Closes IDF-9793

See merge request !42014
2025-09-23 23:20:15 +02:00
Ivan Grokhotkov c4f907a62c Merge branch 'feature/update-toolchain-to-esp-15.2.0_20250920' into 'master'
feat(tools): update toolchain version to esp-15.2.0_20250920

See merge request !42056
2025-09-23 23:14:27 +02:00
Ivan Grokhotkov 714b7445e2 Merge branch 'feature/update-gdb-to-16.3_20250913'
feat(tools): update gdb version to 16.3_20250913

See merge request !41877
2025-09-17 11:14:05 +02:00
Ivan Grokhotkov 0d10158016 Merge branch 'feature/rename-newlib-to-esp_libc' into 'master'
change(esp_libc): rename newlib component to esp_libc

Closes IDF-11226

See merge request espressif/esp-idf!41584
2025-09-11 09:34:43 +02:00
Ivan Grokhotkov 139236741c Merge branch 'feature/update-qemu-to-esp_develop_9.2.2_20250817' into 'master'
feat(tools): update qemu version to esp_develop_9.2.2_20250817

See merge request espressif/esp-idf!41381
2025-08-22 17:18:28 +02:00
Ivan Grokhotkov 17fd3133d9 fix(tools): use nvram.esp32s3.efuse device in qemu_ext.py
Related to https://github.com/espressif/esp-idf/issues/17258
2025-08-22 11:20:15 +02:00
Ivan Grokhotkov cd1bfdd463 fix(tools): pre-commit fixes for qemu_ext.py 2025-08-22 11:18:06 +02:00
Ivan Grokhotkov e8157d8fde feat(tools): enable PSRAM by default in "idf.py qemu" for ESP32-S3 2025-08-22 11:17:38 +02:00
Ivan Grokhotkov 1c6c901730 Merge branch 'feature/api_check_prereq' into 'master'
change(tools): export esp-clang-libs location as ESP_CLANG_LIBS_PATH

See merge request espressif/esp-idf!41144
2025-08-20 00:48:20 +02:00
Ivan Grokhotkov a939f410dd Merge branch 'bugfix/ldgen_prebuilt_library_placements' into 'master'
build: pass pre-built libraries to ldgen, clean up how blobs are added

Closes IDF-12049 and IDF-12736

See merge request espressif/esp-idf!40353
2025-08-19 10:50:31 +02:00
Ivan Grokhotkov d9b6d4ed17 change(tools): export esp-clang-libs location as ESP_CLANG_LIBS_PATH
This allows tools which depend on libclang to find the library
location.
2025-08-19 10:48:41 +02:00
Ivan Grokhotkov 83ac9be085 Merge branch 'fix/bootloader_secure_boot_target_not_created' into 'master'
fix(bootloader): Fixed bootloader secure boot target creation failure

See merge request espressif/esp-idf!40732
2025-07-21 13:22:12 +02:00
Ivan Grokhotkov a5d53fc6a6 Merge branch 'doc/remove_cpp_section_placement_limitation' into 'master'
docs(cplusplus): remove the limitation on IRAM_ATTR for templates

See merge request espressif/esp-idf!40688
2025-07-21 05:58:07 +02:00
Ivan Grokhotkov 5b71cc29bd docs(cplusplus): remove the limitation on IRAM_ATTR for templates
The issue has been fixed since GCC 14.

Related to https://github.com/espressif/esp-idf/issues/4542
2025-07-18 14:16:25 +08:00
Ivan Grokhotkov f45154b347 change(bt): use add_prebuilt_library to add blobs 2025-07-17 15:10:16 +08:00
Ivan Grokhotkov 71f481e9ae change(esp_phy): use add_prebuilt_library to add blobs 2025-07-17 15:10:16 +08:00
Ivan Grokhotkov 425ff5f03f change(esp_wifi): use add_prebuilt_library to add blobs 2025-07-17 09:33:21 +08:00
Ivan Grokhotkov 47f695a930 change(xtensa): use add_prebuilt_library to add blobs 2025-07-17 09:33:21 +08:00
Ivan Grokhotkov 1a8a573ea8 test(ldgen): add test for placements of symbols in prebuilt libraries 2025-07-17 09:33:21 +08:00
Ivan Grokhotkov e76e0673fc change(cmake): targets created by add_prebuilt_library are now GLOBAL
This allows the prebuilt libraries to be processed by ldgen.
2025-07-17 09:33:20 +08:00
Ivan Grokhotkov 4dee9df0e7 Merge branch 'bugfix/tools_qemu_esp32s3' into 'master'
fix(toolchain): install qemu-xtensa if esp32s3 target is requested

See merge request espressif/esp-idf!37364
2025-07-14 12:04:08 +02:00
Ivan Grokhotkov 90518119d4 Merge branch 'contrib/github_pr_15974' into 'master'
fix(tools/idf-qemu): Append qemu_extra_args after monitor -serial not before (GitHub PR)

Closes IDFGH-15315

See merge request espressif/esp-idf!39257
2025-07-14 12:03:22 +02:00
Ivan Grokhotkov 441b801bc8 Merge branch 'fix/latest_tag_v6' into 'master'
fix(ci): Fix the latest tag to master's v6.0-dev

See merge request espressif/esp-idf!39413
2025-06-02 17:01:57 +02:00
Ivan Grokhotkov 09bb3c4572 fix(toolchain): install qemu-xtensa if esp32s3 target is requested
Related to https://github.com/espressif/vscode-esp-idf-extension/issues/1404
2025-05-26 11:29:10 +02:00
Ivan Grokhotkov 806ee244c4 change(qemu_ext): ruff pre-commit fixes
Fixup of https://github.com/espressif/esp-idf/pull/15974
2025-05-26 11:27:29 +02:00
Ivan Grokhotkov 7f6e7f4506 Merge branch 'version/v6.0.0' into 'master'
change(version): Update version to v6.0-dev

See merge request espressif/esp-idf!38889
2025-05-12 23:56:30 +02:00
Ivan Grokhotkov f89d6ee5a0 change(version): Update version to v6.0-dev 2025-05-12 11:39:42 +02:00
Ivan GrokhotkovandMarius Vikhammer f019c5d549 change(docs): silence new Sphinx warnings after Doxygen upgrade
Co-authored-by: Marius Vikhammer <marius.vikhammer@espressif.com>
2025-05-12 11:39:41 +02:00
Ivan Grokhotkov 7023b489a7 change(examples): temp. disable examples which need esp_wifi_remote
Will be re-enabled after adding IDF 6.0 compatibility in
esp_wifi_remote.
2025-05-12 11:39:41 +02:00
Ivan Grokhotkov 236200a93f change(examples): remove idf version dependency 2025-05-12 11:39:41 +02:00
Ivan Grokhotkov 0680c94951 Merge branch 'ci/update_codeowners_testing_framework' into 'master'
ci(owners): update codeowners for testing components

See merge request espressif/esp-idf!37471
2025-04-23 19:39:58 +08:00
Ivan Grokhotkov 34afa1948f Merge branch 'bugfix/ldgen_cmake_interface_libs' into 'master'
fix(build): query correct property for interface libraries

See merge request espressif/esp-idf!38401
2025-04-16 19:44:15 +08:00
Ivan Grokhotkov 977d841229 fix(build): query correct property for interface libraries
431ee5c058 has changed the way ldgen works by introducing the
recursive lookup of component libraries reachable from the executable.
The implementation incorrectly queried LINK_LIBRARIES instead of the
INTERFACE_LINK_LIBRARIES property for INTERFACE targets.
2025-04-15 10:23:20 +02:00
Ivan Grokhotkov d38c05c10c Merge branch 'refactor/ldgen_library_deps' into 'master'
refactor(cmake): collect libraries from ELF, don't depend on idf_build_target

Closes IDF-10772

See merge request espressif/esp-idf!34520
2025-04-11 21:02:06 +08:00
Ivan Grokhotkov 431ee5c058 refactor(cmake): collect libraries from ELF, don't depend on idf_build_target 2025-04-11 14:00:56 +02:00
Ivan Grokhotkov f7b977b405 test(sdmmc): add test for high-prio task busy while writing
Related to https://github.com/espressif/esp-idf/issues/13934
2025-03-11 10:51:06 +08:00
Ivan Grokhotkov 335027b731 fix(sdmmc): move DMA descriptor refilling into the ISR
Previously, as DMA descriptors were processed, the task performing
SDMMC transfer would get woken up and would refill the descriptors.
This design didn't work correctly when higher priority tasks occupied
the CPU for too long, resulting in SDMMC transfer timing out.

This change moves DMA descriptor refilling into SDMMC ISR. Now the
"DMA done" interrupt is delivered back to task context only when
the entire transfer is completed.

Closes https://github.com/espressif/esp-idf/issues/13934
2025-03-11 10:51:06 +08:00
Ivan Grokhotkov 83eaa261af Merge branch 'bugfix/sdmmc_reset_pins_slot_width_v2' into 'master'
fix(sdmmc): fix missed deinitialization of CD and WP pins

See merge request espressif/esp-idf!37033
2025-02-18 19:22:25 +08:00
Ivan Grokhotkov 6f49122b74 fix(sdmmc): fix missed deinitialization of CD and WP pins in f8f40ad
Related to https://github.com/espressif/esp-idf/issues/15330
2025-02-17 16:21:30 +01:00
Ivan Grokhotkov f8f40ad94f fix(sdmmc): fix reset of pins above slot width
Closes https://github.com/espressif/esp-idf/issues/15328
2025-02-04 12:01:04 +01:00
Ivan Grokhotkov e06c234625 Merge branch 'bugfix/opencores_emac_macaddr' into 'master'
fixes for MAC address setting in openeth driver

See merge request espressif/esp-idf!35512
2024-12-13 20:17:56 +08:00
Ivan Grokhotkov 6d06f5fe44 fix(esp_eth): fix openeth driver to consider MAC address set in QEMU
Openeth driver did not consider the possibility that the MAC address
was specified when launching QEMU, and would always overwrite that
address with the address obtained from esp_read_mac.
When running QEMU, setting the MAC address via QEMU arguments is more
convenient than crafting an eFuse file with the correct MAC address.
This change modifies openeth driver to first check if an address has
been set in QEMU and uses it if so. Otherwise it falls back to the
address obtained from esp_read_mac.

As part of this change, also removed the unnecessary variable
emac_opencores_t::addr, the address is only kept in the registers of
the emulated peripheral now.

For full effect this also requires changes in QEMU, see
https://github.com/espressif/qemu/issues/107 for background. Without
changes in QEMU, this commit keeps the same behavior.
2024-12-10 12:29:10 +01:00
Ivan Grokhotkov 58f2dd5a66 fix(protocol_examples_common): don't override MAC address for openeth
The intention of the code block was to set MAC address for SPI
Ethernet modules, however !CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET also
affected the case of CONFIG_EXAMPLE_USE_OPENETH.
This commit corrects the code to match the original intention.

Related to https://github.com/espressif/qemu/issues/107
2024-12-09 10:51:19 +01:00
Ivan Grokhotkov 37652904b4 Merge branch 'feature/std_filesystem_supported' into 'master'
storage: make std::filesystem supported

Closes IDFGH-13239, IDFGH-13431, and IDFGH-12755

See merge request espressif/esp-idf!33826
2024-12-04 18:18:54 +08:00
Ivan GrokhotkovandShen Meng Jing b2137e5e70 docs(cxx): add a section about std::filesystem limitations
Co-authored-by: Shen Meng Jing <shenmengjing@espressif.com>
2024-12-03 15:32:58 +01:00
Ivan Grokhotkov 2ca6d2d4b4 feat(storage): add a test app for std::filesystem features 2024-12-03 15:32:58 +01:00
Ivan Grokhotkov a1042c0cc2 feat(fatfs): add support for a few fcntl commands 2024-12-03 15:32:58 +01:00
Ivan Grokhotkov 684d3e6d01 feat(newlib): add dummy implementations of pathconf, chmod, dirfd
Closes https://github.com/espressif/esp-idf/issues/14174
2024-12-03 15:32:57 +01:00
Ivan Grokhotkov 4d75d2d487 Merge branch 'bugfix/protocols_examples_common_driver_dep' into 'master'
remove leftover dependencies on `driver` component

See merge request espressif/esp-idf!33548
2024-11-14 22:21:57 +08:00
Ivan Grokhotkov c7f32f80f4 feat(tools): autocomplete @-arguments of idf.py with file names 2024-11-13 11:50:48 +01:00
Ivan Grokhotkov c9bf5d9698 feat(sdmmc): support for voltage switching in protocol layer 2024-11-12 15:39:42 +08:00
Ivan Grokhotkov c41cead036 change(sdmmc): enable UHS-1 support in test_app, swap slots on P4 EV board 2024-11-12 15:39:42 +08:00
Ivan Grokhotkov f5f46ab74c change(sdmmc): adapt host state machine for CMD11, commit reg/struct files 2024-11-12 15:39:42 +08:00
Ivan Grokhotkov 98f1dd969a change(sdmmc): disable the logic related to D3 line, it needs to be connected for CMD11 to work 2024-11-12 15:39:41 +08:00
Ivan Grokhotkov 2b29de78bb change(sdmmc): allow speciying pins for IOMUX slots as well 2024-11-12 15:39:41 +08:00
Ivan Grokhotkov 3107f0abe7 change(sdmmc): make sdmmc_host_clock_update_command compatible with CMD11 2024-11-12 15:39:41 +08:00
Ivan Grokhotkov 68e9bcbf1e fix(build): clean up dependencies on driver component 2024-11-07 13:09:23 +01:00
Ivan Grokhotkov 1d89e14433 Merge branch 'version/v5.5.0' into 'master'
Update version to v5.5-dev

See merge request espressif/esp-idf!34479
2024-10-28 23:57:02 +08:00
Ivan Grokhotkov 52496491f8 change(ci): update LATEST_GIT_TAG to v5.5-dev 2024-10-28 10:34:21 +01:00
Ivan Grokhotkov d998d76627 change(version): Update version to v5.5-dev 2024-10-28 10:17:21 +01:00
Ivan Grokhotkov 2bb613c50f Merge branch 'feature/gdbstub_fpu' into 'master'
GDBstub: add handling of FPU for Xtensa CPU.

See merge request espressif/esp-idf!25482
2024-09-27 18:28:25 +08:00
Ivan Grokhotkov 69f74c34a2 fix(examples): remove stray EXTRA_COMPONENT_DIRS, fix check 2024-09-25 12:50:23 +02:00
Ivan Grokhotkov 0a2dc3b2d6 Merge branch 'doc/sdmmc_emmc_support' into 'master'
docs(sdmmc): update information about eMMC support

Closes DOC-8906

See merge request espressif/esp-idf!33022
2024-09-10 22:06:33 +08:00
Ivan Grokhotkov f789b4eb45 Merge branch 'bugfix/build_test_better_errors' into 'master'
test(build_system): print failed command and output when test fails

See merge request espressif/esp-idf!32962
2024-09-10 15:18:41 +08:00
Ivan GrokhotkovandZhang Shu Xian 71fe7543f1 docs(sdmmc): update information about eMMC support
Related to https://esp32.com/viewtopic.php?f=13&t=41088

Co-authored-by: Zhang Shu Xian <zhangshuxian@espressif.com>
2024-09-10 09:14:54 +02:00
Ivan Grokhotkov 5e9ac5bdf7 test(build_system): print failed command and output when test fails 2024-08-22 13:59:43 +02:00
Ivan Grokhotkov 0773caf283 Merge branch 'feature/idf_py_efuse_qemu' into 'master'
feat(idf.py): support efuse-related commands in QEMU

Closes QEMU-193

See merge request espressif/esp-idf!29809
2024-08-21 16:13:54 +08:00
Ivan Grokhotkov 5ef75d5073 Merge branch 'bugfix/reproducible_builds_improvements' into 'master'
build system: reproducible build improvements

Closes IDFGH-12690

See merge request espressif/esp-idf!32734
2024-08-16 19:02:40 +08:00
Ivan Grokhotkov 7b228ce8ab feat(idf.py): allow running idf.py efuse-* commands with QEMU 2024-08-15 16:57:08 +02:00
Ivan Grokhotkov cbc52e7d30 test(build_system): check reproducible builds with spaces in paths 2024-08-15 16:41:32 +02:00
Ivan Grokhotkov bef4cb05ff fix(build_system): fix toolchain sysroot directory affecting builds
Closes https://github.com/espressif/esp-idf/issues/13680
2024-08-15 16:41:31 +02:00
Ivan Grokhotkov 50244f4c79 Merge branch 'bugfix/sdio_intr_coex' into 'master'
fix(sdmmc): don't disable SDIO interrupts when switching slots

See merge request espressif/esp-idf!32790
2024-08-13 19:24:32 +08:00
Ivan Grokhotkov 6db8c98e90 Merge branch 'bugfix/missing_component_check' into 'master'
fix(cmake): report correct error on unknown component name

See merge request espressif/esp-idf!32062
2024-08-13 16:06:50 +08:00
Ivan Grokhotkov c521fcb6fd fix(cmake): report correct error on unknown component name
Previously the error message was

CMake Error at /home/user/esp-idf/tools/cmake/build.cmake:296 (__component_get_property):
  __component_get_property Function invoked with incorrect arguments for
  function named: __component_get_property
Call Stack (most recent call first):
  /home/user/esp-idf/tools/cmake/build.cmake:341 (__build_resolve_and_add_req)
  /home/user/esp-idf/tools/cmake/build.cmake:638 (__build_expand_requirements)
  /home/user/esp-idf/tools/cmake/project.cmake:710 (idf_build_process)
  CMakeLists.txt:6 (project)

Now it will be:

CMake Error at /home/user/esp-idf/tools/cmake/build.cmake:298 (message):
  Failed to resolve component 'whatever' required by component 'main'.
Call Stack (most recent call first):
  /home/user/esp-idf/tools/cmake/build.cmake:345 (__build_resolve_and_add_req)
  /home/user/esp-idf/tools/cmake/build.cmake:642 (__build_expand_requirements)
  /home/user/esp-idf/tools/cmake/project.cmake:710 (idf_build_process)
  CMakeLists.txt:6 (project)

Also improved the hint to show the component name in quotes.
2024-08-12 17:54:44 +02:00
Ivan Grokhotkov 8a9d3076d7 fix(sdmmc): don't disable SDIO interrupts when switching slots 2024-08-12 14:18:29 +02:00
Ivan Grokhotkov 1c343d8923 change(build_system): refactor reproducible build handling
- remove generate_debug_prefix_map.py, move its logic into CMake
- move all reproducible builds logic into a new file, prefix_map.cmake
2024-08-12 13:26:33 +02:00
Ivan Grokhotkov 1c1b7db361 Merge branch 'bugfix/check_system_init_priorities_sorting' into 'master'
fix(esp_system): sort system init priorities also by filename

See merge request espressif/esp-idf!32678
2024-08-12 05:02:20 +08:00
Ivan Grokhotkov fc4c445643 test(build_system): move reproducible build test to pytest 2024-08-11 20:24:03 +02:00
Ivan Grokhotkov d6edcba3b6 test(build_system): extract file helpers, add 'bin_files_differ'
- Move file-related functions bin_file_contains and file_contains
  from idf_utils.py and existing functions from editing.py into a new
  file file_utils.py
- Add a function 'bin_files_differ' to compare binary files
2024-08-11 20:23:27 +02:00
Ivan Grokhotkov 3577900915 fix(esp_system): sort system init priorities also by filename 2024-08-11 20:21:35 +02:00
Ivan Grokhotkov c5f4eb7442 Merge branch 'ci/disable_dangerjs_releasenote_check' into 'master'
change(ci): disable dangerjs checker for release notes

See merge request espressif/esp-idf!32557
2024-08-05 17:30:02 +08:00
Ivan Grokhotkov 0ca8567bb6 change(ci): disable dangerjs checker for release notes 2024-08-02 11:56:38 +02:00
Ivan Grokhotkov ec66ecb176 ci(sdmmc): switch to usb_serial_jtag in the test app for P4
New CI runners use usb_serial_jtag, update configuration to match this.
2024-07-31 15:37:11 +02:00
Ivan Grokhotkov d146fb5b84 Merge branch 'bugfix/build_with_clang' into 'master'
fix build errors with clang

Closes IDFGH-13238

See merge request espressif/esp-idf!32099
2024-07-15 21:40:40 +08:00
Ivan Grokhotkov 3d0b507346 fix(ieee802154): fix linker error due to static function being inlined
When the compiler decides to inline a static function, linker script
generator will complain about the missing function.
2024-07-12 14:51:49 +02:00
Ivan Grokhotkov 6c2824bdaa ci(clang): include all components in clang_build_test 2024-07-12 13:58:18 +02:00
Ivan Grokhotkov df65b3829e fix(usb): variable declaration after label for clang 2024-07-12 13:58:18 +02:00
Ivan Grokhotkov c921824230 fix(wifi_provisioning): fix var declarations inside switch for clang 2024-07-12 13:58:18 +02:00
Ivan Grokhotkov 728136a91d fix(esp_eth): fix variable declarations inside switch for clang 2024-07-12 12:14:32 +02:00