Commit Graph

5514 Commits

Author SHA1 Message Date
Marius Vikhammer 9ef24e3e2a change(version): Update version to 5.2.6 2025-09-30 09:15:16 +08:00
Alexey Gerenkov 97c59d7c08 Merge branch 'feature/update-toolchain-to-esp-13.2.0_20250707_5.2' into 'release/v5.2'
feat(tools): update toolchain version to esp-13.2.0_20250707

See merge request espressif/esp-idf!41146
2025-08-15 08:08:26 +08:00
Alexey Lapshin c541513749 feat(tools): update toolchain version to esp-13.2.0_20250707 2025-08-09 12:14:28 +07:00
Alexey Lapshin ee62de1864 feat(tools): update gdb version to 16.2_20250324 2025-08-06 17:13:17 +08:00
Roland Dobai a884d70bc1 Merge branch 'feat/ide_requirements_v5.2' into 'release/v5.2'
feat(tools/requirements): Add IDE requirements files (v5.2)

See merge request espressif/esp-idf!40943
2025-08-01 07:42:13 +02:00
Jiang Jiang Jian b96058c973 Merge branch 'fix/xtensa_nmi_v5.2' into 'release/v5.2'
fix(esp_hw_support): make the NMI interrupts available for the main application (backport v5.2)

See merge request espressif/esp-idf!34387
2025-07-31 21:06:27 +08:00
Peter Dragun 7615b9a252 feat(tools/requirements): Add IDE requirements files 2025-07-31 12:06:33 +02:00
Rahul Tank 92b85fa162 fix(nimble): Minor documentation update in btsnoop script usage 2025-07-29 11:55:44 +05:30
Erhan Kurubas 45c201501c feat(tools): add esp32c3 rev1.1 rom version string 2025-07-24 13:44:51 +02:00
Samuel Obuch f232ce7fa2 ci: use shared OpenOCD class for GDB test app 2025-07-24 13:44:48 +02:00
Rahul Tank 48003d499b fix(nimble): Add support to parser script to parse logs with/without ts
Introduced a new "--has-ts" input parameter to script to detect if logs
has timestamp information or not
2025-07-21 13:02:22 +05:30
Rahul Tank f6c8e69aaa fix(nimble): Enhanced HCI logging by adding timestamp information 2025-07-17 10:19:55 +05:30
Marek Fiala e4bed4692a feat(tools): Enforce pip 'user' option to no, when installing python env
Closes https://github.com/espressif/esp-idf/issues/16189
2025-07-14 13:26:57 +02:00
Erhan Kurubas d4a3d3e760 change(sysview): drop ESP mcore extension 2025-07-09 14:58:01 +08:00
Erhan Kurubas 3c29b8feec feat(sysview): update multicore files for testing 2025-07-09 14:58:01 +08:00
Erhan Kurubas a01bd5070b feat(sysview): Add SEGGER multicore trace file support 2025-07-09 14:58:01 +08:00
Erhan Kurubas eebb363e56 feat(sysview): update to version 3.56 2025-07-09 14:58:01 +08:00
Erhan Kurubas 5d1a3de99d feat(tools): update openocd version to v0.12.0-esp32-20250707 2025-07-09 14:58:01 +08:00
Omar Chebib b6c2d6821e fix(esp_hw_support): make the NMI interrupts available for the main application
Closes https://github.com/espressif/esp-idf/issues/13629

NMI interrupt level has been freed for all the Xtensa targets, making it possible
for the main application to use it. An example has been added to show how to
proceed.
2025-07-03 09:42:04 +08:00
Roland Dobai e2e209c271 Merge branch 'fix/idf_tools_install_tool_version_v5.2' into 'release/v5.2'
fix(tools): fixed command `idf_tools.py install tool@version` (v5.2)

See merge request espressif/esp-idf!40043
2025-06-20 17:11:55 +02:00
Marek Fiala 0765257558 fix(tools): idf_tools.py uninstall decide based on preferred tool version
idf_tools.py uninstall now doesn't take only recommended version, but
makes the decision based on preferred installed versions.
2025-06-20 16:04:10 +02:00
Marek Fiala 5f239a862b test(tools): Added test for installing supported tool version
Added test_export_supported_version_cmake in `test_idf_tools.py`,
that installs and exports supported version of tool - cmake.
2025-06-20 16:04:10 +02:00
Marek Fiala bce8296ec7 fix(tools): idf_tools.py install tool@version 2025-06-20 16:03:59 +02:00
Marek Fiala c08a55b5a3 feat(tools): Update ccache 4.10.2 -> 4.11.2
Closes https://github.com/espressif/idf-installer/issues/305
2025-06-17 04:26:21 +08:00
Marek Fiala e0061808ca fix(tools): Enabled removing requirements.* files 2025-06-11 11:15:44 +02:00
Fu Hanxi de38d22021 ci: disable idf-ci plugin
this plugin will be re-enabled with compatible code in !38755
2025-06-04 13:20:13 +02:00
Alexey Lapshin 5b6ba02773 feat(tools): update esp-rom-elf to version 20240305 2025-05-29 15:44:01 +08:00
Alexey Gerenkov a9d9c83f19 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20250422_v5.2' into 'release/v5.2'
feat(tools): update openocd version to v0.12.0-esp32-20250422 (v5.2)

See merge request espressif/esp-idf!38801
2025-04-28 23:22:09 +08:00
morris dd30a7917d Merge branch 'bugfix/fix_i2s_reconfig_slot_issue_v5.2' into 'release/v5.2'
fix(i2s): fixed incorrect logic in slot reconfig (v5.2)

See merge request espressif/esp-idf!36643
2025-04-28 11:18:08 +08:00
Alexey Gerenkov ea1a1cc131 feat(tools): update openocd version to v0.12.0-esp32-20250422 2025-04-26 12:41:34 +02:00
luaijun cd7d6f1c12 fix: pytest did not recognize test cases 2025-04-21 19:34:30 +08:00
luaijun a4401e5256 ci(c2/c3): add major eco version tests(v5.2) 2025-04-18 11:22:25 +08:00
laokaiyao 88f39d549d fix(i2s): fixed i2s_std initializer order for cpp compiler
Closes https://github.com/espressif/esp-idf/issues/15405
2025-04-17 21:33:30 +08:00
Alexey Lapshin 553ed4b55e fix(ldgen): extend section name regex to include '_' (e.g.: used by picolibc) 2025-04-09 16:52:36 +08:00
harshal.patil 2acb037138 fix(examples): Example CA certs must contain the Key Usage parameter
- Example CA certificates that are used for self-signed client certificates
need to include the Key Usage parameter.
- Python3.13 changed the default context of the SSL context that is
generated using ssl.create_default_context() by enabling the VERIFY_X509_STRICT
flag by default
2025-04-03 10:53:26 +05:30
Roland Dobai c7b6135800 Merge branch 'fix/remove-unused-from-gdbinit_cmake_v5.2' into 'release/v5.2'
fix(tools): remove unused variables in gdbinit.cmake (v5.2)

See merge request espressif/esp-idf!38047
2025-04-02 15:15:05 +08:00
Frantisek Hrbata 8e40868d84 fix(tools): handle packages with dots in their names during dependency checks
The `setuptools` package starting with `v70.1.0`[1] contains built-in
`bdist_wheel` command. Before this version `setuptools` relied on the
`bdist_wheel` command implementation from the `wheel` package. Starting with
`setuptools` `v75.8.1` the `PEP 491`[3] restrictions on the distribution name
of a wheel package are enforced[4], replacting also `.` with `_`.  Note that
`PEP 491` actually allows `.` in the distribution name, but for some reason the
latest packaging docs[10][11] does not, stating that `.` should be replaced
with `_`. This was discussion here[12].

Also the `wheel` package starting with `v0.45.0`[5] is using the `bdist_wheel`
command from `setuptools`.  This means that any package which has `.` in its
distribution name, like `ruamel.yaml.clib`, can have different wheel name,
depending on which version of the `bdist_wheel` command was used.

The `bdist_wheel` command from setuptools prior `v75.8.1` or `wheel` prior
`v0.45.0` will keep the dots in distribution name preserved.  For exaple the
`ruamel.yaml.clib` package will have distribution name
`ruamel.yaml.clib-0.2.12.dist-info. Newer versions will replace the dots with
`_` according to [10][11], creating distribution like
`ruamel_yaml_clib-0.2.12.dist-info`.

From packaging point of view `ruamel.yaml.clib-0.2.12.dist-info` and
`ruamel_yaml_clib-0.2.12.dist-info` are the same packages, but this is not
reflected in `importlib.metadata` prior python 3.10[9], which does not perform
name normalization prior the distribution search. This causes the `version`
from `importlib.metadata` to fail on python prior the 3.10 version if the
package with dots in distribution name was generated with normalized paths with
newer `setuptools`. Note that the distribution name normalization was
backported to some later 3.9 python version.

Let's demonstrate this behavior on a simple package with the
`my.minimal.package` name.

```
my_minimal_package/
├── pkg
│   └── __init__.py
└── setup.py

from setuptools import setup, find_packages

setup(
    name='my.minimal.package',
    version='0.1.0',
    packages=find_packages(),
    install_requires=[],
    entry_points={},
)
```

With python 3.9.0 search for `my.minimal.package` fails because
of the missing name normalization.
```
docker run --rm -it --platform linux/x86_64 python:3.9.0 bash
python -m venv venv
. venv/bin/activate
pip install setuptools==v75.8.1
python setup.py bdist_wheel
pip install dist/my_minimal_package-0.1.0-py3-none-any.whl
python
Python 3.9.0 (default, Nov 18 2020, 13:28:38)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.metadata import version as get_version
>>> get_version('my.minimal.package')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 551, in version
    return distribution(distribution_name).version
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 524, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 187, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: my.minimal.package
>>> get_version('my_minimal_package')
'0.1.0'
```

With python 3.10.0 search for both `my.minimal.package` and
`my_minimal_package` succeeds.
```
docker run --rm -it --platform linux/x86_64 python:3.10.0 bash
python
Python 3.10.0 (default, Dec  3 2021, 00:21:30) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.metadata import version as get_version
>>> get_version('my.minimal.package')
'0.1.0'
>>> get_version('my_minimal_package')
'0.1.0'
```

In our `tools/check_python_dependencies.py` we cannot relay on the default
distribution finder, used in the `version` function from `importlib.metadata`,
to do name normalization on older python versions.  To cope with this,
implement a fallback version search. If `version` fails with
`PackageNotFoundError`, do the name normalization according to [10][11] and try
again.

Note: There is also a `wheel`[6][7] `v0.43.0` package embeded in `setuptools`
along with the new implementation[8].  This one seems to be used if the
external `wheel` package is not available but imported. TBH this is all kinda
messy and I may have overlooked something.

* [1] https://setuptools.pypa.io/en/stable/history.html#v70-1-0
* [2] https://setuptools.pypa.io/en/stable/history.html#v75-8-1
* [3] https://peps.python.org/pep-0491/#escaping-and-unicode
* [4] https://github.com/pypa/setuptools/pull/4766/files
* [5] https://wheel.readthedocs.io/en/stable/news.html
* [6] https://github.com/pypa/setuptools/blob/main/setuptools/_vendor/wheel/__init__.py
* [7] https://github.com/pypa/setuptools/issues/1386
* [8] https://github.com/pypa/setuptools/blob/main/setuptools/command/bdist_wheel.py
* [9] https://github.com/python/cpython/commit/c6ca368867bd68d44f333df840aa85d425a51410
* [10] https://packaging.python.org/en/latest/specifications/name-normalization/#name-normalization
* [11] https://packaging.python.org/en/latest/specifications/binary-distribution-format/
       #escaping-and-unicode
* [12] https://github.com/pypa/setuptools/issues/3777

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-03-27 08:05:20 +01:00
Alexey Lapshin 23a6786a5f fix(tools): remove unused variables in gdbinit.cmake
Closes https://github.com/espressif/esp-idf/issues/15035
2025-03-26 19:58:36 +07:00
Aditya Patwardhan 04438b1148 Merge branch 'bugfix/provisioning_sec2_aes_iv_usage_v5.2' into 'release/v5.2'
fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme (v5.2)

See merge request espressif/esp-idf!37616
2025-03-26 12:09:51 +08:00
morris f25eec679f Merge branch 'bugfix/gpio_dump_io_config_v5.2' into 'release/v5.2'
fix(gpio): fix pu, pd, drv value incorrect from gpio_dump_io_configuration on esp32 (v5.2)

See merge request espressif/esp-idf!37910
2025-03-24 10:22:12 +08:00
Roland Dobai 92a165ddc1 Merge branch 'fix/extractall_deprecation_v5.2' into 'release/v5.2'
fix(idf_tools): Patch extractall() deprecation warning (v5.2)

See merge request espressif/esp-idf!37885
2025-03-21 02:02:02 +08:00
Song Ruo Jing a21e88c561 fix(gpio): fix 8/16-bit gpio, rtc/lp_io register access 2025-03-20 16:04:36 +08:00
Radim Karniš 636f51b68d fix(idf_tools): Validate input features 2025-03-19 21:45:08 +01:00
Radim Karniš 0c3e15351b fix(idf_tools): Patch extractall() deprecation warning 2025-03-19 13:53:07 +01:00
Marius Vikhammer a0ba8c9e1d Merge branch 'bug/xtensa_cpu1_sys_lockup_v5.2' into 'release/v5.2'
fix(panic_handler): Updated panic handler to use RTC WDT (v5.2)

See merge request espressif/esp-idf!37121
2025-03-12 09:58:59 +08:00
Mahavir Jain 17c8e14e28 fix(esp_local_ctrl): update for changes in protocomm security2 scheme 2025-03-10 10:01:52 +05:30
Mahavir Jain c18de74f77 fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme
Using same IV in AES-GCM across multiple invocation of
encryption/decryption operations can pose a security risk. It can help
to reveal co-relation between different plaintexts.

This commit introduces a change to use part of IV as a monotonic
counter, which must be incremented after every AES-GCM invocation
on both the client and the device side.

Concept of patch version for a security scheme has been introduced here
which can help to differentiate a protocol behavior for the provisioning
entity. The security patch version will be available in the JSON
response for `proto-ver` endpoint request with the field
`sec_patch_ver`.

Please refer to documentation for more details on the changes required
on the provisioning entity side (e.g., PhoneApps).
2025-03-10 10:01:44 +05:30
Sudeep Mohanty ed720503fb fix(panic_handler): Updated panic handler to use RTC WDT
This commit updates the following:
- Updates the panic handler to use only the RTC WDT to reset the system.
- Refactors some of the panic handler code.
- Updates Bluetooth files where in they now feed the WDTs instead of
  reconfiguring them.
- Removes some unnecessary configuration of WDTs from various files.
- Added a unit test to verify that the system does not lock up when the
  panic handler is stuck.
- Updates the memprot unit tests to work with the refactored panic
  handler.

Closes https://github.com/espressif/esp-idf/issues/15166
Closes https://github.com/espressif/esp-idf/issues/15018
Closes https://github.com/espressif/esp-idf/issues/10110
2025-03-06 09:06:53 +01:00
Erhan Kurubas 4109316502 feat(tools): update openocd version to v0.12.0-esp32-20250226 2025-03-05 15:46:10 +01:00
Jiang Jiang Jian 33a97b8ea1 Merge branch 'fix/esp-event-profiling_v5.2' into 'release/v5.2'
fix(esp_event): Fix event loop profiling in handler_execute function (backport v5.2)

See merge request espressif/esp-idf!36691
2025-03-04 11:01:02 +08:00