41700 Commits

Author SHA1 Message Date
zhangyanjiao
aeb4e0288c fix(wifi): fix the delete queue error in espnow exapmle
Closes https://github.com/espressif/esp-idf/issues/15383
2025-02-17 14:54:38 +08:00
Marius Vikhammer
b808062f2e Merge branch 'bugfix/esp32p4_linker_script_v5.4' into 'release/v5.4'
fix(esp_system): add missing `arrays` attribute in the ESP32-P4 linker script (backport v5.4)

See merge request espressif/esp-idf!36094
2025-02-17 11:16:48 +08:00
Zhang Hai Peng
ddff846e4e feat(ble/bluedroid): Support change HID task size by Kconfig in HID example
(cherry picked from commit d4b3a7e99d29150d9718415384db7ac5ae7673d5)

Co-authored-by: Mitch Cairns <mitch.cairns@handheldlegend.com>
2025-02-17 11:15:46 +08:00
Zhang Hai Peng
53fa7a7df0 docs(ble/bluedroid): Optimize doc for implementation of a characteristic with 128 bit UUID
(cherry picked from commit fa40d971a52e9eb66686ac3ae645fca2589f0807)

Co-authored-by: Erast  <78802792+MatoiDev@users.noreply.github.com>
2025-02-17 11:15:43 +08:00
Zhang Hai Peng
7790c95832 fix(ble/bluedroid): Don't log error on 16/128-bit UUID mixed descriptors
(cherry picked from commit fed1d41aa7170d8418dd126dd8e3b47a977b4aca)

Co-authored-by: Nebojša Cvetković <nebkat@gmail.com>
2025-02-17 11:15:40 +08:00
Zhang Hai Peng
41ccc00c15 refactor(ble/bluedroid): Fix typos in gatt_sr.c
(cherry picked from commit 63b2dcc3a7b4b56486a7ef82050d8a43dd2bb4af)

Co-authored-by: Nebojsa Cvetkovic <nebkat@gmail.com>
2025-02-17 11:15:37 +08:00
Zhang Hai Peng
c0b060c1a8 fix(ble/bluedroid): Allow 0 length indications
(cherry picked from commit 9b5a52e2f784a50c0e4c1a422a2b3d22ce5e9998)

Co-authored-by: Nebojsa Cvetkovic <nebkat@gmail.com>
2025-02-17 11:15:32 +08:00
Zhang Hai Peng
635e1489b7 refactor(ble/bluedroid): Fix typos in bta_gatts_act.c
(cherry picked from commit a8041a99533628b044a8158bcc4410404f83ea63)

Co-authored-by: Nebojsa Cvetkovic <nebkat@gmail.com>
2025-02-17 11:15:29 +08:00
morris
3ecfa81c9b Merge branch 'bugfix/gpio_rom_patch_fix_v5.4' into 'release/v5.4'
fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2 (v5.4)

See merge request espressif/esp-idf!36865
2025-02-17 11:14:21 +08:00
Zhang Hai Peng
a0f37ef893 fix(ble): Update bt lib for ESP32(2a2631f)
- Support ESP32 BLE GPIO DEBUG


(cherry picked from commit 0a7888f839fc64097b43dae37c13cd0f3e2de690)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-02-17 11:13:56 +08:00
Island
c34702fc0c Merge branch 'feat/add_spi_output_v5.4' into 'release/v5.4'
Feat/add spi output (v5.4)

See merge request espressif/esp-idf!36956
2025-02-17 11:04:37 +08:00
Rahul Tank
ae5cf32ab9 Merge branch 'bugfix/handle_slave_extra_disconn_v5.4' into 'release/v5.4'
fix(nimble): Handle not sending disconnect event if connect was not sent (v5.4)

See merge request espressif/esp-idf!36920
2025-02-15 22:43:07 +08:00
Rahul Tank
d4d795c56d fix(nimble): Handle not sending disconnect event if connect was not sent 2025-02-15 09:22:55 +05:30
Rahul Tank
f30ee2a6bc Merge branch 'feat/long_read_offset_v5.4' into 'release/v5.4'
feat(nimble): Add offset in GATT server long read context (v5.4)

See merge request espressif/esp-idf!36976
2025-02-15 11:26:47 +08:00
Jiang Jiang Jian
72770713b9 Merge branch 'bugfix/mem_leak_sae_pk_v5.4' into 'release/v5.4'
fix(wifi): Bugfix memory leak due to sae public key (v5.4)

See merge request espressif/esp-idf!36925
2025-02-14 19:34:53 +08:00
muhaidong
5dc5f0e566 fix(coex): fix disable external coex fail issue 2025-02-14 19:24:12 +08:00
muhaidong
67141ce7b5 feat(phy): add gpio cmd for cert test 2025-02-14 19:23:53 +08:00
Roland Dobai
dd315ebc88 Merge branch 'fix/ldgen_interm_no_secs_v5.4' into 'release/v5.4'
fix(ldgen): don't emit intermediate placements without sections (v5.4)

See merge request espressif/esp-idf!36967
2025-02-14 18:58:59 +08:00
Jiang Jiang Jian
266f7e878c Merge branch 'bugfix/skip_memory_reordering_wpa2_semaphr_v5.4' into 'release/v5.4'
fix(esp_wifi): fixed stack corruption in WiFi tasks (v5.4)

See merge request espressif/esp-idf!36936
2025-02-14 17:53:35 +08:00
Aditya Patwardhan
d2b7479f6f Merge branch 'refactor/security_docs_re-org_v5.4' into 'release/v5.4'
refactor(docs): re-organize security docs for better navigation (v5.4)

See merge request espressif/esp-idf!36960
2025-02-14 16:32:05 +08:00
Frantisek Hrbata
c06b3d213e fix(ldgen): don't emit intermediate placements without sections
When a symbol needs to be placed to a different target than the one
designated for the object file, the object file is expanded, which
includes the following steps:

1. Creating a new placement for the symbol's input section with the
   specified target.
2. Excluding the object placement from the orignal target.
3. Creating a new intermediate placement for the object for the original
   target, where its input sections are expanded, excluding the input
   section for the symbol.

Let's illustrate the object expansion process with the following example:

[sections:rodata]
entries:
    .rodata+
    .sdata2+
    .srodata+

[scheme:default]
entries:
    text -> flash_text
    rodata -> flash_rodata

[scheme:noflash]
entries:
    text -> iram0_text
    rodata -> dram0_data

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)

gpio_periph section headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        00000000 000034 000000 00  AX  0   0  2
  [ 2] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  1
  [ 3] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  1
  [ 4] .rodata.GPIO_HOLD_MASK PROGBITS        00000000 000034 000058 00   A  0   0  4
  [ 5] .rodata.GPIO_PIN_MUX_REG PROGBITS        00000000 00008c 000058 00   A  0   0  4
  [ 6] .debug_info       PROGBITS        00000000 0000e4 0000d8 00      0   0  1
  [ 7] .rela.debug_info  RELA            00000000 0009d4 000108 0c   I 16   6  4
  [ 8] .debug_abbrev     PROGBITS        00000000 0001bc 000070 00      0   0  1
  [ 9] .debug_aranges    PROGBITS        00000000 00022c 000018 00      0   0  1
  [10] .rela.debug_aranges RELA            00000000 000adc 00000c 0c   I 16   9  4
  [11] .debug_line       PROGBITS        00000000 000244 0001ab 00      0   0  1
  [12] .debug_str        PROGBITS        00000000 0003ef 00022d 01  MS  0   0  1
  [13] .comment          PROGBITS        00000000 00061c 000030 01  MS  0   0  1
  [14] .note.GNU-stack   PROGBITS        00000000 00064c 000000 00      0   0  1
  [15] .riscv.attributes RISCV_ATTRIBUTES 00000000 00064c 000044 00      0   0  1
  [16] .symtab           SYMTAB          00000000 000690 000260 10     17  36  4
  [17] .strtab           STRTAB          00000000 0008f0 0000e1 00      0   0  1
  [18] .shstrtab         STRTAB          00000000 000ae8 0000d1 00      0   0  1

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG)
}

Now, let's do the same, but also move GPIO_PIN_MUX_REG to noflash with an updated mapping.

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)
    gpio_periph: GPIO_PIN_MUX_REG (noflash)

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG .sdata2.GPIO_PIN_MUX_REG
                            .srodata.GPIO_PIN_MUX_REG)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*
}

The *libsoc.a:gpio_periph.* entity in step 3 no longer has input
sections, as there are no remaining .rodata input sections in the object
file. The linker behavior for this mapping is to include all object
input sections that have not yet been placed as described in
https://sourceware.org/binutils/docs/ld.html#Input-Section-Basics
"If you use a file name without a list of sections, then all sections in
the input file will be included in the output section. This is not
commonly done, but it may by useful on occasion."

The map file for such mapping now contains following input sections

 .flash.rodata   0x3c0a0120    0x19b34
     *libsoc.a:gpio_periph.*()
     .debug_info    0x3c0b95bf       0xd8 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_abbrev  0x3c0b9697       0x70 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_aranges
                    0x3c0b9707       0x18 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_line    0x3c0b971f      0x1ab esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_str     0x3c0b98ca      0x21a esp-idf/soc/libsoc.a(gpio_periph.c.obj)
                                    0x22d (size before relaxing)
     .comment       0x3c0b9ae4       0x30 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .note.GNU-stack
                    0x3c0b9ae4        0x0 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .riscv.attributes
                    0x3c0b9ae4       0x44 esp-idf/soc/libsoc.a(gpio_periph.c.obj)

This is incorrect, and such intermediate placement should not be
generated. This type of placement can be recognized because it is not
explicitly defined in the mapping and lacks input sections. We can
identify this in the significant function and prevent issuing commands
for such placement.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-02-14 08:04:29 +01:00
Mahavir Jain
721b0de1b1
refactor(docs): re-organize security docs for better navigation 2025-02-14 11:45:04 +05:30
Abhinav Kudnar
222d7a7741 feat(nimble): Add offset in GATT server long read context 2025-02-14 11:21:30 +05:30
Rahul Tank
15da152e21 Merge branch 'fix/blesync_periodic_adv_v5.4' into 'release/v5.4'
fix(nimble): Added sync reattempt for periodic adv (v5.4)

See merge request espressif/esp-idf!36789
2025-02-14 13:45:38 +08:00
Zhou Xiao
ec495372ab feat(ble): support esp ble controller spi output interface for ESP32-H2
(cherry picked from commit 9c98c7e040509836671fea35c63728e4768d3d00)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-02-14 11:54:23 +08:00
Zhou Xiao
78f1241f78 feat(ble): support esp ble controller spi output interface for ESP32-C6
(cherry picked from commit 58b8775f95d6584838fdb386f33b96da0e87c56d)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-02-14 11:54:20 +08:00
Zhou Xiao
8d3fcb78ee feat(ble): support esp ble controller spi output interface for ESP32-C2
(cherry picked from commit 0b57f8ae875e52cfc816ebbb0eb1e7c7fb46cfad)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-02-14 11:54:16 +08:00
Zhou Xiao
2acf21413c feat(ble): add spi output interface for esp ble controller log
(cherry picked from commit 52106c989567515175538ef92163489ea9033f19)

Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
2025-02-14 11:54:13 +08:00
Omar Chebib
d3a9545e95 fix(esp_system): add missing arrays attribute in the ESP32-P4 linker script 2025-02-14 10:58:12 +08:00
David Čermák
462ed8353d Merge branch 'bugfix/ethernet_example_netif_glue_assignment_v5.4' into 'release/v5.4'
fix(ethernet_basic): Fix second Ethernet device not receiving IP address (v5.4)

See merge request espressif/esp-idf!36945
2025-02-13 22:00:31 +08:00
Astha Verma
ff55cabe6d fix(nimble): Added sync reattempt for periodic adv 2025-02-13 18:24:38 +05:30
Bogdan Kolendovskyy
bcf5075278 fix(ethernet_basic): Fix second Ethernet device not receiving IP address 2025-02-13 12:41:14 +01:00
Rahul Tank
18ba5dd4ab Merge branch 'fix/core_err_code_def_v5.4' into 'release/v5.4'
fix(nimble): Enhanced error handling by adding to print core error definitions (v5.4)

See merge request espressif/esp-idf!36654
2025-02-13 19:37:52 +08:00
Mahavir Jain
e348fdd5e6 Merge branch 'bugfix/http_client_select_read_error_v5.4' into 'release/v5.4'
fix(tcp_tranport): Fix handling of select() return value (v5.4)

See merge request espressif/esp-idf!36917
2025-02-13 19:19:11 +08:00
Kapil Gupta
31b88484a6 fix(esp_wifi): Fix stack corruption in wpa3 task 2025-02-13 14:23:08 +05:30
Kapil Gupta
698392735c fix(esp_wifi): fixed Stack corruption in DPP task 2025-02-13 14:23:08 +05:30
Kapil Gupta
a64056fac2 fix(esp_wifi): fixed Stack corruption in WPS processing 2025-02-13 14:23:08 +05:30
Kapil Gupta
c3959700b3 fix(esp_wifi): Fixed memory corruption in wifi enterprise
Closes https://github.com/espressif/esp-idf/issues/15370
2025-02-13 14:23:08 +05:30
Shu Chen
576264c704 Merge branch 'feat/add_ot_br_lib_check_case_v5.4' into 'release/v5.4'
feat(openthread): add br library check case (v5.4)

See merge request espressif/esp-idf!36885
2025-02-13 15:49:45 +08:00
Shreyas Sheth
3cbbcf25c7 fix(wifi): Fixed memory leak occurring in SAE PK connection 2025-02-13 12:02:13 +05:30
Astha Verma
34a8c8ae28 fix(nimble): Enhanced error handling by adding to print core error definitions 2025-02-13 08:57:08 +05:30
Rahul Tank
9555aa0912 Merge branch 'fix/NVS_corruption_v5.4' into 'release/v5.4'
fix(nimble): Handle NVS corruption caused by non removal of security records (v5.4)

See merge request espressif/esp-idf!36894
2025-02-13 11:19:15 +08:00
morris
7d07fe5047 Merge branch 'feat/async_memcpy_any_alignment_v5.4' into 'release/v5.4'
async memcpy destination address doesn't have to be cache aligned (v5.4)

See merge request espressif/esp-idf!36633
2025-02-13 10:36:23 +08:00
morris
5aee72a86f Merge branch 'fix/rgb_lcd_drift_on_esp32s3_v5.4' into 'release/v5.4'
fix(rgb_lcd): drift issue caused by restart (v5.4)

See merge request espressif/esp-idf!36889
2025-02-13 10:10:43 +08:00
David Čermák
1ddbb7bceb Merge branch 'fix/eth_example_stat_ip_v5.4' into 'release/v5.4'
fix(esp_eth): fixed Static IP example for Ethernet (v5.4)

See merge request espressif/esp-idf!36915
2025-02-13 02:14:20 +08:00
nilesh.kale
5ad73e97e8 fix(tcp_tranport): Fix handling of select() return value
When both readset/writeset and errset are set for a single socket,
the HTTP client incorrectly handled the condition, causing premature termination.
Added a check to ensure readset/writeset is prioritized before errset.

Closes https://github.com/espressif/esp-idf/issues/14673
2025-02-12 20:23:23 +05:30
Ondrej Kosta
7b1648f004 fix(esp_eth): fixed Static IP example for Ethernet
Fixed IP event handler unregistering for Ethernet
2025-02-12 13:55:20 +00:00
Alexey Gerenkov
945d750d5a Merge branch 'fix/coredump_note_section_alignment_v5.4' into 'release/v5.4'
Fix/coredump note section headers and alignments (v5.4)

See merge request espressif/esp-idf!36880
2025-02-12 21:31:14 +08:00
Jiang Jiang Jian
97404fa883 Merge branch 'fix/fix_branch_predictor_access_flash_after_cache_diabled_v5.4' into 'release/v5.4'
fix(esp_hw_support): fix branch predictor access flash after cache disabled (v5.4)

See merge request espressif/esp-idf!36558
2025-02-12 17:59:36 +08:00
Jiang Jiang Jian
f8ed34f75f Merge branch 'bugfix/analyzer_issues_supplicant_v5.4' into 'release/v5.4'
fix(esp_wifi): fix some analyzer issues (v5.4)

See merge request espressif/esp-idf!36825
2025-02-12 13:56:16 +08:00