Commit Graph

5289 Commits

Author SHA1 Message Date
Ryan Yin
354e2c4673 feat: fix: create-project & create_component with proper file permission 2023-07-17 19:32:30 +08:00
Chen Jichang
304c7572a6 refactor(interrupt):put the interrupts definitions in soc/interrupts.h
Now the soc interrupts definitions are scattered around in the esp-idf
which are out of sync. Put interrupts definitions in soc/periph_defs.h
(!ESP32) or soc/soc.h(ESP32) together in soc/interrupts.h.
2023-07-17 19:31:56 +08:00
Roland Dobai
30672c7c65 Merge branch 'docs/monitor_rom_address_decoding' into 'master'
esp_idf_monitor: ROM ELF address decoding docs and tests

Closes IDF-372

See merge request espressif/esp-idf!24271
2023-07-17 18:52:29 +08:00
Frantisek Hrbata
ff1ce54869 fix(debug_ext): CTRL+C handling while waiting on gdb process
idf.py spawns gdb process within a thread and uses Thread.join() to wait
for the gdb process to finish. As CTRL+C(SIGINT) is used by gdb to interrupt the
running program, we catch the SIGINT while waiting on the gdb to finish,
and try Thread.join() again.

With cpython's commit

	commit a22be4943c119fecf5433d999227ff78fc2e5741
	Author: Victor Stinner <vstinner@python.org>
	Date:   Mon Sep 27 14:20:31 2021 +0200

	    bpo-45274: Fix Thread._wait_for_tstate_lock() race condition (GH-28532)

this logic doesn't work anymore, because cpython internally marks the
thread as stopped when join() is interrupted with an exception. IMHO
this is broken in cpython and there is a bug report about this
https://github.com/python/cpython/issues/90882. Problem is that
waiting on a thread to finish is based on acquiring a lock. Meaning
join() is waiting on _tstate_lock. If this wait is interrupted, the
above referenced commit adds a logic that checks if the lock is help,
meaning the thread is done and marks the thread as stopped. But there is
no way to tell if the lock was acquired by us running join() or if it's
held by someone else e.g. still by the thread bootstrap code. Meaning
the thread is still running.

I may be missing something, but I don't see any reason why to spawn gdb
process within a thread. This change removes the thread and spawns gdb
directly. Instead waiting on a thread, we wait on the process to finish,
replacing join() with wait() and avoiding this problem.

Closes https://github.com/espressif/esp-idf/issues/11871

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-07-17 08:00:23 +02:00
Roland Dobai
60a7b72b53 Merge branch 'orig_idf_version' into 'master'
tools(kconfig): add initial and current versions of IDF to kconfig

Closes IDF-3539

See merge request espressif/esp-idf!24183
2023-07-15 01:19:57 +08:00
Wu Zheng Hui
deae388e3c Merge branch 'bugfix/fix_sleep_cache_spi_safe_issues' into 'master'
Power Management: fix cache spi flash related issues in sleep process

Closes WIFI-6009 and IDF-7572

See merge request espressif/esp-idf!24270
2023-07-15 00:37:31 +08:00
Mahavir Jain
e73447622b Merge branch 'docs/update_cn_for_nvs-flash_and_flash-encryption' into 'master'
Docs: Update CN for nvs-flash and flash-encryption

Closes DOC-5321

See merge request espressif/esp-idf!24519
2023-07-14 23:04:32 +08:00
wuzhenghui
797efb1dd3 ci: add pd_vddsdio in lightsleep UT tests
- Add pd_vddsdio in lightsleep UT tests to ensure proper functionality
2023-07-14 21:21:23 +08:00
Chen Yudong
3434d1a64d ci(tools): fix build_template_app.sh syntax error 2023-07-14 19:47:08 +08:00
Roland Dobai
88f18aa54a Merge branch 'bugfix/import_curses_module_check' into 'master'
Tools: curses tool existence check

Closes IDFGH-10387

See merge request espressif/esp-idf!24462
2023-07-14 16:58:37 +08:00
Roland Dobai
6fd497428b Merge branch 'pkg_resources_deprecation' into 'master'
[tools] python_dep_check: replace deprecated pkg_resources with importlib

Closes IDF-7603 and IDFGH-10465

See merge request espressif/esp-idf!24436
2023-07-14 13:58:40 +08:00
Wang Zi Yan
3e4152cdcf docs: Update CN for nvs_flash.rst and flash-encryption.rst 2023-07-14 04:05:53 +00:00
Chen Ji Chang
7ec38eb309 Merge branch 'bugfix/update_all_esp32xxx/rom/gpio.h_comments' into 'master'
gpio: Update the incorrect comments in rom/gpio.h

Closes IDFGH-10490

See merge request espressif/esp-idf!24487
2023-07-13 19:44:31 +08:00
Armando (Dou Yiwen)
c7d8b06fd2 Merge branch 'feature/add_esp32p4_esp_rom_support' into 'master'
esp_rom: add esp32p4 esp_rom support

See merge request espressif/esp-idf!24703
2023-07-13 19:08:42 +08:00
Daniel Mangum
647e7a2a71
fix: Replace deprecated flushregs alias with full gdb command
Usage of `flushregs` in gdb will result in the following warning:

```
Warning: 'flushregs', an alias for the command 'maintenance flush register-cache', is deprecated.
Use 'maintenance flush register-cache'.
```

This patch updates to use the recommend command.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Merges https://github.com/espressif/esp-idf/pull/11535
2023-07-13 09:26:47 +02:00
Armando
3461449494 feat(esp32p4): added esp_rom support 2023-07-13 12:38:54 +08:00
Chen Jichang
b9c22b126a bugfix(driver/gpio):update the incorrect comment
There are some register description errors in parts of rom/gpio.h
This commit update the incorrect comments in rom/gpio.h And now
esp_rom_gpio.h is recommend instead of rom/gpio.h. So this commit adds
macro SIG_GPIO_OUT_IDX in esp_rom_gpio_connect_out_signal
function and removes the reference to gpio.h in some source files.

Closes https://github.com/espressif/esp-idf/issues/11737
2023-07-13 10:52:50 +08:00
Marek Fiala
206c46325a fix(tools): Tool curses import check
Verify that curses tool can be successfully imported on unix systems

When detected:
- installing esp-idf -> reinstall python environment
- using idf.py menuconfig -> raise error with hint message

Closes https://github.com/espressif/esp-idf/issues/11643
2023-07-12 13:23:06 +00:00
Zim Kalinowski
d155a04fd5 fix(example): included esp_system.h in helloworld example in order to fix warning 2023-07-12 10:09:41 +08:00
Peter Dragun
c7da726b0b fix(tools/python_dep_check): replace deprecated pkg_resources with importlib
Closes https://github.com/espressif/esp-idf/issues/11712
2023-07-11 16:09:03 +02:00
Jakob Hasse
87f8a8e20c Merge branch 'feature/mock_usb_serial' into 'master'
usb serial mock

See merge request espressif/esp-idf!24565
2023-07-11 19:32:50 +08:00
Roland Dobai
a065f0fc9f Merge branch 'feature/apptrace_visualization' into 'master'
Apptrace realtime visualization support

See merge request espressif/esp-idf!22694
2023-07-11 17:33:24 +08:00
Wu Zheng Hui
4c713227ae Merge branch 'bugfix/fix_idf_monitor_parsing_pc_with_wrong_rom_elf' into 'master'
bugfix: fix idf passing wrong chip revision to idf_monitor

See merge request espressif/esp-idf!24609
2023-07-11 17:14:10 +08:00
Roland Dobai
15c4b93893 Merge branch 'asyncio_error' into 'master'
[Tools] hints: add guide to fix error with unsupported asyncio

Closes IDFGH-10485

See merge request espressif/esp-idf!24528
2023-07-11 17:05:11 +08:00
Roland Dobai
5fca97387b Merge branch 'coredump-info-offset' into 'master'
Tools: coredump-info - fix non-default partition table offset issues

Closes IDFGH-10305

See merge request espressif/esp-idf!24087
2023-07-11 17:03:05 +08:00
morris
682e5ae450 Merge branch 'feature/esp_gdma_ops' into 'master'
feat(esp_gdma): add hal interface for common operations

Closes IDF-7809

See merge request espressif/esp-idf!24433
2023-07-11 10:40:42 +08:00
Peter Dragun
d4428ca1db feat(tools/kconfig): add initial and current versions of IDF to kconfig 2023-07-10 17:01:51 +02:00
Jakob Hasse
9ed56031b2 feat(linux): added esp_wifi mocking support 2023-07-10 19:40:09 +08:00
Jakob Hasse
54450fa4c2 feat(driver): Added usb serial mock 2023-07-10 17:46:59 +08:00
Peter Dragun
58c467f3aa fix(tools/coredump-info): pass non-default partition table offset to esp-coredump
Closes https://github.com/espressif/esp-idf/issues/11564
2023-07-10 10:42:06 +02:00
Jakob Hasse
fad3294f04 Merge branch 'refactor/merge_linux_driver_build_test' into 'master'
Linux: Merged rmt and driver Linux build test to one application

See merge request espressif/esp-idf!24395
2023-07-10 15:44:50 +08:00
morris
56a376c696 feat(esp_gdma): add hal interface for common operations
GDMA driver will be adapted to more DMA peripherals in the future.
This commit is to extract a minimal interface in the hal layer
2023-07-10 13:45:57 +08:00
Mahavir Jain
c3e5f05622 Merge branch 'example/remove_http2_example' into 'master'
remove(http2_request): Move http2_request example to idf-extra-components repository

Closes IDF-7659

See merge request espressif/esp-idf!24561
2023-07-07 13:25:02 +08:00
Armando (Dou Yiwen)
adb93a3770 Merge branch 'feature/add_esp32p4_soc_support_part_3' into 'master'
soc: added soc headers for esp32p4 (part 3)

See merge request espressif/esp-idf!24481
2023-07-07 11:44:46 +08:00
Armando
611c1037a2 feat(soc): added soc_caps.h on esp32p4 2023-07-06 17:54:31 +08:00
morris
2e5eb30382 Merge branch 'origin/bugfix/fix_header_violations_in_hal_component' into 'master'
Fix(components/hal): fix header violations in hal component

Closes IDF-7658

See merge request espressif/esp-idf!24493
2023-07-06 10:32:25 +08:00
Planck (Lu Zeyu)
333553caf2 fix(hal): check the public header files and fix violations
fix(hal/include): fix header violations in hal component
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Add comment for a far away `#endif`
fix(hal/include): change scope for cpp guard
ci: Remove components/hal/ comment from public headers check exceptions
Add missing include macro sdkconfig.h for header files
Add missing include macro stdbool.h for header files
Add missing include macro stdint.h for header files
Add missing capability guard macro for header files
Add missing cpp guard macro for header files
Remove some useless include macros
Add some missing `inline` attribute for functions defined in header files
Remove components/hal/ from public headers check exceptions
fix(hal/include): fix invalid licenses
fix(hal/include): fix invalid licenses
fix(hal/include): add missing soc_caps.h
fix(hal): include soc_caps.h before cap macro is used
fix(hal): Remove unnecessary target check
fix(hal): fix header and macro problems
Add missing include macro
Remove loop dependency in hal
Add comment for far-away endif
fix(hal): Add missing soc_caps.h
ci: update check_copyright_ignore.txt
Change the sequence of `#include` macro, cpp guard macro
Change the wrap scope of capacity macro

fix(hal): Change position of C++ guard to pass test
2023-07-05 17:33:32 +08:00
wuzhenghui
78c959b13e fix: fix idf passing wrong chip revision to idf_monitor 2023-07-05 17:30:12 +08:00
morris
f0c07f82b5 fix(test): check call graph for hal component 2023-07-05 09:09:01 +08:00
morris
0298e6f257 Merge branch 'feature/gpio_num_per_target' into 'master'
refactor(gpio): per-target gpio number definition

See merge request espressif/esp-idf!24546
2023-07-04 14:12:39 +08:00
Harshit Malpani
c24d012808
remove(http2_request): Move http2_request example to idf-extra-components repository
Related: https://github.com/espressif/idf-extra-components/pull/193/
2023-07-03 17:46:16 +05:30
Peter Dragun
341390f928 fix(tools/hints): add guide to fix error with unsupported asyncio
Closes https://github.com/espressif/esp-idf/issues/11732
2023-07-03 10:26:26 +02:00
morris
d623ce0d53 refactor(gpio): per-target gpio number definition 2023-07-03 13:33:11 +08:00
Alexey Lapshin
4df3ff619e feat(esp_system): implement hw stack guard for riscv chips
- add hardware stack guard based on assist-debug module
- enable hardware stack guard by default
- disable hardware stack guard for freertos ci.release test
- refactor rtos_int_enter/rtos_int_exit to change SP register inside them
- fix panic_reason.h header for RISC-V
- update docs to include information about the new feature
2023-07-01 16:27:40 +00:00
Alexey Lapshin
f92908ceb1 Merge branch 'fix/segger_sysview_build' into 'master'
fix(app_trace): Fix SystemView build

Closes IDF-7661

See merge request espressif/esp-idf!24430
2023-06-30 01:12:07 +08:00
Frantisek Hrbata
26ccaf35f0 fix(test_submodules.py): don't rely on submodule init
Current version of the test is using "git-submodule foreach", which
requires submodules to be initialized. Non-initialized submodules are
ignored. Our CI is not performing submodule initialization, but instead
it only downloads the submodule content in tools/ci/ci_fetch_submodule.py
from cache and copies it into the submodule path.

Since we already know the submodule path from .gitconfig, we can use it
as argument to git-ls-tree and avoid calling git-submodule at all. This
allows to perform the test even if the submodules are not initialization
and also it makes the code simpler.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-29 10:47:24 +02:00
Alexey Lapshin
ef699e70ad fix(app_trace): Fix SystemView build 2023-06-28 18:28:36 +04:00
radim.karnis
6a2a7521c8 ci(esp_idf_monitor): Extend test_app for ROM ELF address decoding 2023-06-28 15:42:05 +02:00
Fu Hanxi
0fa985ceb0 Merge branch 'ci/fix_multi_dut_real_test_case_missing_issue' into 'master'
ci(pytest): fix multi-dut missing c test case in the junit report issue

See merge request espressif/esp-idf!24418
2023-06-28 09:03:27 +08:00
Eren Terzioglu
804c12646b feat(apptrace): Added sensor data visualization example
Added example and python script to show how to transfer and visualize sensor data.
2023-06-27 18:32:56 +03:00
Martin Vychodil
e097c40345 Merge branch 'bugfix/memprot_checks' into 'master'
[System] remove Memprot specific checks and setup (heap caps, OS restart)

Closes IDF-7255

See merge request espressif/esp-idf!23433
2023-06-27 21:14:09 +08:00
Mahavir Jain
f2f5b41702 Merge branch 'example/remove_coap_example_from_idf' into 'master'
Move CoAP examples to idf-extra-component repository

See merge request espressif/esp-idf!24376
2023-06-27 15:59:19 +08:00
Alex Lisitsyn
a12537decb Merge branch 'update/docs_api_refs_modbus_esp32h2' into 'master'
docs: updated modbus api reference documents for target esp32h2

Closes IDF-6679

See merge request espressif/esp-idf!23931
2023-06-27 15:01:04 +08:00
Jiang Jiang Jian
7b89dcf029 Merge branch 'bugfix/change_shell_to_python' into 'master'
change shell to python

See merge request espressif/esp-idf!24295
2023-06-27 13:47:28 +08:00
Harshit Malpani
d9e8aca7ee
remove(coap)!: Move CoAP examples to idf-extra-components repository
Related:
https://github.com/espressif/idf-extra-components/pull/188
2023-06-27 11:16:21 +05:30
Fu Hanxi
63fe059b55 ci(pytest): fix multi-dut missing c test case in the junit report issue 2023-06-27 11:06:22 +08:00
Martin Vychodil
65bc1ed055 System: remove digital-system reset within OS restart when Memprot on 2023-06-26 20:22:59 +02:00
morris
1c0be26531 fix(soc): soc header files can pass CI check 2023-06-26 23:00:45 +08:00
ding huan
859df2a983 feat(certs): Add python script for generating certificate 2023-06-26 22:38:33 +08:00
aleks
f6a5474336 docs: updated modbus api reference documents for target esp32h2 2023-06-26 14:00:31 +00:00
Radim Karniš
7edf6f16d1 Merge branch 'fix/pyparsing_3.1.0_compatibility' into 'master'
Fix: pyparsing>=3.1.0 compatibility

Closes IDF-7593

See merge request espressif/esp-idf!24329
2023-06-26 01:46:01 +08:00
Jakob Hasse
775a7eb566 refactor(CI): Merged rmt and driver Linux build test 2023-06-25 17:25:49 +08:00
radim.karnis
4020b0deb0 fix: Compatibility with pyparsing>=3.1.0 2023-06-20 19:45:05 +02:00
wuzhenghui
ef8e8c1719 bugfix: increase pm_dump time field width
Closes https://github.com/espressif/esp-idf/issues/11704
2023-06-20 20:17:50 +08:00
Fu Hanxi
cf0e2273b5 ci: ignore pkg_resources deprecation warning 2023-06-20 08:38:01 +08:00
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
Jiang Jiang Jian
3a45d4e949 Merge branch 'bugfix/update_esp_rom_layout' into 'master'
esp_rom: fix rom layout issues

See merge request espressif/esp-idf!23888
2023-06-16 13:55:08 +08:00
David Čermák
28c643a56d Merge branch 'feature/example_network_wifi_bridge_provisioning' into 'master'
Examples/Network: Add WiFi to Eth/USB bridge example

See merge request espressif/esp-idf!23978
2023-06-16 01:04:32 +08:00
Konstantin Kondrashov
c350c3c504 Merge branch 'feature/cleanup_wrong_log_use' into 'master'
all: Removes unnecessary newline character in logs

Closes IDFGH-10197

See merge request espressif/esp-idf!24131
2023-06-15 21:49:49 +08:00
Jiang Jiang Jian
13c794f5be Merge branch 'feature/add_generate_cert_script' into 'master'
add generate cert script

See merge request espressif/esp-idf!24075
2023-06-15 20:32:58 +08:00
Ding Huan
864f7632a4 add generate cert script 2023-06-15 20:32:57 +08:00
Wan Lei
dccc31e9e4 Merge branch 'refactor/remove_apb_ctrl_reg' into 'master'
sysreg: deprecate apb_ctrl related reg

Closes DOC-5139

See merge request espressif/esp-idf!24135
2023-06-15 14:57:32 +08:00
Marek Fiala
5033637899 Tools: Rewrite build system unit tests to python - partitions, components, docs 2023-06-14 12:17:53 +00:00
Armando (Dou Yiwen)
6f4ee07b69 Merge branch 'feature/uf2_c6_p4' into 'master'
tools: added UF2 identificator for esp32c6 and esp32p4

Closes IDF-5626

See merge request espressif/esp-idf!24223
2023-06-14 18:48:26 +08:00
Frantisek Hrbata
314ebbcf36 tools: add sbom-hash check to pre-commit
This uses the test from CI introduced in MR !23989. Even though the
original CI test is run with pytest, it doesn't use any pytest specific
code/features and it should never need them. So it make sense just to
re-use the code.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-14 09:31:10 +00:00
Roland Dobai
f351c3fc35 Merge branch 'feature/submodules_sbom' into 'master'
tools: add sbom information for submodules

Closes IDF-7416

See merge request espressif/esp-idf!23989
2023-06-14 17:30:06 +08:00
Armando
107b84eb31 tool: added UF2 identificator for esp32c6 and esp32p4
The IDs were submitted in https://github.com/microsoft/uf2/pull/76
2023-06-14 15:29:23 +08:00
Armando (Dou Yiwen)
17d6768e65 Merge branch 'feature/add_target_esp32p4' into 'master'
esp32p4: introduce the target

See merge request espressif/esp-idf!24155
2023-06-14 10:16:44 +08:00
Roland Dobai
0de9dab5bb Merge branch 'fix/flash_progression_processing' into 'master'
tools: process progression for flash action output

See merge request espressif/esp-idf!23911
2023-06-13 23:03:38 +08:00
Anton Maklakov
b9cc4f045b Merge branch 'feature/tools_add_ulp_linux_i686_toolchain' into 'master'
tools: add ULP toolchain for linux-i686 platform

See merge request espressif/esp-idf!24185
2023-06-13 16:38:14 +08:00
Marius Vikhammer
86c5b437b5 Merge branch 'ci/trim_test_apps' into 'master'
core-system: limit build components for core-system test apps

Closes IDF-7092

See merge request espressif/esp-idf!24167
2023-06-13 15:31:00 +08:00
Armando
101e6a18eb esp32p4: introduce the target
Add esp32p4 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32p4`
2023-06-13 15:16:11 +08:00
Marius Vikhammer
6d11c37ff1 core-system: trim build components for core-system test apps 2023-06-13 09:14:42 +08:00
Anton Maklakov
d58004f57a tools: add ULP toolchain for linux-i686 platform
Closes https://github.com/espressif/esp-idf/issues/11561
2023-06-13 00:48:23 +07:00
Alexey Lapshin
07c7fe929b tools: process progression for flash action output 2023-06-12 13:56:59 +04:00
wanlei
3ed82deedf sysreg: deprecate apb_ctrl related reg, suggest syscon 2023-06-09 17:34:10 +08:00
Marek Fiala
ae99820399 Tools bugfix: Removed working directory when using idf.py
Added check for existence of current working directory when using idf.py

Closes https://github.com/espressif/esp-idf/issues/11476
2023-06-09 08:46:26 +00:00
Alexey Gerenkov
d4e1935ba8 Merge branch 'feature/compiler_rt_support' into 'master'
build: Adds support for compiler-rt in Clang toolchain

See merge request espressif/esp-idf!21213
2023-06-09 04:41:34 +08:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Alexey Gerenkov
dd5880cca6 build: Add Clang toolchain file for ESP32-H4 2023-06-08 16:49:42 +03:00
Alexey Gerenkov
e9345bcced build: Adds support for Clangs's toolchain compiler-rt 2023-06-08 16:49:37 +03:00
David Cermak
08c5e6e07c provisioning: Add httpd transport (alias of softAP, netif agnostic)
The script works the same way with httpd and softap mode, but it's a bit
confusing to provision the device over Ethernet or USB and call the
transport "softap". That's why we introduce an alias called httpd which
uses the same idea (http server with service name), but that service
runs on any interface (where the specified service is available)
2023-06-08 07:33:52 +02:00
Frantisek Hrbata
7819965039 tools: do not disable pytest-embedded
As pointed out by Fu Hanxi, the pytest_build_system job is currently
using --parallel-index and --parallel-count, which are provided by
pytest-embedded, so we should not disable it. Moreover to properly
disable pytest-embedded we should use "no:pytest_embedded". Meaning
this probably was not working as indented anyway.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-06 15:01:08 +02:00
Frantisek Hrbata
925bc17cd0 tools: add sbom information for submodules
This adds SBOM information for submodules, which are not managed
by Espressif. Meaning there is no fork for them in the espressif
namespace. Other submodules should add sbom.yml manifest file to
the root of their git repository.

The SBOM information for submodules is stored in the .gitmodules file.
Each SBOM related variable has the "sbom-" prefix and the following
variables may be used:

sbom-version:
   submodule version

sbom-cpe:
   CPE record if available in NVD. This will be used by the SBOM
   tool to check for possible submodule vulnerabilities. The
   version in the CPE can be replaced with the "{}" placeholder,
   which will be replaced by the "sbom-version" value from above.

sbom-supplier:
   Person or organization who is providing the submodule.
   It has to start with "Person:" or "Organization:" prefix
   as required by the SPDX-2.2 standard.

sbom-url:
   URL to the project if exists, e.g. github.

sbom-description:
   Project description.

sbom-hash:
   Submodule SHA as recorded in the git-tree. This field is used by
   CI to check that the submodule checkout hash and info in .gitmodules
   are in sync. IOW if submodule is updated and it has SBOM info in
   .gitmodules, the .gitmodules has to be updated too. The test is
   part of this commit. The checkout has of the submodule can be found
   by using "git submodule status".

Example for micro-ecc submodule
---8<---
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
	path = components/bootloader/subproject/components/micro-ecc/micro-ecc
	url = ../../kmackay/micro-ecc.git
	sbom-version = 1.0
	sbom-cpe = cpe:2.3🅰️micro-ecc_project:micro-ecc:{}:*:*:*:*:*:*:*
	sbom-supplier = Person: Ken MacKay
	sbom-url = https://github.com/kmackay/micro-ecc
	sbom-description = A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors
	sbom-hash = d037ec89546fad14b5c4d5456c2e23a71e554966
---8<---

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-06 15:01:08 +02:00
Fu Hanxi
a58aed1187 Merge branch 'ci/fix_multi_needs_test_cases_skipped_issue' into 'master'
ci: fix duplicated names for generated built app list

See merge request espressif/esp-idf!24034
2023-06-06 11:24:39 +08:00
Marius Vikhammer
adef00f363 Merge branch 'bugfix/comp_opt_level_debug_rename' into 'master'
core-system: changed CONFIG_COMPILER_OPTIMIZATION_DEFAULT to CONFIG_COMPILER_OPTIMIZATION_DEBUG

Closes IDFGH-6776

See merge request espressif/esp-idf!24033
2023-06-06 10:31:01 +08:00
Fu Hanxi
4ff9ed5971 ci: fix duplicated names for app list issue 2023-06-05 10:19:11 +08:00
Zim Kalinowski
2ab094192d Merge branch 'bugfix/saving-esp-idf-env-as-utf8' into 'master'
build system: fix init.bat crash in windows when folder contains unicode characters

See merge request espressif/esp-idf!24024
2023-06-02 20:32:55 +08:00
Marius Vikhammer
bd4c0fca3c core-system: changed CONFIG_COMPILER_OPTIMIZATION_DEFAULT to CONFIG_COMPILER_OPTIMIZATION_DEBUG
DEBUG is more descriptive and is consistent with the name used in the bootloader:
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG

Closes https://github.com/espressif/esp-idf/issues/8404
2023-06-02 15:16:50 +08:00
Roland Dobai
fff19088a2 Merge branch 'feature/extend_proj_desc_json' into 'master'
extend information in project_description.json

Closes IDF-7412

See merge request espressif/esp-idf!23972
2023-06-01 20:44:47 +08:00
Zim Kalinowski
b506176e65 build system: fix init.bat crash in windows when folder contains unicode characters 2023-06-01 10:44:54 +02:00
Marius Vikhammer
c60b79978d Merge branch 'ci/system_test_apps_optimize' into 'master'
ci: cleanup tools/system test apps

See merge request espressif/esp-idf!23886
2023-06-01 13:32:00 +08:00
Marius Vikhammer
9f31c65458 Merge branch 'feature/c6_ulp_gpio' into 'master'
ulp: added gpio API for lp core

Closes IDF-6834

See merge request espressif/esp-idf!23766
2023-06-01 09:50:33 +08:00
Alexey Gerenkov
8846674e54 tools: Upgrade Clang toolchain to 'esp-16.0.0-20230516' 2023-05-31 22:07:15 +03:00
Frantisek Hrbata
56289013ba tools: extend information in project_description.json
This extends information provided in the project_description.json file.
Newly added information can be used in the SBOM generating tool and
also to improve hints regarding the the component dependency issues.

Added fields

version:
   This adds versioning to the project_description.json file,
   so it's easy to identify if it contains the required information.

project_version:
   Can be used as a version for the resulting binary e.g. `hello_world.bin`.

idf_path:
   This one is probably not necessary, but it allows tools to run even without
   esp-idf environment exported(e.g. export.sh).

c_compiler:
   The `CMAKE_C_COMPILER` value with full path to the compiler binary. This can
   be used to get information about toolchain, which was used to build the project.

common_component_reqs:
   List of common components as presented in cmake's __COMPONENT_REQUIRES_COMMON
   and set in tools/cmake/build.cmake:__build_init().

build_component_info:
   Detailed information about components used during build. It's a
   dictionary with the component name as a key and each component has
   a dictionary with detailed information. Following is an example for
   the efuse component.

   "efuse": {
       "alias": "idf::efuse",
       "target": "___idf_efuse",
       "prefix": "idf",
       "dir": "/home/fhrbata/work/esp-idf/components/efuse",
       "type": "LIBRARY",
       "lib": "__idf_efuse",
       "reqs": [],
       "priv_reqs": [ "bootloader_support", "soc", "spi_flash" ],
       "managed_reqs": [],
       "managed_priv_reqs": [],
       "file": "/home/fhrbata/work/blink/build/esp-idf/efuse/libefuse.a",
       "sources": [ "/home/fhrbata/work/esp-idf/components/efuse/esp32s3/esp_efuse_table.c", ... ],
       "include_dirs": [ "include", "esp32s3/include" ]
   }

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-05-30 12:07:20 +02:00
Frantisek Hrbata
483b7ae763 tools: fix make_json_list to return empty json list for empty cmake list
Currently make_json_list() returns '[ "" ]' for empty cmake list. Fix this
so empty json list is returned instead.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-05-30 12:07:20 +02:00
Marius Vikhammer
350650eb73 ci: cleanup tools/system test apps 2023-05-30 15:42:37 +08:00
Marius Vikhammer
dacc51dd2b ulp/lp-core: added gpio API for lp core as well as an example showcasing it. 2023-05-29 11:13:47 +08:00
Fu Hanxi
22e2738f78 ci: build and test only modified components related test cases 2023-05-26 22:59:57 +08:00
Fu Hanxi
35adff40e0 ci: get_mr_info support components 2023-05-26 22:59:56 +08:00
Roland Dobai
729f791e90 Merge branch 'fix/idf_tools_certificate' into 'master'
Tools: Update the certificate of idf_tools.py

See merge request espressif/esp-idf!23832
2023-05-25 22:25:11 +08:00
Mahavir Jain
e2fe2bf152 Merge branch 'fix/xts_aes_register_prefix_discrepency' into 'master'
fix: xts aes register prefix discrepancy

Closes DOC-5136 and DOC-5140

See merge request espressif/esp-idf!23900
2023-05-25 16:40:13 +08:00
Zim Kalinowski
c74c18520e Merge branch 'bugfix/improve-git-describe-handling' into 'master'
build system: more accurate error information for git_describe

Closes IDFGH-7504

See merge request espressif/esp-idf!23891
2023-05-25 16:21:40 +08:00
harshal.patil
0058fb3a05 esp32c3: xts-aes register prefix discrepency 2023-05-25 11:27:10 +05:30
Fu Hanxi
d29b3ee584 Merge branch 'test/idf-build-apps-1.0.0' into 'master'
CI: make master pipeline compatible with idf-build-apps 1.0.0 release

See merge request espressif/esp-idf!23892
2023-05-25 13:51:21 +08:00
Fu Hanxi
1f851fd405 ci: fix breaking change in idf-build-apps 1.0.0 2023-05-25 08:36:44 +08:00
Chen Yu Dong
2da7873096 Merge branch 'bugfix/case_tester__multi_dev_cases' into 'master'
CI: fix multi dev case tester

See merge request espressif/esp-idf!23869
2023-05-24 16:26:02 +08:00
Roland Dobai
5e6beade2d Merge branch 'feature/rewrite_build_sys_tests_v4' into 'master'
Tools: Rewrite build system unit tests to python - idf.py sdkconfig, bootloader, components

Closes IDF-7164

See merge request espressif/esp-idf!22325
2023-05-24 14:19:35 +08:00
Zim Kalinowski
369d8a0f8a build system: more accurate error information for git_describe
Closes https://github.com/espressif/esp-idf/issues/9071

See merge request espressif/esp-idf!23891
2023-05-23 18:30:01 +02:00
Marek Fiala
fb0dc46183 Tools: Rewrite build system unit tests to python - sdkconfig, bootloader, components 2023-05-23 09:47:39 +00:00
jiangguangming
0d0fa7bda2 esp_rom: fix rom layout issues 2023-05-23 17:04:10 +08:00
Laukik Hase
a06118012e
docs: Update nvs_flash docs for the HMAC-based NVS encr-keys protection scheme
- Also updated the `nvs_partition_generator` and `mass_mfg` tools
  documentation
2023-05-23 13:55:57 +05:30
Laukik Hase
9ac87fcc8b
nvs_partition_gen/mass_mfg: Support for HMAC-based scheme for generating NVS encr-keys 2023-05-23 13:55:55 +05:30
Laukik Hase
c1bed366ba
nvs_flash: Add support for HMAC-based NVS encryption keys protection scheme
- This features allows the NVS encryption keys to be derived and protected using
  the HMAC peripheral. Since the encryption keys are derived at runtime, they
  are not stored anywhere in the flash and hence this feature does not require
  a separate `nvs_keys` partition.
2023-05-23 13:55:52 +05:30
Alexey Lapshin
072b70bed9 Merge branch 'fix/hints-print-control-characters' into 'master'
tools: fix control characters print if hints enabled

Closes IDFGH-10075

See merge request espressif/esp-idf!23872
2023-05-23 14:19:16 +08:00
Alexey Lapshin
59206e39a0 tools: fix control characters print if hints enabled
Closes https://github.com/espressif/esp-idf/issues/11351
2023-05-22 20:18:02 +08:00
Chen Yudong
1ca937c520 CI: fix multi dev case tester 2023-05-22 19:49:21 +08:00
Alexey Lapshin
a77f723962 Merge branch 'feature/riscv-gdbstub-runtime' into 'master'
esp_gdbstub: implement runtime gdbstub for riscv

Closes IDF-5621

See merge request espressif/esp-idf!23110
2023-05-22 17:20:17 +08:00
Alexey Lapshin
9220eea4e4 test: gdbstub_runtime: initial commit 2023-05-19 20:15:58 +08:00
Alexey Lapshin
96768d7596 test: panic: use gdb-no-python to have ability to send signals 2023-05-19 20:15:58 +08:00
Roland Dobai
20a7aa9315 Tools: Update the certificate of idf_tools.py 2023-05-19 13:51:37 +02:00
Chip Weinberger
3824eba04d
feat(httpd): add support for asynchronous request handling
This commit adds support for handling multiple requests simultaneously by introducing two new functions: `httpd_req_async_handler_begin()` and `httpd_req_async_handler_complete()`. These functions allow creating an asynchronous copy of a request that can be used on a separate thread and marking the asynchronous request as completed, respectively.

Additionally, a new flag `for_async_req` has been added to the `httpd_sess_t` struct to indicate if a socket is being used for an asynchronous request and should not be purged from the LRU cache.

An example have been added to demonstrate the usage of these new functions.

Closes https://github.com/espressif/esp-idf/issues/10594

Signed-off-by: Harshit Malpani <harshit.malpani@espressif.com>
2023-05-19 10:05:42 +05:30
KonstantinKondrashov
b605404b06 esp_app_format: IRAM space optimization 2023-05-17 23:40:59 +08:00
C.S.M
50b4d5c6be Merge branch 'ci/move_timer_into_unity' into 'master'
spi_flash: migrate spi_flash UT to pytest component test app

Closes IDF-6730

See merge request espressif/esp-idf!19709
2023-05-16 14:09:25 +08:00
Roland Dobai
4c9fcce027 Merge branch 'bug/interactive_hints' into 'master'
tools: fix hints processing in interactive mode

Closes IDF-7314

See merge request espressif/esp-idf!23647
2023-05-15 21:50:10 +08:00
Zim Kalinowski
bd1ac6a566 Merge branch 'feature/adds_esp_bootloader_desc_t' into 'master'
esp_bootloader_format: Adds bootloader description structure to read bootloader version from app

Closes IDFGH-7206 and IDFGH-7573

See merge request espressif/esp-idf!21592
2023-05-15 17:54:43 +08:00
Cao Sen Miao
36aace3f47 spi_flash: Move most tests in unit-test to pytest 2023-05-15 14:58:51 +08:00
Cao Sen Miao
0f83970368 ci: Delete ccomp_timer in IDF(witch has been moved to component manager) 2023-05-15 14:58:51 +08:00
Alexey Lapshin
2327c5cd00 Merge branch 'feature/remove_coredump_tests' into 'master'
coredump: remove tests (moved to esp-coredump repo)

See merge request espressif/esp-idf!22858
2023-05-15 12:31:42 +08:00
C.S.M
12190809f9 Merge branch 'feature/flash_suspend_support' into 'master'
spi_flash: One more step for supporting flash suspend. 1. Support more esp chips 2. Improve real-time performance 3. Make timing more stable

See merge request espressif/esp-idf!22755
2023-05-12 14:16:11 +08:00
Cao Sen Miao
ed96dadd06 spi_flash: 2nd stage for supporting flash suspend. (1). Support more esp chips (2). Improve real-time performance (3). Making timing more stable (4) Add documents 2023-05-11 20:10:30 +08:00
Jakob Hasse
c8791f30c0 compiler: replaced noreturn by __noreturn__ in header files
* noreturn may be replaced by third-party macros,
  rendering it ineffective

* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-11 16:07:45 +08:00
Alexey Lapshin
0b078f5cd3 coredump: remove tests (moved to esp-coredump repo) 2023-05-11 12:13:52 +08:00
Roland Dobai
983987d158 Merge branch 'feat/install_script_help' into 'master'
feat: Install script help

Closes IDFGH-9936 and IDF-6764

See merge request espressif/esp-idf!23506
2023-05-10 21:44:28 +08:00
KonstantinKondrashov
69838403f9 esp_bootloader_format: Adds bootloader description structure to read bootloader version from app
Closes https://github.com/espressif/esp-idf/issues/8800
Closes https://github.com/espressif/esp-idf/issues/9132
2023-05-10 21:39:52 +08:00
Alexey Lapshin
e634137a03 Merge branch 'feature/libstd++-use-posix-pthread' into 'master'
tools: enable libstd++ to use idf posix-semaphores

Closes GCC-305 and IDFGH-9209

See merge request espressif/esp-idf!23588
2023-05-10 20:06:16 +08:00
Jakob Hasse
bc7a7e8451 Merge branch 'bugfix/cmake_cxx_language_standard' into 'master'
cmake: Corrected setting of C++ language standard

See merge request espressif/esp-idf!23520
2023-05-10 10:28:43 +08:00
Zim Kalinowski
a495f4729b Merge branch 'ci/fix_system_invalid_kconfigs' into 'master'
ci: fix invalid kconfig options in system test apps

See merge request espressif/esp-idf!23582
2023-05-10 01:38:46 +08:00
Frantisek Hrbata
a5d3c2d443 tools: fix hints processing in interactive mode
Currently hints are processed only once the process is finished and
exits with non-error exit code. In interactive mode, e.g. for monitor,
we want to process ouput lines for hints right away.

This adds a simple buffer, which keeps the last line and once EOL is
reached, it is processed for hints.

Since the original hints processing was file based, a new helper
function was added to allow processing hints in string.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-05-09 14:35:04 +02:00
Zim Kalinowski
3947688d54 Merge branch 'bugfix/make_clean_files' into 'master'
build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES

Closes IDF-2444

See merge request espressif/esp-idf!23628
2023-05-09 16:53:18 +08:00
Marius Vikhammer
a300b3eb81 ci: fix invalid kconfig options in system test apps 2023-05-09 11:27:55 +08:00
Jakob Hasse
0244c24c8d cmake: Corrected setting of C++ language standard
* reverted old faulty mechanism to set different
  standard according to the toolchain
* Using -std=gnu++2b now for both gcc and clang
* Added a build test app to check the C++ standard in IDF
* Updated english docs to reflect the change to C++23
2023-05-09 10:09:19 +08:00
Darian Leung
66499f17a5 freertos: Refactor component structure
This commit refactors the "freertos" component's structure as follows:

- "FreeRTOSConfig.h" related files moved to "./config" directory
- Refactored CMakeLists.txt file in preparation for v10.5.1 upgrade
    - Grouped list appends based on component organization
    - Removed some unecessarily public "include_dirs"
- Removed FreeRTOS-openocd.c
    - uxTopUsedPriority has been added back to tasks.c since v10.4.2
    - Thus the workaround in FreeRTOS-openocd.c is no longer needed and can
      be removed.
2023-05-08 18:40:03 +08:00
Marius Vikhammer
d17248ecdf build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES
ADDITIONAL_MAKE_CLEAN_FILES is deprecated and only worked with make.
Replaced with the new ADDITIONAL_CLEAN_FILES (CMake 3.15) which also works with ninja.
2023-05-08 15:51:48 +08:00
Alexey Lapshin
f51b55dabb tools: enable libstd++ to use idf posix-semaphores
Closes https://github.com/espressif/esp-idf/issues/10598
2023-05-05 13:37:49 +08:00
radim.karnis
9e035894cd feat: Install script help
Closes https://github.com/espressif/esp-idf/issues/11231
2023-05-04 13:47:05 +02:00
Erhan Kurubas
4ebe052263 Merge branch 'feature/update-OpenOCD-to-v0.12.0-esp32-20230419' into 'master'
tools: update OpenOCD version to v0.12.0-esp32-20230419

See merge request espressif/esp-idf!23297
2023-05-04 18:43:12 +08:00
Jakob Hasse
0a3cfce671 Merge branch 'contrib/github_pr_10895' into 'master'
Fix possible conversion errors by using __builtin_ffsll (GitHub PR)

Closes IDFGH-9541

See merge request espressif/esp-idf!23429
2023-05-04 10:41:46 +08:00
Alexey Gerenkov
644e339ed2 tools: update OpenOCD version to v0.12.0-esp32-20230419 2023-05-02 16:51:11 +00:00
Jakob Hasse
9f4236f825 ci: increased freertos SMP linux target test timeout 2023-04-28 17:49:37 +08:00
Marius Vikhammer
68088c6371 Merge branch 'ci/fix_overwrite_pytest_configs' into 'master'
ci: fixed test apps overriding idf_build_apps configs

See merge request espressif/esp-idf!23387
2023-04-27 14:32:18 +08:00
Marius Vikhammer
6fae679124 ci: cleanup, combine and remove old ttfw unit test app configs 2023-04-27 09:33:13 +08:00
Laukik Hase
56123c52aa Merge branch 'ci/migrate_nvs_flash_to_component_test_apps' into 'master'
nvs_flash: Migrate UTs to component test-apps

Closes IDF-5596

See merge request espressif/esp-idf!23411
2023-04-26 20:23:25 +08:00
Roland Dobai
782acb10e9 Merge branch 'feat/idf_flash_msg_improvement' into 'master'
Tools: Improve the flashing instructions printed after "idf.py build"

Closes IDFGH-9856

See merge request espressif/esp-idf!23326
2023-04-26 19:51:28 +08:00
Jakob Hasse
ca44fc3847 cxx/esp_hw_support: added build test, changed parameter types
Changed rv_utils_intr_edge_ack and esp_cpu_intr_edge_ack to
take uint32_t instead of int to avoid build errors.

The test is to test in particular that __builtin_ffsll, used in
xt_utils.h, which is included via esp_cpu.h, compiles fine
in C++20 with -Wsign-conversion enabled.

Closes https://github.com/espressif/esp-idf/pull/10895
2023-04-26 19:06:39 +08:00
Laukik Hase
4ac95a33fd
nvs_flash: Migrate UTs to component test-apps 2023-04-26 10:21:03 +05:30
Marius Vikhammer
1a5e47bd07 ci: fixed test apps overriding pytest configs 2023-04-26 11:07:35 +08:00
Martin Vychodil
668521dfe7 Merge branch 'feature/vfs_test_app' into 'master'
VFS: move tests from unit-test-app to a component test app

See merge request espressif/esp-idf!23145
2023-04-26 09:23:28 +08:00
Zim Kalinowski
98bf5a71c5 Merge branch 'refactor/optimize_test_app_builds' into 'master'
tools: setting components to main to reduce build time

See merge request espressif/esp-idf!23253
2023-04-25 22:40:05 +08:00
Jakob Hasse
af2d326a95 Merge branch 'feature/freertos_plus_posix_SMP' into 'master'
[FreeRTOS/Linux] POSIX/Linux and SMP

Closes IDF-6087

See merge request espressif/esp-idf!21818
2023-04-25 20:21:26 +08:00
Sonika Rathi
d83c681078 VFS: move tests from unit-test-app to a component test app 2023-04-25 17:24:20 +05:30
Jakob Hasse
620cc586a2 tools: setting components to main to reduce build time 2023-04-25 15:42:22 +08:00
Radek Tandler
d8f2c0e715 Merge branch 'feature/storage_host_test_ffs' into 'master'
fatfs: host test migrated to CMake and esp_partition emulation for linux

See merge request espressif/esp-idf!23265
2023-04-25 15:30:09 +08:00
C.S.M
7d9d27a060 Merge branch 'refactor/driver_ut_to_test_app' into 'master'
CI: Move all UT in driver to test_app

See merge request espressif/esp-idf!23343
2023-04-25 14:10:11 +08:00
Jakob Hasse
d6fe302904 freertos: Added partial unit tests for Linux simulator
* The unit tests are derived from the FreeRTOS test app
  in components/freertos/test_apps/freertos. They are
  quite incompatible with the main test application, which
  is why they have been placed under
  tools/test_apps/linux_compatible/linux_freertos for now.
2023-04-25 13:58:57 +08:00
Cao Sen Miao
8882ba2ba1 CI: Move all UT in driver to test_app 2023-04-25 10:40:32 +08:00
Marius Vikhammer
edb2994da9 ci: disable test_dram_reg2_execute_violation on esp32s2 2023-04-25 09:57:23 +08:00
Fu Hanxi
8be8a1cd22 Merge branch 'ci/fix_no_test_script_corner_case' into 'master'
ci: fix build script when no test script found

See merge request espressif/esp-idf!23361
2023-04-25 08:46:06 +08:00
Kevin (Lao Kaiyao)
6b5077f2d7 Merge branch 'refactor/remove_esp32h4_target' into 'master'
esp32h4: removed esp32h4 target (stage 2)

Closes IDF-7237, IDF-7238, and IDF-7239

See merge request espressif/esp-idf!23179
2023-04-24 23:34:19 +08:00
Ondrej Kosta
22caec278f Merge branch 'feature/emac_hal_cleanup' into 'master'
wrapped emac_ll functions to emac_hal

Closes IDFGH-8474

See merge request espressif/esp-idf!23078
2023-04-24 15:47:29 +08:00
Ivan Grokhotkov
39580dd08c
version: update to v5.2.0
Starting IDF v5.2 development
2023-04-23 21:52:21 +02:00
laokaiyao
49f16eefbb esp32h4: checked all the corner stuffs of the removal 2023-04-23 12:03:07 +00:00
laokaiyao
bf2a7b2df6 esp32h4: removed esp32h4 related codes 2023-04-23 12:03:07 +00:00
laokaiyao
b16ed57b2e esp32h4: removed esp32h4 related files 2023-04-23 12:03:07 +00:00
Fu Hanxi
55870f379d ci: fix build script when no test script found 2023-04-23 14:53:58 +08:00
Roland Dobai
1bf382a3e1 Merge branch 'monitor_win_color' into 'master'
bug(idf_monitor, hints): fix monitor colors on windows with hints

Closes IDF-5863

See merge request espressif/esp-idf!22070
2023-04-21 20:15:38 +08:00
radek.tandler
13a305656d host_test: cleanup of make based obsolete code in wl, fatfs and spi_flash 2023-04-21 10:45:17 +02:00
Fu Hanxi
fc329fa80f ci: remove unknown target, add H4 for check back 2023-04-21 14:43:31 +08:00
Fu Hanxi
3554c6e571 ci: run readme check when constants.py or check script updated 2023-04-21 14:43:21 +08:00
Roland Dobai
d75b7a7470 Tools: Improve the flashing instructions printed after "idf.py build"
Closes https://github.com/espressif/esp-idf/issues/11181
2023-04-20 15:30:34 +02:00
Kevin (Lao Kaiyao)
4fd62bce13 Merge branch 'refacor/remove_esp32h4_target_stage1' into 'master'
esp32h4: remove esp32h4 target (stage 1)

See merge request espressif/esp-idf!23237
2023-04-20 20:29:58 +08:00
David Čermák
e888bb0cf8 Merge branch 'bugfix/esp_netif_recieve_returns' into 'master'
esp_netif: Report error if esp_netif_receive() fails

Closes IDFGH-9398

See merge request espressif/esp-idf!22936
2023-04-20 17:47:28 +08:00
laokaiyao
1f84f6c6ed esp32h4: remove esp32h4 target from ci 2023-04-20 15:19:47 +08:00
Ondrej Kosta
c231c79fc8 HAL: wrapped emac_ll functions to emac_hal
Closes #9934
2023-04-19 12:46:45 +00:00
Jakob Hasse
d82eb6942c Merge branch 'contrib/github_pr_11025' into 'master'
Enable support for C++23 in esp-idf (GitHub PR)

Closes IDFGH-9684

See merge request espressif/esp-idf!23144
2023-04-19 15:53:46 +08:00
Darian
0bb3342491 Merge branch 'refactor/xtensa_move_common_source_files' into 'master'
Xtensa: Separate files according to Xtensa RTOS porting layer

See merge request espressif/esp-idf!21672
2023-04-19 15:15:21 +08:00
Ivan Grokhotkov
9adafb0f26 Merge branch 'feature/newlib_fsync_without_vfs' into 'master'
newlib: implement fsync for the case of CONFIG_VFS_SUPPORT_IO=0

See merge request espressif/esp-idf!21390
2023-04-19 02:47:53 +08:00
Roland Dobai
a05b306782 Merge branch 'esptool_extra' into 'master'
feat(esptool): allow to force flash chip

Closes IDF-6838 and IDF-5381

See merge request espressif/esp-idf!23097
2023-04-18 19:35:32 +08:00
Ivan Grokhotkov
35ea136d5a
newlib: implement fsync for the case of CONFIG_VFS_SUPPORT_IO=0
This feature allows calling fsync even if the vfs component is not
used.
The second part of the commit adds an fsync call in the panic test app
enabling it to be used over usb-serial-jtag.
2023-04-18 11:19:36 +02:00
Ivan Grokhotkov
274fa56e71 Merge branch 'bugfix/esp32s3_usb_otg_console' into 'master'
system: support USB_OTG CDC console on ESP32-S3

Closes IDF-2048, IDF-2987, IDFGH-7134, IDFGH-7291, and IDFGH-7835

See merge request espressif/esp-idf!19312
2023-04-18 16:28:49 +08:00
Darian Leung
9509c14510 build: Add --longcalls option to clang builds of xtensa targets
This commit adds the --longcalls option to UNIQ_CMAKE_ASM_FLAGS for clang
builds of xtensa targets to prevent "dangerous relocation" errors.
2023-04-18 15:51:38 +08:00
Peter Dragun
faa82b060c feat(esptool): allow to set force for write_flash 2023-04-17 12:53:01 +02:00
Peter Dragun
bebd2cec4a bug(idf_monitor): fix color on windows with hints
Closes https://github.com/espressif/esp-idf/issues/9610
2023-04-17 11:18:42 +02:00
Jakob Hasse
8f7a076619 cmake: C++23 only when not using clang 2023-04-14 17:57:01 +08:00
wanlei
c34ea9cef6 ci: pytest automation script increase timeout time 2023-04-14 12:03:38 +08:00
Ivan Grokhotkov
79a9615022
ci: add build test for CONFIG_ESP_CONSOLE_USB_CDC_SUPPORT_ETS_PRINTF 2023-04-12 11:17:41 +02:00
Ivan Grokhotkov
8e85fc8571
esp_rom: convert USB related headers to SPDX, update COPYRIGHTS.rst 2023-04-12 11:17:41 +02:00
Ivan Grokhotkov
80c9ef7b89
esp_rom: sync changes for ESP32-S3 USB related files, minor fix for S2
Used esp-rom tag esp32s3-20210327 and did manual cleanup.
Rename s_usb_osglue to rom_usb_osglue like it was done for esp32s2.
Some comments in esp32s2 headers are synced from esp32s3.
2023-04-12 11:07:56 +02:00
Ondrej Kosta
eb17a9d6e0 network_examples: added LwIP bridge test 2023-04-12 09:14:12 +02:00
Alexey Lapshin
e7d28e4277 Merge branch 'feature/esp32c6_esp32h2_enable_panic_tests' into 'master'
tests: panic: esp32c6/esp32h2 enable

Closes IDF-5662, IDF-6863, IDF-6865, IDF-6866, and IDF-6868

See merge request espressif/esp-idf!22943
2023-04-12 10:20:05 +08:00
Roland Dobai
f57e8eed78 Merge branch 'feature/hfp_ag_hints' into 'master'
tools: Update idf-py hints with Bluedriod HFP AG info

Closes IDF-5671

See merge request espressif/esp-idf!23089
2023-04-11 13:48:15 +08:00
Alexey Lapshin
2b6de209c8 tests: panic: add esp32c6 esp32h2 2023-04-10 17:49:51 +08:00
Marius Vikhammer
03c2c8db77 Merge branch 'feature/esp_sys_iram_cleanup' into 'master'
esp-system: move uncessary IRAM functions to flash

Closes IDF-7138 and IDF-7148

See merge request espressif/esp-idf!23121
2023-04-10 17:24:14 +08:00
Marius Vikhammer
7108ff093d Merge branch 'feature/sram1_iram' into 'master'
system: add kconfig option for using parts of SRAM1 for IRAM

Closes IDFGH-8351 and IDF-942

See merge request espressif/esp-idf!21214
2023-04-10 13:58:40 +08:00
Marius Vikhammer
db059b155a esp-system: move uncessary IRAM functions to flash 2023-04-10 11:10:28 +08:00
Marius Vikhammer
5cbd311ecf system: add kconfig option for using parts of SRAM1 for IRAM
Using parts of SRAM1 for IRAM allows apps with more statically allocated IRAM

Closes https://github.com/espressif/esp-idf/issues/9824
2023-04-07 07:12:58 +00:00
Marius Vikhammer
ff7fce9739 ci: fixed custom partition table subtype test not compiling for linux 2023-04-07 12:29:30 +08:00
Fu Hanxi
9153f9c927 ci: don't run idf-size for linux target 2023-04-07 12:29:30 +08:00
Fu Hanxi
01fd87bd05 ci: remove ttfw related info in tools/test_apps 2023-04-07 12:29:30 +08:00
Fu Hanxi
0f2a0058a3 ci: fix pytest build system 2023-04-07 10:42:12 +08:00
Wan Lei
b6d57a26ca Merge branch 'feature/spi_flash_enable_counters_on_esp_flash_driver' into 'master'
spi_flash: support  SPI_FLASH_ENABLE_COUNTERS on esp_flash driver and test this feature

Closes IDF-5623

See merge request espressif/esp-idf!19554
2023-04-06 15:48:42 +08:00
Roland Dobai
05a8d0b58a Merge branch 'bugfix/asyncio_progress_term_width' into 'master'
tools: fix progress output in asyncio.run with zero terminal width

Closes IDF-6646

See merge request espressif/esp-idf!22986
2023-04-06 15:23:39 +08:00
Roland Dobai
7d4835e817 Merge branch 'feature/rewrite_build_sys_tests_v3' into 'master'
Rewrite build system unit tests to python v3

Closes IDF-6842

See merge request espressif/esp-idf!22280
2023-04-06 15:21:32 +08:00
liqigan
fcc6ea1336 tools: Update idf-py hints with Bluedroid HFP AG info 2023-04-06 14:18:27 +08:00
gaoxu
542a61b6cb support SPI_FLASH_ENABLE_COUNTERS feature on esp_flash driver and rename the functions to esp_flash_xx 2023-04-06 11:40:40 +08:00
David Cermak
7d6241e761 esp_netif: Make esp_netif_receive() return value configurable 2023-04-05 12:18:21 +02:00
Zim Kalinowski
ab5d8d0008 Merge branch 'refactor/esp_partition_host_test_build_dir' into 'master'
esp_partition: partition_linux.c does not use hard-coded file anymore

Closes IDF-6644

See merge request espressif/esp-idf!22759
2023-04-04 18:35:24 +08:00
Roland Dobai
b3a54cf643 Merge branch 'bugfix/sdkconfig_abspath' into 'master'
ci: add build test for sdkconfig specified with abspath

Closes IDF-764

See merge request espressif/esp-idf!23020
2023-04-03 16:33:47 +08:00
Roland Dobai
775f8e7a49 Merge branch 'bugfix/set_target_with_stale_config' into 'master'
tools: fix set-target if IDF_TARGET env is set and stale sdkconfig exists

Closes IDF-7154

See merge request espressif/esp-idf!22950
2023-03-31 17:31:59 +08:00
Frantisek Hrbata
f6af455f57 ci: add build test for sdkconfig specified with abspath
On Windows, when path is specified as absolute for cmdl argument, cmake can
interpret parts of the path as invalid escape chars. For example "C:\Users\..."
will result in "Invalid character escape '\U'." Externally specified
paths should be converted into cmake's representation, which uses '/'.
This can be done e.g. by using 'get_filename_component()'. Currently
there doesn't seem to be any problem with this, but let's add a test for
this.

Suggested-by: Ivan Grokhotkov <ivan@espressif.com>
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-31 09:55:25 +02:00
Fu Hanxi
9295aef934 ci: remove linux build dir workaround 2023-03-31 15:07:07 +08:00
Rocha Euripedes
610d5ea0ae Merge branch 'ci/mqtt_test_app' into 'master'
ci: Migrate unit test for mqtt test to unit test app

Closes IDF-5594

See merge request espressif/esp-idf!22814
2023-03-30 15:33:07 +08:00
Frantisek Hrbata
84deb34035 tools: fix progress output in asyncio.run with zero terminal width
Currently the forced progress in RunTool is trying to fit the output
line into a terminal width, but it doesn't take into an account a
situation when the terminal width is reported as zero. This manifests
when running in docker image with redirected output and can be seen
in the github workflow output for esp-idf-ci-action.

docker run --rm -t my_ubuntu_esp python3 -c 'import os,sys; print(os.get_terminal_size(), sys.stdout.isatty())'
os.terminal_size(columns=238, lines=59) True

vs

docker run --rm -t my_ubuntu_esp python3 -c 'import os,sys; print(os.get_terminal_size(), sys.stdout.isatty())' | tee
os.terminal_size(columns=0, lines=0) True

Since the output is reported as tty and the terminal width as 0, the
fit_text_in_terminal() function returns empty string. I also verified this
by running idf.py build inside a testing docker image.

This fix adjusts the fit_text_in_terminal() function to return original
line if the terminal width is zero.

Also simplify the progress print and use same approach as ninja
https://github.com/ninja-build/ninja/blob/master/src/line_printer.cc#L66

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-29 17:12:36 +02:00
Roland Dobai
83469ddbac Merge branch 'feature/update_ccache_to_4.8' into 'master'
Tools: update ccache 4.6.2 -> 4.8

Closes IDF-6749

See merge request espressif/esp-idf!22881
2023-03-29 22:18:16 +08:00
Konstantin Kondrashov
6c5a7da77c Merge branch 'feature/unicore_bootloader_can_run_multicore_app' into 'master'
esp_system: Fix case when multicore app can not be run if bootloader is unicore

Closes IDFGH-9336

See merge request espressif/esp-idf!22664
2023-03-29 21:56:26 +08:00
Mahavir Jain
8894fae432 Merge branch 'feature/update_secure_boot_test_app_to_pytest' into 'master'
secure_boot_test_app: Update the test_app to use pytest framework

Closes IDFCI-1135

See merge request espressif/esp-idf!17967
2023-03-29 14:26:35 +08:00
KonstantinKondrashov
444c27e4e6 test_apps: Test multicore app can be run by unicore bootloader 2023-03-29 03:47:55 +08:00
Rocha Euripedes
98b75727ba Merge branch 'feature/socks_transport' into 'master'
tcp_transport: Adds SOCKS4 proxy transport

See merge request espressif/esp-idf!20479
2023-03-28 20:33:28 +08:00
Aditya Patwardhan
780f7f2669 secure_boot_test_app: Update the test_app to use pytest framework
* Added custom class IdfFpgaDut in pytest from ttfw_idf.IDFFPGADUT
2023-03-28 16:10:00 +05:30
Marek Fiala
b4446e1748 Tools: Rewrite build system unit tests to python - cmake libraries and Kconfig 2023-03-28 11:20:42 +02:00
Frantisek Hrbata
9b731e5e35 tools: fix set-target if IDF_TARGET env is set and stale sdkconfig exists
Currently if the IDF_TARGET env is set, and old sdkconfig exists with
different target value in CONFIG_IDF_TARGET, the set-target action fails
complaining about the IDF_TARGET env and value in sdkconfig being different.
We should ignore IDF_TARGET value from sdkconfig, because we are
actually setting new target and the old sdkconfig is renamed in cmake.

This can be easily reproduced with

---8<---
$ IDF_TARGET=esp32 idf.py set-target esp32
$ IDF_TARGET=esp32s3 idf.py set-target esp32s3

Project sdkconfig '/home/fhrbata/work/hello_world/sdkconfig' was generated
for target 'esp32s3', but environment variable IDF_TARGET is set to 'esp32'.
Run 'idf.py set-target esp32' to generate new sdkconfig file for target esp32.
---8<---

This also adds test for this use case to test_non_default_target.py.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-28 11:18:04 +02:00
Roland Dobai
51772f4fb5 Merge branch 'feature/update_rom_elfs' into 'master'
tools: update esp-rom-elf to version 20230320

See merge request espressif/esp-idf!22838
2023-03-28 17:10:44 +08:00
Djordje Nedic
3e0f612a7e tools: Move out idf_size.py in favour of using the esp-idf-size package
This commit removes all idf_size.py files and references to them and adds esp-idf-size as a dependency and adequate wrappers to avoid breaking changes.
2023-03-27 19:40:33 +02:00
Euripedes Rocha
d6db90a3cd [tcp_transport] - Adds Socks4 proxy transport
- Basic implementation of Socks4 protocol.
- Introduce basic host testing.
2023-03-27 14:46:40 +02:00
Euripedes Rocha
1acfc9b5e0 ci: Migrateunit test for mqtt test to unit test app
- Split mqtt and mqtt5 tests
 - Move common test code to a common component
 - Add necessary python scripts
2023-03-24 10:32:43 +01:00
Wan Lei
896f046ac2 Merge branch 'feature/support_spi_slave_hd_append_later_s2' into 'master'
spi_slave: support spi slave hd append mode on chips other than s2

Closes IDF-2943

See merge request espressif/esp-idf!19557
2023-03-23 14:19:32 +08:00
Mahavir Jain
786851bfbd Merge branch 'feature/esp32c6_esp32h2_supported' into 'master'
tools: idf.py: remove esp32c6 and esp32h2 from preview targets list, update chip/version support table

See merge request espressif/esp-idf!22868
2023-03-23 12:25:57 +08:00
Mahavir Jain
86b6f87d68 Merge branch 'bugfix/ram_loadable_elf_flash_mmap_issue' into 'master'
Fix flash mmap data integrity issue for RAM loadable ELF case

See merge request espressif/esp-idf!22802
2023-03-23 12:13:35 +08:00
Marek Fiala
b65500fd63 Tools: update ccache 4.6.2 -> 4.8 2023-03-22 16:26:21 +01:00
Darian
c71025d6d6 Merge branch 'refactor/freertos_config_files' into 'master'
FreeRTOS: Combine FreeRTOSConfig.h

Closes IDF-6082

See merge request espressif/esp-idf!22815
2023-03-22 22:01:37 +08:00
Jakob Hasse
2b895ef9d8 Merge branch 'feature/rmt_mock' into 'master'
Mocks: added RMT mock

See merge request espressif/esp-idf!22060
2023-03-22 20:18:46 +08:00
Tomas Rezucha
f3de7e574d Merge branch 'bugfix/usb_reg_header_definition_upd' into 'master'
USB: usb_reg.h update missing register bitfield description

See merge request espressif/esp-idf!22766
2023-03-22 17:43:43 +08:00
Darian Leung
05bda6595d freertos: Move FreeRTOSConfig_arch.h
This commit moves the FreeRTOSConfig_arc.h to the "esp_additions" directory
so that they can also be used for SMP FreeRTOS builds.
2023-03-22 16:32:29 +08:00
Ivan Grokhotkov
77541faa14
tools: idf.py: remove esp32c6 and esp32h2 from preview targets list 2023-03-21 20:41:44 +01:00
Roland Dobai
a0eb55e81a Merge branch 'add_win64_oocd_bins' into 'master'
tools: Add missed OpenOCD v0.12.0-esp32-20230313 binaries for win64 platform

See merge request espressif/esp-idf!22856
2023-03-22 01:01:04 +08:00
Ondrej Kosta
531e23c802 Merge branch 'bugfix/dm9051_rcv_mcast' into 'master'
esp_eth: allowed DM9051 to receive multicast packets

See merge request espressif/esp-idf!22768
2023-03-21 22:55:44 +08:00
Michael (XIAO Xufeng)
dbbc1ba5be Merge branch 'feat/merge_nuttx_patch' into 'master'
G0, G1: fix issues that prevents using G0/G1 components on other platforms

See merge request espressif/esp-idf!22521
2023-03-21 20:48:21 +08:00
Alexey Gerenkov
d2c02c901a tools: Add OpenOCD v0.12.0-esp32-20230313 binaries for win64 platform 2023-03-21 15:44:53 +03:00
Armando (Dou Yiwen)
75fc5a2512 Merge branch 'bugfix/mspi_timing_tuning_ll_assertion_disable_build_fail_issue' into 'master'
mspi: fix build failure under  assertion disable

Closes IDF-7077

See merge request espressif/esp-idf!22835
2023-03-21 12:37:21 +08:00
wanlei
66ca403bc6 spi_slave: support spi slave hd append mode on chips other than s2 2023-03-21 11:30:17 +08:00
Armando
eee34bcf70 mspi: fix build failure under assertion disable 2023-03-21 10:14:59 +08:00
Roland Dobai
288332d6a9 Merge branch 'feature/update-OpenOCD-to-v0.12.0-esp32-20230313' into 'master'
tools: update OpenOCD version to 'v0.12.0-esp32-20230313'

See merge request espressif/esp-idf!22744
2023-03-21 06:17:35 +08:00
0xFEEDC0DE64
a96f5bd5b0 Enable support for C++23 in esp-idf 2023-03-20 17:01:40 +01:00
Alexey Lapshin
12ab3625ca tools: update esp-rom-elf to version 20230320 2023-03-20 19:20:34 +08:00
Roland Dobai
c1ce05e244 Merge branch 'feature/test_check_python_dependencies' into 'master'
ci: add dep check_python_dependencies.pyt test

Closes IDF-4961

See merge request espressif/esp-idf!22790
2023-03-20 16:21:56 +08:00
Mahavir Jain
d0c8b01956
test_apps: add test case for flash mmap data integrity in ram loadable app 2023-03-20 11:12:11 +05:30
Jakob Hasse
7dbe9687f9 Merge branch 'bugfix/esp_shared_stack_watchpoint_setting' into 'master'
bugfix(esp_system): made watchpoint setting configuration-dependent

Closes IDFGH-9003

See merge request espressif/esp-idf!21738
2023-03-20 10:19:05 +08:00
Frantisek Hrbata
53a8742680 ci: add dep check_python_dependencies.pyt test
Two new tests are added.

1) test_check_python_dependencies
The test prepares artificial constraints file containing packages from
requirements.core.txt, which are also reported in pip-freeze output
for virtual env. The constraints file requires package versions higher
than currently installed in venv, so check_python_dependencies
should fail for all of them.

2) test_check_required_packages_only
Test for espressif/esp-idf/-/merge_requests/17917. After installing
core requirements, install additional foopackage, which is embedded.
Add version requirement for foopackage, which cannot be satisfied,
to constraints file. Since foopackage is not a direct requirement,
check-python-dependencies should not fail.

This also fixes existing TestCustomPythonPathInstall test, which sets
IDF_PYTHON_ENV_PATH, but does not restore it. Unittest seems to be
running tests in order based on class/test name. Meaning this test runs
before TestPythonInstall and all tests in TestPythonInstall are using
the latest tmpdir from TestCustomPythonPathInstall as IDF_PYTHON_ENV_PATH.
IOW TestPythonInstall is actually testing custom python env path, same as
TestCustomPythonPathInstall. This fixes it by restoring the
IDF_PYTHON_ENV_PATH. Note that since the actual IDF_PYTHON_ENV_PATH
was different(tmpdir) from PYTHON_DIR, the default PYTHON_DIR was never used,
so the tests were running with old python env(no
shutil.rmtree(PYTHON_DIR).

Since TestCustomPythonPathInstall is inheriting from TestPythonInstall
it also runs test_opt_argument and test_no_constraints for the second
time. This seems unnecessary, so this patch also skips these two tests
in TestCustomPythonPathInstall.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-17 15:22:33 +01:00
Jiang Jiang Jian
2658fb7623 Merge branch 'feature/add_memprot_support_for_esp32h2' into 'master'
esp32h2: enable memory protection scheme using PMA and PMP

Closes IDF-6452 and IDF-6332

See merge request espressif/esp-idf!22699
2023-03-17 15:19:52 +08:00
Jakob Hasse
f679218cb6 feat(driver): added RMT mock 2023-03-17 14:54:48 +08:00
Wan Lei
3b62bf59c4 Merge branch 'bugfix/fix_deep_sleep_crash_when_psram_high_freq' into 'master'
mspi: turn down freq to fix crash when sleep

Closes IDF-6881

See merge request espressif/esp-idf!22491
2023-03-16 14:11:21 +08:00
wanlei
a48d1a85c1 mspi: add test_app measuring time cost of mspi APIs
and merge mspi unit test into this
2023-03-16 11:11:43 +08:00
Gustavo Henrique Nihei
50145ed179 esp_rom: Remove STATUS struct in favor of ETS_STATUS
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:21 +08:00
Roland Dobai
4bf12081e2 Merge branch 'bugfix/non_default_sdkconfig' into 'master'
tools: fix usage of sdkconfig with custom path or name

Closes IDF-1369

See merge request espressif/esp-idf!22520
2023-03-15 20:53:38 +08:00
Mahavir Jain
b29ed0ba0b
test_apps: enable memprot tests for ESP32-H2 target 2023-03-15 13:16:26 +05:30
Armando
929b7717ff system: fixed ram app cannot use mmu correctly issue 2023-03-15 10:59:20 +08:00
Ondrej
2ec7fc8f10 esp_eth: allowed DM9051 to receive multicast packets
Removed extra PHY status link checks from DM9051 MAC layer
2023-03-14 13:59:27 +00:00
Roman Leonov
0b08570ae2 usb: usb_reg.h update missing register description 2023-03-14 13:29:20 +01:00
Alexey Gerenkov
5013e6588c tools: update OpenOCD version to 'v0.12.0-esp32-20230313' 2023-03-13 15:29:19 +00:00
Jakob Hasse
0769298b3b Merge branch 'contrib/github_pr_8987' into 'master'
pthread: avoid heap alloc in pthread_cond_timedwait if possible (GitHub PR)

Closes IDFGH-7409

See merge request espressif/esp-idf!22702
2023-03-13 19:34:21 +08:00
Jakob Hasse
03bc6488de bugfix(esp_system): made watchpoint setting configuration-dependent
esp_execute_shared_stack_function always restored the stack watchpoint
regardless of CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK. This would lead
to an abondoned but active watchpoint on a former stack once the task
calling esp_execute_shared_stack_function is deleted, if
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is inactive.
This has been fixed now.

Closes https://github.com/espressif/esp-idf/issues/10414
2023-03-13 14:24:15 +08:00
Jiang Jiang Jian
d5f53fb415 Merge branch 'feature/nan_datapath' into 'master'
NAN Datapath support and console example

Closes WIFI-1223

See merge request espressif/esp-idf!13593
2023-03-11 04:50:10 +08:00
MacDue
75066bde5a ci: remove components/pthread/pthread_cond_var.c from ignore list 2023-03-10 15:52:27 +08:00
Nachiket Kukade
4c76af3f68 esp_wifi: Add support for NAN Discovery and Datapath
Update wifi lib with below -
1. Create NAN Discovery SM for beaconing & cluster formation
2. Create NAN interface for Tx/Rx of beacons & action frames
3. Add commands & events for NAN Services Publish/Subscribe/Followup
4. Add NAN Datapath definitions, Events, Peer structures
5. Support for forming and parsing of Datapath related attributes
6. Modules for NDP Req, Resp, Confirm, Term, Peer management
7. NAN Interface related additions in Datapath, Data Tx Q's

In addition include below changes -
1. Add netif and driver support for NAN Interface
2. Add simple examples for Publisher-Subscriber usecases
3. Add an advanced console example that supports commands
   for NAN Discovery, Services & Datapath
4. Add wifi_apps for providing better NAN API's and Peer management

Co-authored-by: Shyamal Khachane <shyamal.khachane@espressif.com>
2023-03-10 11:18:23 +05:30
Mahavir Jain
00f30bb199 Merge branch 'esp32c6/fix_pmp_config' into 'master'
esp32c6: Fix incorrect PMP configuration

Closes IDF-6927

See merge request espressif/esp-idf!22435
2023-03-10 12:21:30 +08:00
jingli
b6580ea4ac example: refactor deep sleep example to make codes more structured 2023-03-09 15:23:56 +08:00
Sachin Parekh
ed0a1f7b52 esp32c6: Fix incorrect PMP configuration
- Enable pytest memprot tests for C6
2023-03-09 11:37:29 +05:30
Frantisek Hrbata
a558ad506e tools: fix custom sdkconfig renaming in set-target
Currently the set-target has sdkconfig file name hardcoded to the
default one and doesn't honor custom config paths or names.
IMHO the only place where we can really now the config file name
is in cmake. But also the config should be really renamed only if
the set-target action is running.

This moves the config file renaming into cmake and it's performed only
when _IDF_PY_SET_TARGET_ACTION env. var. is set to 'ON'. This should
hopefully guarantee that it's really renamed only while set-target is
running.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:45:55 +01:00
Frantisek Hrbata
1ca9e63e79 tools: add target consistency checks to cmake
Extend target checks in cmake, in case it's run directly and not via
idf.py or if idf.py misses something. This may happen
for example if cmake variables are set in project's CMakeLists.txt.

Some clean-ups are included along with the new checks and tests.

1. __target_check() function is removed. IIUC it should never fail,
   because the selected target is explicitly passed as environmental
   variable to kconfgen. Meaning the IDF_TARGET from environment variable may
   not be actually used in kconfgen if IDF_TARGET is already set it cmake cache.
   Note that the IDF_TARGET environment variable used for kconfgen is not
   based on the actual IDF_TARGET environment variable set for idf.py, but
   rather on the value set in __target_init() with

	set(IDF_TARGET ${env_idf_target} CACHE STRING "IDF Build Target")

   My understanding is that the original check was introduced to handle
   situation, where IDF_TARGET was already set in cmake's cache and
   the IDF_TARGET from environment variable was different. Since
   the kconfgen would use the original environment variable(not
   explicitly passed as it is now) the IDF_TARGET in cmake and in
   sdkconfig could differ. IOW I think the original check was introduced
   to cope with the following cmake behaviour

	set(VARIABLE "value1" CACHE STRING "test variable")
	set(VARIABLE "value2" CACHE STRING "test variable")
	message("Variable value: ${VARIABLE}")
	output: Variable value: value1

2. I scratched by head how it is possible that the following code
   in __target_check()

   	if(NOT ${IDF_TARGET} STREQUAL ${env_idf_target})

   could fail if IDF_TARGET is not set. For example in clean project

	IDF_TARGET=esp32 idf.py reconfigure

   Here env_idf_target==esp32 and IDF_TARGET is not set, so I would
   expect that cmake will fail with error message that the cache
   and env target do not match. The thing is that the variable
   evaluation is done before the if command, so it actually
   sees this

   	if(NOT  STREQUAL esp32)

   which is false and the error is not printed. It can be seen
   with 'cmake --trace-expand' command. I don't know if this
   was used on purpose or it worked just as a coincidence, but
   I find it very confusing, so I added explicit check if the
   IDF_TARGET is defined before the actual check. Same for
   CMAKE_TOOLCHAIN_FILE.

3. Error messages are not formated(line-wrapped) by cmake's markup
   so it's easier to check the output in tests.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:45:47 +01:00
Frantisek Hrbata
8e912faad1 tools: add target consistency checks for target specified with -D option
Extend existing target consistency checks for the two following cases.
1. Target does not match currently used toolchain
   $ IDF_TARGET=esp32s2 idf.py reconfigure
   $ idf.py -DIDF_TARGET=esp32c3 build

2. Target is ambiguous, because it's specified also as env. var.
   IDF_TARGET=esp32s3 idf.py set-target esp32c2

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:43:42 +01:00
Frantisek Hrbata
0d859f2786 tools: move target guessing into cmake
The _guess_or_check_idf_target() function has sdkconfig and sdkconfig.defaults
file names hardcoded. Since config file names may be specified with SDKCONFIG
or SDKCONFIG_DEFAULTS cmake vars, directly in CMakeLists.txt or passed in with
the -D cmake option, they are not respected.

Problem is when SDKCONFIG or SDKCONFIG_DEFAULTS is set in
CMakeLists.txt. While idf can detect cmake vars passed through it
to cmake via the -D option, detecting SDKCONFIG and SDKCONFIG_DEFAULTS
vars settings in CMakeLists.txt would require to parse it. This seems
like error prone approach. Also if the vars defined by the -D option
are passed directly to cmake, not via idf, they will not be visible to idf.

It seems reasonable to move the logic into cmake, where we know the correct
SDKCONFIG and SDKCONFIG_DEFAULTS values. So the IDF_TARGET detection/guessing
is moved into targets.cmake, where the IDF_TARGET is actually set. The target
is guessed based on the following precendence.

1) $ENV{IDF_TARGET}
2) IDF_TARGET
3) SDKCONFIG
4) sdkconfig
5) SDKCONFIG_DEFAULTS if non-empty or
   $ENV{SDKCONFIG_DEFAULTS} if non-empty or
   sdkconfig.defaults
6) esp32

All config files referred in $ENV{SDKCONFIG_DEFAULTS} and SDKCONFIG_DEFAULTS
are searched, compared to the current behaviour. First target found in the
above chain is used.

The original _guess_or_check_idf_target() is renamed to _check_idf_target() and
used for the target consistency checks only.

The get_sdkconfig_filename() helper is now used to get the sdkconfig file
for consistency checks. It looks in SDKCONFIG specified with the -D
option and project_description.json.

With this change config full paths are reported in messages, so it's clear
e.g. from which config the target was guessed from or which config has
consistency problem. test_non_default_target.py was adjusted to this
change and also new test for testing the IDF_TARGET guessing was added.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:37:58 +01:00
Frantisek Hrbata
a8a4d7c66d tools: add get_sdkconfig_filename() helper
Get project's current sdkconfig file name. It looks in SDKCONFIG cmake var
defined by the -D option and project_description.json. If not found return
default sdkconfig.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:37:58 +01:00
Frantisek Hrbata
e89f980193 tools: add _parse_cmdl_cmakecache() helper
This parses cmakes cache vars defined on command line with -D options
into dictionary. It allows to simplify the check for new cache entries
and also can be re-used for other checks.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-03-08 16:37:58 +01:00
jiangguangming
87f2eb9e2a esp_rom: put rom cache related functions to cache.h 2023-03-07 14:51:24 +08:00
Li Shuai
1a10eabe41 Power Management: refactor the configuration of each module in sleep mode 2023-03-04 00:17:40 +08:00
Roland Dobai
140e6bea72 Merge branch 'contrib/github_pr_10772' into 'master'
tools: Docker: install build-essential apt package (GitHub PR)

Closes IDFGH-9402

See merge request espressif/esp-idf!22463
2023-03-02 22:26:51 +08:00
Marius Vikhammer
7a0b9f65c9 esp-system: migrate test app cases to pytest 2023-03-01 03:21:39 +00:00
Peter Dragun
16d033a919 tools: Docker: add build-essentials needed for linux targets
Closes https://github.com/espressif/esp-idf/pull/10772
2023-02-28 11:27:25 +01:00
Jiang Jiang Jian
146a5c4de4 Merge branch 'feature/sae_softAP' into 'master'
esp_wifi: WPA3-SAE support for softAP

Closes IDFGH-4771

See merge request espressif/esp-idf!15690
2023-02-28 12:25:05 +08:00
Shreyas Sheth
2b8e40e760 esp_wifi: WPA3-SAE support for softAP 2023-02-28 12:25:05 +08:00
Song Ruo Jing
1a66459b44 usb_serial_jtag: Improve the code for the issue of usb cdc device unable to work during sleep
1. Remove RTC_CLOCK_BBPLL_POWER_ON_WITH_USB Kconfig option
   During sleep, BBPLL clock always gets disabled
   esp_restart does not disable BBPLL clock, so that first stage bootloader log can be printed
2. Add a new Kconfig option PM_NO_AUTO_LS_ON_USJ_CONNECTED
   When this option is selected, IDF will constantly monitor USB CDC port connection status.
   As long as it gets connected to a HOST, automatic light-sleep will not happen.

Closes https://github.com/espressif/esp-idf/issues/8507
2023-02-27 12:10:49 +08:00
liuning
7817c23623 esp_coex: correct Kconfig name 2023-02-26 06:58:18 +00:00
liuning
38316b38b5 esp_wifi: move coex part from esp_wifi to esp_coex 2023-02-26 06:58:18 +00:00
Fu Hanxi
481e221e69 Merge branch 'ci/set_manifest_root_path' into 'master'
ci: use IDF_PATH as the manifest root path

Closes RDT-272

See merge request espressif/esp-idf!22426
2023-02-23 14:02:08 +08:00
Armando (Dou Yiwen)
aeaf119338 Merge branch 'refactor/resolve_mmu_soc_dependency_to_sdkconfig_h' into 'master'
g0: resolve MMU_PAGE_SIZE not defined in g0 build issue

Closes IDF-5219

See merge request espressif/esp-idf!22447
2023-02-23 12:05:13 +08:00
Alexey Lapshin
0da15a7a19 build: add option COMPILER_DISABLE_GCC12_WARNINGS 2023-02-22 05:33:03 +00:00
Alexey Lapshin
2ef6215621 tools: change esp32h2 march to rv32imac_zicsr_zifencei 2023-02-22 05:33:03 +00:00
Alexey Lapshin
61a7342acd tools: add riscv zicsr/zifencei because they were separated from i
https://groups.google.com/a/groups.riscv.org/g/sw-dev/c/aE1ZeHHCYf4
2023-02-22 05:33:03 +00:00
Alexey Lapshin
c5ae3c67f1 Revert "tools: bypass atomic instruction variant for esp32c6 temporarily"
This reverts commit 08f05420c0.
2023-02-22 05:33:03 +00:00
Alexey Lapshin
5389ac4e04 tools: cmake: ignore linker RWX segment warnings 2023-02-22 05:33:03 +00:00
Alexey Lapshin
d867b11022 tools: update toolchain version to 'esp-12.2.0_20230208'
Closes https://github.com/espressif/esp-idf/issues/5308
2023-02-22 05:33:03 +00:00
Alexey Lapshin
4e411d9e3b tools: add triplet i686-linux-gnu for distributions 2023-02-22 05:33:03 +00:00
Armando
c56eb8646b g0: resolve MMU_PAGE_SIZE not defined in g0 build issue 2023-02-22 12:37:40 +08:00
Fu Hanxi
38c292c7bf ci: fix: pexpect.buffer can't be kept between processes 2023-02-21 16:09:19 +08:00
Fu Hanxi
b661d64811 Merge branch 'bugfix/fix_case_tester_wait_case_running_too_short' into 'master'
case_tester: use process instead of thread

See merge request espressif/esp-idf!21847
2023-02-20 20:24:01 +08:00
Marius Vikhammer
89190fab02 Merge branch 'bugfix/allow_coredump_gdb_simu' into 'master'
coredump: allow coredump at panic even if gdbstub is used.

Closes IDFGH-8567

See merge request espressif/esp-idf!22103
2023-02-20 16:07:57 +08:00
Marius Vikhammer
eb40fc913a Merge branch 'bugfix/linux_target_driver_mock' into 'master'
linux-target: fixed driver mock being broken due to changes in driver folder structure

Closes IDFGH-9375

See merge request espressif/esp-idf!22375
2023-02-20 15:38:38 +08:00
Fu Hanxi
a0c025cc47 ci: use IDF_PATH as the manifest root path
this would remove the restriction that tools/ci/ci_build_apps.py could
only be run in IDF_PATH.
2023-02-20 14:55:04 +08:00
Fu Hanxi
b04e5d070a case_tester: use multi-processing instead of threads
Pros:
- Using thread would face GIL issue and turns out very slow when running
with poor hardware.

Cons:
- Does not support windows anymore. For testing purpose, it's fine.
2023-02-20 11:18:14 +08:00
Omar Chebib
d55060d184 Merge branch 'staging/rename_twdt_config_examples' into 'master'
TWDT: Use the new TWDT Kconfig options in the examples and tests

See merge request espressif/esp-idf!20363
2023-02-20 10:42:23 +08:00
Marius Vikhammer
ec57895db9 coredump: allow coredump at panic even if gdbstub is used.
Closes https://github.com/espressif/esp-idf/issues/10017
2023-02-17 15:15:36 +08:00
Laukik Hase
f0132be83e Merge branch 'feature/memprot_test_app' into 'master'
esp_system: Add test_app for `memprot` peripheral

Closes IDF-6819

See merge request espressif/esp-idf!21829
2023-02-17 13:59:44 +08:00
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Martin Vychodil
c58a84f893 Merge branch 'feature/fatfs_format_api' into 'master'
fatfs: added APIs to format a FAT filesystem

Closes IDF-6046

See merge request espressif/esp-idf!21845
2023-02-16 19:59:31 +08:00
Laukik Hase
6e0e7e34ea
test_app: Extend panic app to include memprot-related tests
- Add support for esp32s2, esp32c3 and esp32c2 for the `memprot`-related tests
- Preliminary support for esp32s3 has also been added,
  the test app will be enabled for esp32s3 later when
  the memprot-related issues are fixed.
- Override panic handler to dump the violation intr status
  - Dump the `memprot` violation registers before calling the
    real panic handler
  - Handle `Illegal Instruction` exception in case of memprot permission violation
    * In esp32c3 with `memprot` enabled, if we try to execute arbitrary code
      from RTC_FAST_MEM we get an `Illegal Instruction` exception from the panic
      handler rather than a `Memory Protection Fault`.
    * This is because the Illegal Instruction interrupt occurs earlier than the
      memory protection interrupt due to a higher interrupt latency.
2023-02-16 17:13:56 +05:30
Laukik Hase
fa27795048
test_app: Split panic test app into separate source files
- Added minor improvements to  `panic` test app
  * Replaced existing API to disable flash cache which did not disabled cache always
    (`esp_flash_default_chip->os_func->start(esp_flash_default_chip->os_func_data)`)
    with `spi_flash_enable_interrupts_caches_and_other_cpu`
  * Included some required headers explicitly (`esp_memory_utils.h` and `esp_heap_caps.h`)
2023-02-16 15:26:47 +05:30
Armando
d59fd3e529 fatfs: deprecate esp_vfs_fat_sdmmc_unmount
This API was deprecated before, but without deprecation warning and
migration doc. This commit added deprecation warning and migration doc
to it.
2023-02-16 14:17:51 +08:00
Fu Hanxi
610102ace1 Merge branch 'ci/move_stdout_print_to_stderr_logging' into 'master'
ci: move stdout print to stderr logging in gitlab api

See merge request espressif/esp-idf!22387
2023-02-16 13:45:55 +08:00
Erhan Kurubas
a3df4d5386 Merge branch 'apptrace_pytest' into 'master'
Generic apptrace example with pytest support

Closes IDF-5620

See merge request espressif/esp-idf!22195
2023-02-16 03:41:19 +08:00
Roland Dobai
2237847967 Merge branch 'fix/idf_tools_python_dir_change' into 'master'
Tools: Allow custom Python installation path with IDF_PYTHON_ENV_PATH

Closes IDFGH-9085

See merge request espressif/esp-idf!22372
2023-02-15 19:07:52 +08:00
Erhan Kurubas
db10697b74 example/system: remove app_trace_to_host example. Instead use app_trace_basic 2023-02-15 10:30:32 +01:00
Roland Dobai
beb1c08d25 Merge branch 'feature/rewrite_build_sys_tests_v2' into 'master'
Rewrite build system unit tests to python v2

Closes IDF-6778

See merge request espressif/esp-idf!22180
2023-02-15 17:04:59 +08:00
Fu Hanxi
8d0dda23b0 ci: move stdout print to stderr logging in gitlab api 2023-02-15 15:34:10 +08:00
Marius Vikhammer
b68b0ea714 linux-target: fixed driver mock being broken due to changes in driver folder structure
Closes https://github.com/espressif/esp-idf/issues/10749
2023-02-15 11:16:51 +08:00
Cao Sen Miao
fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +08:00
Roland Dobai
afe554c753 Tools: Allow custom Python installation path with IDF_PYTHON_ENV_PATH
IDF_PYTHON_ENV_PATH is the path where the Python environment is created
and used. By default it is inside IDF_TOOLS_PATH. IDF_PYTHON_ENV_PATH
was exported by idf_tools.py but was not imported back. This fixes the
issue and ESP-IDF will honor the value of IDF_PYTHON_ENV_PATH.

Closes https://github.com/espressif/esp-idf/issues/10489
2023-02-14 17:26:04 +01:00
Erhan Kurubas
69b1d1786c docs: JTAG debugging update for ESP32-H2 2023-02-13 22:49:00 +01:00
Jiang Jiang Jian
254efe402e Merge branch 'feature/wifi_kconfig_merge' into 'master'
esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig

Closes WIFI-4541 and IDF-1830

See merge request espressif/esp-idf!18998
2023-02-11 07:38:46 +08:00
Kapil Gupta
30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
Roland Dobai
648b1a41c6 Merge branch 'bugfix/dbg_target_hints' into 'master'
tools: enable hints for debug targets

Closes IDF-5795

See merge request espressif/esp-idf!22198
2023-02-10 17:25:27 +08:00
Roland Dobai
1dc3d5ef22 Merge branch 'feature/introduce_spdx_licenseref' into 'master'
tools: allow to use LicenseRef-[idstring] in SPDX-License-Identifier

Closes IDF-4486

See merge request espressif/esp-idf!22132
2023-02-10 17:08:01 +08:00
Marek Fiala
165c0d852b Tools: Rewrite build system unit tests to python - other target tests 2023-02-09 16:08:04 +01:00
Frantisek Hrbata
08c9a7b520 tools: add new outdated option for idf_tools.py list
This adds a new outdated option, which only lists outdated
packages installed in IDF_TOOLS_PATH. It searches for the
latest installed tool version in the IDF_TOOLS_PATH/tools path and
compares it against the latest available version in the tools.json
file. If the latest version of a tool installed in IDF_TOOLS_PATH/tools
is smaller, it's reported as outdated. Nothing is reported if the tool
is up to date.

Two new tests are added. First just checks if nothing is reported in
case there is no update available. The second artificially generates
new tools.json file called tools.outdated.json and sets XTENSA_ESP32_ELF
version to 'zzzzzz'. It then checks if the XTENSA_ESP32_ELF tool
is reported as outdated by the 'zzzzzz' version.

Description of the new outdated option is addedd to docs as well.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-02-09 10:25:45 +01:00
Armando
34e77d6ccd test_panic: add CONFIG_HAL_ASSERTION_DISABLE to coredump_flash_bin_crc config
Without this commit, under this config, the static D/IRAM usage is 97%
2023-02-07 20:23:52 +08:00
Armando
293f6ed34a ci: add assertion disable config to reduce test_utils_psram size
Added CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y in
test_utils_psram configs to reduce size
2023-02-07 20:23:52 +08:00
Armando
4564f6cc4b g1: add esp_mm to g1 list 2023-02-07 20:23:52 +08:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00
Armando
af15b6d885 mmu: simplify mmu vaddr region macro on esp32c2
ESP32C2 mmu vaddr region macros, and related mask macros in
ext_mem_defs.h depends on mmu page size.
2023-02-07 20:23:51 +08:00
Roland Dobai
4bd5ebb4a1 Merge branch 'tools/monitor_move' into 'master'
Tools(idf_monitor): Move idf_monitor to separate repo

Closes IDF-4109

See merge request espressif/esp-idf!22050
2023-02-07 19:47:46 +08:00
Kevin (Lao Kaiyao)
421e5e6416 Merge branch 'refactor/pack_driver_source_files' into 'master'
components/driver: pack peripherals

See merge request espressif/esp-idf!22173
2023-02-07 10:20:57 +08:00