Commit Graph

7346 Commits

Author SHA1 Message Date
morris 6c968cee04 Merge branch 'feature/p4_eco5_real_chip' into 'master'
p4: p4 eco5 real chip

Closes IDF-13574 and IDF-13410

See merge request espressif/esp-idf!41396
2025-08-29 10:59:28 +08:00
Sudeep Mohanty 5eb8e746fc Merge branch 'fix/build_system_create_bin_gen_tgts' into 'master'
feat(build-system): Create build system hooks for post-elf processing

Closes IDFGH-16204

See merge request espressif/esp-idf!41097
2025-08-28 14:35:21 +02:00
armando 179d00a6f8 feat(p4): p4 rev3 real chip support 2025-08-28 17:56:16 +08:00
Alexey Lapshin 28ced4efad fix(config): actualize newlib Kconfig options 2025-08-28 12:25:09 +08:00
Alexey Lapshin 4ecb6c4f9f Merge branch 'change/remove_roms_json_from_tools' into 'master'
move roms json from tools to components

Closes IDF-11693

See merge request espressif/esp-idf!41436
2025-08-28 07:12:44 +04:00
Alexey Lapshin c7db23458e Merge branch 'feature/gdbstub_q_and_xesppie_registers_support' into 'master'
GDBStub: riscv: support f- and q-registers

Closes IDF-7279 and IDF-12552

See merge request espressif/esp-idf!37484
2025-08-28 04:45:47 +04:00
Erhan Kurubas a4e06f0792 test(app_trace): add SystemView UART tracing tests for all targets 2025-08-27 13:44:16 +03:00
Alexey Lapshin 9958287a64 feat(gdbstub): add f- and q-registers support 2025-08-27 14:45:06 +07:00
Alexey Lapshin ecc37c12d7 feat(build): enable -mtune=esp-base option for RISC-V targets
The `-mtune=esp-base` option is identical to the default tuning profile,
except that `slow_unaligned_access` is set to false.

This reduces the instruction count for built-in `memcpy` and improves
performance, since our chips can handle misaligned access with minimal
penalty (without triggering exceptions).

Example:

  void load(uint32_t *r, char* x) {
    memcpy(r, x, sizeof(uint32_t));
  }
  void store(char* x, uint32_t v) {
    memcpy(x, &v, sizeof(uint32_t));
  }

Previously generated code:

  load:
        lbu     a5,2(a1)
        lbu     a3,0(a1)
        lbu     a4,1(a1)
        sb      a5,2(a0)
        sb      a3,0(a0)
        sb      a4,1(a0)
        lbu     a5,3(a1)
        sb      a5,3(a0)
        ret
  store:
        srli    a3,a1,8
        srli    a4,a1,16
        srli    a5,a1,24
        addi    sp,sp,-16
        sb      a1,0(a0)
        sb      a3,1(a0)
        sb      a4,2(a0)
        sb      a5,3(a0)
        addi    sp,sp,16
        jr      ra

With `-mtune=esp-base`:

  load:
        lw      a5,0(a1)
        sw      a5,0(a0)
        ret
  store:
        sw      a1,0(a0)
        ret

Inlining behavior
=================

Without `-mtune=esp-base`:
  - `memcpy()` is inlined only when the compile-time size is ≤ 12 bytes.
    - Maximum cost: ~25 instructions

With `-mtune=esp-base`:
  - `memcpy()` is inlined for all compile-time constant sizes.
    - Maximum cost: ~14 instructions

As a result, some applications may see reduced code size, while others
may increase slightly. However, performance always improves because
extra `memcpy` calls are eliminated.

Performance results
===================

esp32p4 (Ethernet iperf):
  - No noticeable difference

esp32c61 (Wi-Fi iperf):
  - ~2 Mb/s increase for TCP and UDP TX (may be within measurement error)

NOTE
====

Applies only to RISC-V chips that do not have the hardware issue marked
by the SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE macro.
2025-08-27 12:46:41 +07:00
Fu Hanxi b111672f42 Merge branch 'fix/kconfig-optional-dependency' into 'master'
fix(build): pass sdkconfig.json during injection to add kconfig optional dependencies correctly

See merge request espressif/esp-idf!41470
2025-08-26 16:38:52 +02:00
Fu Hanxi de098b9a5f Merge branch 'fix/menuconfig-reload-sdkconfig-json' into 'master'
fix: make sure sdkconfig.json is updated after running the menuconfig

See merge request espressif/esp-idf!41495
2025-08-26 16:36:54 +02:00
Jakub Kocka 2affbb9509 refactor(tools): Updated tests to corespond with massage changes 2025-08-26 13:50:45 +02:00
Jakub Kocka 7b65c5e0b7 refactor(tools): Strings to f-strings conversion an other pre-commit issues 2025-08-26 13:50:45 +02:00
Jakub Kocka f1143b0b93 fix(tools): Fixed click function usage to solve deprecation issue 2025-08-26 13:50:45 +02:00
Jakub Kocka c568e3e3de fix(tools): Avoided using the click's deprecated __version__ 2025-08-26 13:50:45 +02:00
Marius Vikhammer 1f0152dd3c Merge branch 'feature/cdcacm_vfs_comp' into 'master'
feat(usb_cdc_console): moved usb-cdc ROM console to new component: esp_usb_cdc_rom_console

Closes IDF-13797

See merge request espressif/esp-idf!41040
2025-08-26 10:40:08 +08:00
Fu Hanxi 7b81a731e2 ci: increase build timeout 2025-08-25 17:02:34 +02:00
Fu Hanxi d65e0e39c6 fix: make sure sdkconfig.json is updated after running the menuconfig 2025-08-25 14:48:58 +02:00
Fu Hanxi 60e9ec429d fix: kconfig optional dependency in transitive dependency 2025-08-25 14:32:05 +02:00
Peter Dragun 7d19c310c1 Merge branch 'feat/esptool_v5_minimal' into 'master'
Feat: Add minimal esptool v5 support

See merge request espressif/esp-idf!41314
2025-08-25 16:28:51 +08:00
Alexey Lapshin 54ba54b457 change(esp_rom): move roms.json from tools to esp_rom component 2025-08-25 10:52:08 +07: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
Gao Xu 9dc7d37043 Merge branch 'h21_mp_soc_update' into 'master'
feat(h21_mp): update H21_MP soc headers

See merge request espressif/esp-idf!41224
2025-08-22 15:12:24 +08:00
Marius Vikhammer 56e0c11bb6 feat(usb_cdc_console): moved usb-cdc ROM console to new component: esp_usb_cdc_rom_console 2025-08-22 09:37:47 +08:00
Peter Dragun eba6b814ba feat: Add support for esptool v5 and keep v4 for now 2025-08-21 15:53:39 +02:00
Peter Marcisovsky 350f88e69b Merge branch 'fix/usb_host_full_mock_component_dir' into 'master'
fix(usb_host): Fixing USB Component mock component dir

See merge request espressif/esp-idf!41404
2025-08-21 08:58:33 +02:00
Chen Jichang f041954ec3 change(ci): update regex to match soc headers in check_public_header.py 2025-08-21 14:19:41 +08:00
morris 09fce0cf2a Merge branch 'refactor/etm_driver_soc_caps' into 'master'
refactor(etm): clean up soc macros && enhance thread safety

Closes IDF-13634

See merge request espressif/esp-idf!41201
2025-08-21 10:19:19 +08:00
peter.marcisovsky b61f60ab6a fix(usb_host): Fixing USB Component mock component dir 2025-08-20 09:22:02 +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
Roland Dobai 86fc2e116f Merge branch 'revert/legacy_export_scripts' into 'master'
revert(tools): Revert backup option to use legacy export scrips

Closes IDF-11027

See merge request espressif/esp-idf!41309
2025-08-19 16:30:04 +02:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Marek Fiala d7faae9ae4 change(tools): ruff formating test_hints.py 2025-08-19 14:44:31 +02:00
Marek Fiala 9aada24169 feat(tools): Updated cmake versions - tools.json
recommended v3.30.2 -> v4.0.3
supported v3.16.3 -> v3.22.1
2025-08-19 14:44:31 +02:00
Alexey Lapshin 03855b90f8 Merge branch 'feature/update-gnu-standards' into 'master'
feat(build): update gnu17->gnu23 and gnu++2b->gnu++26

See merge request espressif/esp-idf!41014
2025-08-19 14:30:34 +04:00
Ivan Grokhotkov 3c4aa1a5a5 feat(tools): update qemu version to esp_develop_9.2.2_20250817 2025-08-19 09:39:18 +00: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
Rocha Euripedes a23bc29a84 fix(mqtt): Reduce scope of dependencies for mqtt test 2025-08-19 14:47:42 +08:00
Alexey Lapshin 4c481c863f feat(build): update gnu17->gnu23 and gnu++2b->gnu++26 2025-08-19 10:29:37 +07:00
morris 661590940a refactor(etm): enhance thread safety and clean up soc macros 2025-08-18 14:58:24 +08:00
Sudeep Mohanty 4cfc196680 feat(build-system): Create build system hooks for post-ELF processing
This commit adds new CMake APIs for the build system, viz.,
idf_build_add_post_elf_dependency() and
idf_build_get_post_elf_dependencies().
These APIs allow components to add post-ELF processing hooks before the
binary file is generated.

Closes https://github.com/espressif/esp-idf/issues/17251
2025-08-15 12:22:47 +02:00
Konstantin Kondrashov 6b8d4cc1fb remove(log): Remove deprecated functions and header file 2025-08-15 18:04:08 +08:00
Marek Fiala d548d283b9 revert(tools): Revert backup option to use legacy export scrips
This reverts commit 7b417fc3f2.
2025-08-15 09:11:02 +02:00
Sudeep Mohanty 11b80a7f11 Merge branch 'feat/freertos_in_flash_by_default' into 'master'
feat(freertos): Place FreeRTOS in flash by default

Closes IDF-12695

See merge request espressif/esp-idf!40579
2025-08-15 02:18:57 +02:00
Sudeep Mohanty 7a6559f7d5 Merge branch 'fix/panic_handler_reboot_before_halt' into 'master'
fix(panic_handler): Fixed a issue where the system reboots before halt

Closes IDFGH-16214

See merge request espressif/esp-idf!41194
2025-08-14 11:00:02 +02:00
Aleksei Apaseev 8880b4e626 Merge branch 'ci/fix_bin_size_report_generation' into 'master'
ci: fix bin size report generation

See merge request espressif/esp-idf!41065
2025-08-14 13:12:01 +08:00