5458 Commits

Author SHA1 Message Date
Euripedes Rocha
6e1423736e fix(mqtt): Regenerate certificates for testing
- Previous fix ommited one of the client certificates by mistaque.
- This regenerates all certificates to clean that up.
2025-03-02 16:51:21 +08:00
morris
e6f49c0480 Merge branch 'feat/spi_std_timing_and_bit_trans_v5.2' into 'release/v5.2'
feat(driver_spi): support adjust master rx to standard timing (v5.2)

See merge request espressif/esp-idf!36401
2025-02-28 18:40:13 +08:00
Roland Dobai
75a735fdc7 Merge branch 'fix/ci_upload_gdbinit_files_v5.2' into 'release/v5.2'
fix(ci): upload generated gdbinit files

See merge request espressif/esp-idf!37374
2025-02-28 17:36:52 +08:00
Marius Vikhammer
b8e6e5389d Merge branch 'bugfix/remove_wdt_both_cpus_test_v5.2' into 'release/v5.2'
test(panic): remove WDT both CPU test (v5.2)

See merge request espressif/esp-idf!36622
2025-02-28 17:30:53 +08:00
Roland Dobai
5e577dcd5a Merge branch 'fix/ldgen_interm_no_secs_v5.2' into 'release/v5.2'
fix(ldgen): don't emit intermediate placements without sections (v5.2)

See merge request espressif/esp-idf!36969
2025-02-28 16:08:50 +08:00
Mahavir Jain
e2dd6f8a6f Merge branch 'bugfix/memprot_s2_intr_peri1_v5.2' into 'release/v5.2'
fix(security): ESP32S2 memory protection check for Peri1 RTCSLOW interrupt (v5.2)

See merge request espressif/esp-idf!37119
2025-02-28 15:52:29 +08:00
Alexey Lapshin
90120f30e1 fix(ci): upload generated gdbinit files 2025-02-28 10:27:31 +07:00
Xiao Xufeng
9b74d1aca5 change(version): Update version to 5.2.5 2025-02-26 18:01:09 +08:00
Martin Vychodil
671dc31a32 fix(security): Fixed ESP32S2 memory protection check for Peri1 RTCSLOW interrupt
- fixes the issue found in https://github.com/espressif/esp-idf/issues/15359
- extends debug printouts in the related tests
2025-02-19 19:26:21 +01:00
Xiao Xufeng
af4a98ba99 change(version): Update version to 5.2.4 2025-02-19 23:17:56 +08:00
Frantisek Hrbata
9a1eef2ccc 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 12:18:23 +01:00
Marius Vikhammer
d9c471d054 test(panic): remove WDT both CPU test
Test never worked on S3/P4 and was flakey on ESP32. Hard to design a reliable test
case that triggers both WDT at the exact same time.
2025-01-24 13:29:45 +01:00
wanckl
65a616197f feat(driver_spi): support using SPI_DEVICE_STD_TIMING to adjust master rx in standard timing 2025-01-22 11:11:47 +08:00
Roland Dobai
2f62363cc6 Merge branch 'feature/add_utf_8_decoding_v5.2' into 'release/v5.2'
feat(tools): Enforced utf-8 encoding with Python open() functions (v5.2)

See merge request espressif/esp-idf!36127
2025-01-05 21:26:37 +08:00
Marek Fiala
3cca3da1d5 feat(tools): Enforce utf-8 encoding with open() function 2025-01-02 16:12:47 +01:00
Marius Vikhammer
94d9ab88bb fix(interrupt): fixed wrongly reserved interrupt for wifi on H2 2025-01-02 16:49:11 +08:00
Jiang Jiang Jian
dbe1e41c6f Merge branch 'ci/add_build_test_eco_versions_v5.2' into 'release/v5.2'
ci: add build test for eco versions (v5.2)

See merge request espressif/esp-idf!35820
2025-01-02 15:24:47 +08:00
Frantisek Hrbata
a4de7c8ac4 fix(hints): improve suggestion for missing header file
Currently, we are only suggesting that the header file is likely not
part of the component's INCLUDE_DIRS. However, the header file may be
missing also because of the configuration settings. For instance, the
component might be disabled in sdkconfig, or the feature that supplies
the header might not be enabled. Enhance the hint message to address
this scenario as well.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-29 18:56:58 +01:00
Chen Yudong
1a95f45d3b ci: add build test for eco versions 2024-12-19 21:02:57 +08:00
Roland Dobai
d7fe977e0f fix(idf_tools.py): Upgrade pip and setuptools separately
This way the setuptools version dependency resolution will be done by
the upgraded pip.
2024-12-18 12:57:32 +01:00
Roland Dobai
af6aa414b2 Merge branch 'change/bump_up_kconfcheck_version' into 'release/v5.2'
ci(pre-commit): bump kconfig checker pre-commit version to 1.5.0

See merge request espressif/esp-idf!35402
2024-12-18 01:31:27 +08:00
Alexey Gerenkov
e82f6d2ce6 Merge branch 'fix/test_idf_gdb_v5.2' into 'release/v5.2'
test(system): mark gdb test runners properly (v5.2)

See merge request espressif/esp-idf!35588
2024-12-17 21:44:44 +08:00
Jan Beran
cc902394ef ci(pre-commit): bump kconfig checker pre-commit version to 1.5.0 2024-12-17 14:33:28 +01:00
Island
aabe255f89 Merge branch 'bugfix/fix_hid_crash_v5.2' into 'release/v5.2'
fix(ble): Fix crash issue during logging (v5.2)

See merge request espressif/esp-idf!35509
2024-12-12 09:06:11 +08:00
Erhan Kurubas
f4e6591a89 change(cmake): use board configuration file for ftdi interface 2024-12-11 18:47:43 +01:00
Erhan Kurubas
d1d42a9b48 test(system): mark gdb test runners properly 2024-12-11 18:47:43 +01:00
Sarvesh Bodakhe
c3d4270d79 fix(esp_wifi): Add some bugfixes and cleanup in softAP
1. Fix wrong reason code in 'WIFI_EVENT_AP_STADISCONNECTED' event
2. cleanup in softAP for disconnecting connected station
3. Update examples to display reason while processing WIFI_EVENT_AP_STADISCONNECTED event
2024-12-10 20:22:51 +08:00
zhanghaipeng
88ae97e8be feat(bt): Add support for converting BT HCI logs to btsnoop format 2024-12-09 17:54:20 +08:00
Alexey Lapshin
080f1a0b0d feat(debugging): move gdbinit generation to CMake
This feature is useful for 3rd-party software to run GDB with predefined
options that described in project_description.json file

allow to pass custom options to "idf.py gdb":

  --gdb-commands: command line arguments for gdb. (without changes)
  -ex: pass command to gdb.
  -x: pass gdbinit file to gdb. Alias for old --gdbinit command
2024-12-06 19:32:34 +07:00
igor.udot
e09fd7fce4
refactor: changed logic of unity_tester, replaced threads by generators 2024-12-03 09:43:15 +01:00
Erhan Kurubas
6f82c51403 fix(sysview): add prefix to the module desc to avoid stuck in Segger SystemView app
Closes https://github.com/espressif/esp-idf/issues/10483
2024-11-26 11:02:31 +01:00
Frantisek Hrbata
8113c1ab8c fix(tools): re-raise ImportError without module name
The ImportError or ModuleNotFoundError might be raised without
specifying a module name. In this not so common situation, re-raise the
exception to print all the information that could assist in identifying
the problem.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-21 09:47:06 +01:00
Jiang Jiang Jian
4360662325 Merge branch 'feat/lwip_more_sockets_v5.2' into 'release/v5.2'
change(lwip): bump max sockets in lwip Kconfig (GItHubPR) (v5.2)

See merge request espressif/esp-idf!34152
2024-11-18 11:17:08 +08:00
Jiang Jiang Jian
ac388268fd Merge branch 'fix/kconfig-option-orphan_sections_warning_v5.2' into 'release/v5.2'
fix(build): fix orphan sections warning kconfig variable (v5.2)

See merge request espressif/esp-idf!33942
2024-11-18 11:15:15 +08:00
Aditya Patwardhan
5b0b23cfb3 Merge branch 'feature/add_compiler_no_merge_constants_v5.2' into 'release/v5.2'
feat: add compiler config for not merging const sections (v5.2)

See merge request espressif/esp-idf!34087
2024-11-15 15:32:51 +08:00
Rodrigo Silva
8f457cafa8 change: bump max sockets in lwip Kconfig
Tested under ESP32S3, running 50 tasks, each with a client, and a server
listening to one client, totalizing 150 sockets/files open, forwarding
data from PPP to Ethernet and vice versa.
Reasoning for 255 total sockets/files is VFS local_fd_t being a uint8_t.
Since FD_SETSIZE is defined at tool level, a CMakeLists user definition
is needed in cases above 64 (the default value).

Merges https://github.com/espressif/esp-idf/pull/13866
2024-11-13 15:20:42 +08:00
WanqQixiang
438fd1df62 fix(tools/esp_prov): Fix hostname resolving for IPv6-only host 2024-11-05 17:42:31 +08:00
Alexey Gerenkov
921133a133 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20241016_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20241016 (v5.2)

See merge request espressif/esp-idf!34394
2024-10-23 22:02:28 +08:00
Alexey Gerenkov
6735d9a9eb feat(tools): update openocd version to v0.12.0-esp32-20241016 2024-10-23 10:05:20 +02:00
Roland Dobai
64452a7da3 fix(tools): Print message about GDBGUI being not supported with Python 3.13 2024-10-22 16:01:02 +02:00
Sergei Silnov
b79d811666 Merge branch 'feat/core_components_v5.2' into 'release/v5.2'
feat: add `COMPONENT_SOURCE` property to component targets (v5.2)

See merge request espressif/esp-idf!34185
2024-10-21 22:03:03 +08:00
radek.tandler
03d0870430 fix(storage/nvs): Fixed hadling of inconsistent values in NVS entry header
feat(storage/nvs): Added test cases for damaged entries with correct CRC
2024-10-18 10:55:19 +02:00
Jiang Jiang Jian
ad32630480 Merge branch 'fix/keep-got-sections-for-riscv_v5.2' into 'release/v5.2'
feat(esp_system): drop .got* sections and add hint (v5.2)

See merge request espressif/esp-idf!33371
2024-10-17 10:46:49 +08:00
Fu Hanxi
354233fc59
feat: add component_source property to component targets 2024-10-14 12:05:52 +02:00
Roland Dobai
bdcdd32bb7 Merge branch 'fix/ldgen_sort_v5.2' into 'release/v5.2'
fix(ldgen): enable default name SORT in linker fragment (v5.2)

See merge request espressif/esp-idf!34075
2024-10-14 15:20:41 +08:00
Mahavir Jain
01333b3172
feat: add compiler config for not merging const sections
Probably GCC-13.x and on-wards uses "-fmerge-constants" to merge
the const section (string/floating-point) across compilation units.
This makes it difficult to properly analyze the size output of rodata
section across libraries, the merged section (big in size) is showed
across a single library.

The config option added here can help to disable this compiler behavior
and help to provide better size analysis. It can be used during
development phase only as it increases rodata section size.
2024-10-10 15:35:54 +05:30
Marius Vikhammer
8ba7c287b0 Merge branch 'task/add_ldgen_exception_for_freertos_v5.2' into 'release/v5.2'
fix(freertos): Added freertos and ringbuf fragments to the exception list of ldgen mapping checks (v5.2)

See merge request espressif/esp-idf!33216
2024-10-10 16:27:15 +08:00
Frantisek Hrbata
d414eacc86 fix(ldgen): enable default name SORT in linker fragment
Currently, the `SORT` flag mandates the inclusion of at least the
`sort_by_first` argument in the grammar, despite the documentation[1]
indicating that `SORT` can be utilized without any arguments, defaulting
to sorting input sections by name. Fix this by modifying the grammar
to allow a default `SORT` and update a test accordingly.

[1] https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/
    linker-script-generation.html

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-10-10 09:12:39 +02:00
Jan Beran
431923f23c fix(uf2): Ignore ESPBAUD, ESPPORT when calling idf.py uf2[-app] 2024-10-01 13:47:19 +02:00
Erhan Kurubas
03e3c7c54b test(esp-coredump): add test for the soft sha config 2024-10-01 10:07:23 +02:00