Commit Graph

5472 Commits

Author SHA1 Message Date
Darian Leung
2b357071f1 refactor(freertos/task_snapshot): Deprecate task_snapshot.h
This commit deprecates the `#include "freertos/task_snapshot.h" include path:

- Adds compatibility header with compile time warning
- Removes hints related to `task_snapshot.h`
- Adds entry to migration guide
2023-10-07 18:55:47 +08:00
Darian Leung
9968a48c36 refactor(freertos/task_snapshot): Make task snapshot private
Task snapshot API were never intended to be called from user code. This commit
makes task snapshot a private API thus moves `#include "freertos/task_snapshot.h"`
to `#include "esp_private/freertos_debug.h"`.

Task snapshot related Kconfig options have also been hidden.

Note: Added 'freertos_common' mapping to ldgen mapping execptions lists due to
inlining of 'freertos_debug.h' functions.
2023-10-07 13:14:55 +08:00
Jakub Kocka
22dcc26674 fix(tools/kconfig): Moved check_konfigs.py to esp-idf-kconfig package
Closes https://github.com/espressif/esp-idf/issues/10872
2023-10-06 13:02:56 +02:00
Jakub Kocka
f71b2cb209 ci(get_mr_changed_files): return only changed files, exclude deleted 2023-10-06 13:02:56 +02:00
Roland Dobai
fbc31c8f15 Merge branch 'fix/esptool_command_info' into 'master'
fix(tools): adjusted esptool @flash_args command print to prevent issues

Closes ESPTOOL-750

See merge request espressif/esp-idf!26327
2023-10-06 15:34:20 +08:00
Konstantin Kondrashov
3166056078 Merge branch 'bugfix/log_mixing_at_startup' into 'master'
fix(esp_system): Fixes mixing logs when two cores use esp_rom_printf

Closes IDF-7891

See merge request espressif/esp-idf!25996
2023-10-05 21:06:14 +08:00
Guillaume Souchere
cb9868e82d feat(heap): Add runtime hint on tlsf assert trigger
Catch all tlsf assertion failure and display a hint for out of bound writing since
all assertion failure are triggered when the tlsf metadata structure has been corrupted.
2023-10-05 11:57:37 +02:00
Jakub Kocka
d641168663 fix(tools): adjusted esptool @flash_args command print to prevent issues 2023-10-05 11:01:58 +02:00
Fu Hanxi
24b2e0a56d ci: different test case name with different params 2023-10-04 16:05:29 +00:00
Martin Vychodil
c50dfa2374 Merge branch 'bugfix/nvs_set_datatype' into 'master'
bugfix(nvs_flash) : fixed nvs_set functions behaviour when called sequentially with same key and different data type(s)

Closes IDFGH-9727

See merge request espressif/esp-idf!25581
2023-10-03 02:21:23 +08:00
Ivan Grokhotkov
5cd6284b6c Merge branch 'feature/bt_component_test_app' into 'master'
feat(bt): migrate the tests from unit-test-app

Closes IDF-5567

See merge request espressif/esp-idf!26134
2023-10-02 23:31:03 +08:00
Frantisek Hrbata
64d82b54bc feat(hints): use all_component_info from project_description.json
Currently the component_requirements hint module does not work
as expected if the component list for a project is trimmed down.
With the new "all_component_info" dictionary info in project_description.json,
the module can produce hints even if cmake's COMPONENTS variable is
set.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-10-02 16:24:41 +02:00
Frantisek Hrbata
dba7d11096 feat(tools): export information about all components in __COMPONENT_TARGETS
Add new "all_component_info" dictionary into the
project_description.json file. It contains information about all
registered components presented in the __COMPONENT_TARGETS list.
Since components in this list are not fully evaluated, because only the first
stage of cmakefiles processing is done, it does not contain the same information
as the "build_component_info" dictionary. The "type", "file" and "sources" variables
are missing.

Most of the properties are already attached to the component target, so
this only adds INCLUDE_DIRS property to the target during the first cmakefiles
processing stage.

The "all_component_info" dict is generated in a separate function, even
though the original function for "build_component_info" could be
adjusted. This introduces a little bit of boilerplate, but keeps it
logically separated and probably easier if we want to extend it in the
future.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-10-02 15:52:58 +02:00
KonstantinKondrashov
28b8a5d9b4 fix(esp_system): Fix mixing logs, remove early info logs for 2nd CPU
Fixes mixing logs when two cores use esp_rom_printf
2023-10-02 12:50:40 +00:00
Roland Dobai
aa3b9df318 Merge branch 'fix/nested_components_hint' into 'master'
fix(hints): properly identify source component

Closes IDF-8279

See merge request espressif/esp-idf!26265
2023-10-02 18:28:51 +08:00
David Čermák
3b2a22f65a Merge branch 'feat/esp_netif_ppp_opts' into 'master'
feat(esp_netif): PPP netif extend config/use RAM pbufs

Closes IDFGH-10017

See merge request espressif/esp-idf!26057
2023-09-29 13:15:25 +08:00
wuzhenghui
5926116644 change(heap): fix and clean memory caps defination in memory_layout
1. move startup_stack attr from soc_memory_type_desc_t to soc_memory_region_t and
   remove unused aliased_iram field
2. all of the last level of RAM is retention dma accessible on esp32c3
3. remove esp32c2 and later chips retention dma accessible memory caps
4. allow allocate memory from RTC_RAM with MALLOC_CAP_EXEC cap
2023-09-28 07:53:20 +00:00
morris
b12e250b2c refactor(examples): reformat peripheral examples with astyle_py 2023-09-28 10:08:04 +08:00
morris
1b2484214c refactor(esp_lcd): reformat code with astyle_py 2023-09-28 09:42:31 +08:00
Fu Hanxi
1a0dd5a162 Merge branch 'ci/replace_internal_clang-tidy-runner' into 'master'
ci: replace internal clang-tidy runner with the pypi project

See merge request espressif/esp-idf!26133
2023-09-28 00:07:35 +08:00
Frantisek Hrbata
00d77e7a75 fix(hints): properly identify source component
If there is a component(child) within a component(parent), like for test_apps, the parent
component may be wrongly identified as source component for the failed include. This may
lead to a false bug report if the parent component has component, which provides the missing
header, in requirements.

Fix this by looking for the longest matching source component directory.

Suggested-by: Ivan Grokhotkov <ivan@espressif.com>
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-09-27 12:50:25 +02:00
Fu Hanxi
4dbe541f80
ci: replace internal clang-tidy runner with the pypi project 2023-09-27 10:25:49 +02:00
Ivan Grokhotkov
43741ec803
ci: add astyle pre-commit check 2023-09-27 08:43:45 +02:00
radek.tandler
4f659b70e1 fix(nvs_flash): fixed failing nvs_page test 2023-09-26 15:05:20 +00:00
Harshit Malpani
5d9ebd2473 Merge branch 'bugfix/fix_condition_to_verify_when_no_SB' into 'master'
fix(bootloader_support): Fix condition for checking signature in the application

See merge request espressif/esp-idf!26026
2023-09-26 14:38:08 +08:00
David Cermak
966b8620c2 feat(esp_netif): PPP config option to allow disabling LCP runtime
If LCP keepalive mechanism is enabled in menuconfig, it's statically
configured on creation of an interface and cannot be changed runtime. In
some cases it's useful to relax LCP criteria during runtime operation,
for example before initiating OTA. This config option allows for
disabling already enabled LCP echo (this setting becomes effective after
reconnecting, i.e. initializing a new session)

Closes https://github.com/espressif/esp-protocols/issues/287
2023-09-25 16:48:48 +02:00
Ivan Grokhotkov
eafa723093
feat(bt): migrate the tests from unit-test-app 2023-09-25 15:01:29 +02:00
Ivan Grokhotkov
8545f8595f Merge branch 'bugfix/build_fail_c6_usb_serial_jtag' into 'master'
fix build with CONFIG_ESP_CONSOLE_UART=n on C6, re-enable build tests for C6 and C2

Closes IDFGH-10698

See merge request espressif/esp-idf!24935
2023-09-25 20:39:32 +08:00
Harshit Malpani
7d98bdd495
feat: Add test app to verify SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
Add a test app to verify the working of the application when
SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT is selected in the menuconfig
and the application is not signed
2023-09-25 12:02:58 +05:30
Ivan Grokhotkov
4f9e22945c Merge branch 'feature/esp_hid_component_test_app' into 'master'
feat(esp_hid): migrate the tests from unit-test-app

Closes IDF-5575

See merge request espressif/esp-idf!26077
2023-09-22 23:21:53 +08:00
Ivan Grokhotkov
2fe4fe2c19
ci(system): re-enable build test app for C2 and C6, clean up configs
Since we can use CONFIG_NAME now to specify build rules, we don't need
to have target-specific config files.
2023-09-22 13:46:00 +02:00
Ivan Grokhotkov
9e20bf4f06
feat(esp_hid): migrate the tests from unit-test-app 2023-09-21 14:25:08 +02:00
Fu Hanxi
c79c16a73e ci: fix cleanup_ignore_lists.py on windows 2023-09-21 12:59:17 +02:00
Ivan Grokhotkov
fc4f091e7a Merge branch 'feature/examples_use_manifest_for_deps' into 'master'
feat(examples): add local components via idf_component.yml

See merge request espressif/esp-idf!25228
2023-09-20 20:14:14 +08:00
Roland Dobai
5e4755af14 Merge branch 'remove_monitor_tests' into 'master'
feat(tools/monitor): move target tests to monitor repo

See merge request espressif/esp-idf!25264
2023-09-20 15:16:31 +08:00
Darian
4d85cbff6d Merge branch 'feature/freertos_v1051_smp_changes' into 'master'
feat(freertos): Add FreeRTOS v10.5.1 SMP Support (BETA release)

Closes IDF-7877, IDF-7878, IDF-5739, IDF-4142, and IDF-8182

See merge request espressif/esp-idf!24995
2023-09-19 22:18:59 +08:00
Ivan Grokhotkov
8c26ddf4a1
feat(ci): add CI check for EXTRA_COMPONENT_DIRS in examples 2023-09-19 10:38:24 +02:00
Konstantin Kondrashov
ecf4968e1c Merge branch 'feature/esp32p4_support_ipc' into 'master'
feat(esp_system): Support IPC_ISR for ESP32P4

Closes IDF-7769

See merge request espressif/esp-idf!25812
2023-09-19 13:26:52 +08:00
Darian Leung
b09462eae8 feat(freertos): Add beta support for FreeRTOS v10.5.1 kernel
This commit adds beta support for the FreeRTOS v10.5.1 kernel which can be
enabled by enabling the CONFIG_FREERTOS_USE_KERNEL_10_5_1 option.

The following changes have been made:

- Updated freertos/CMakeLists.txt to build v10.5.1 kernel with v10.4.3. ports
- Updated existing Xtensa and RISC-V ports to work with V10.5.1
- Modifications to other ESP-IDF components to work with v10.5.1
- Added some ESP-IDF specific tracing changes to v10.5.1 kernel
- Make CONFIG_FREERTOS_USE_KERNEL_10_5_1 a public option

Note: The beta release is missing some minor fixes, performance improvements,
and features. Using this beta release for production is not recommended.

Closes https://github.com/espressif/esp-idf/issues/7137
2023-09-18 21:32:14 +08:00
Kapil Gupta
3b748a6cb7 Merge branch 'feature/rename_wpa2_ent_to_eap_client' into 'master'
WiFi: Rename WPA2 enterprise APIs to EAP Client.

See merge request espressif/esp-idf!25233
2023-09-18 16:16:54 +08:00
Shu Chen
8aeff259c6 Merge branch 'feature/add_dns64_for_openthread_ci' into 'master'
feat(ci): add ci case for border router

See merge request espressif/esp-idf!25783
2023-09-18 15:55:37 +08:00
KonstantinKondrashov
7a878bdc50 feat(esp_system): Support IPC_ISR for ESP32P4 2023-09-15 23:38:12 +08:00
Peter Dragun
3981aae79f feat(tools/monitor): move target tests to monitor repo 2023-09-15 16:04:11 +02:00
Chen Yudong
1ce30750c9 fix(pre-commit): ignore files not in git repo 2023-09-15 18:57:35 +08:00
Jiang Jiang Jian
b790f0a773 Merge branch 'bugfix/check_mapping_target_conflict' into 'master'
fix(ldgen): check target conflict for entries with section aliases

Closes IDF-8192

See merge request espressif/esp-idf!25921
2023-09-15 10:32:59 +08:00
Lu Ze Yu
43db5fbb6e Merge branch 'contrib/github_pr_12093' into 'master'
hal: fix compile issues with cxx

Closes IDFGH-10892, IDF-8017, and IDF-8014

See merge request espressif/esp-idf!25421
2023-09-15 10:21:11 +08:00
Anton Maklakov
6944ade321 Merge branch 'feature/docker_image_update_qemu8.0.0' into 'master'
tools: Docker: update QEMU to 8.0.0 version, with xtensa and riscv32 chip support

See merge request espressif/esp-idf!25954
2023-09-14 18:39:42 +08:00
Kapil Gupta
5d80a476f1 change(example): Update wifi enterprise example 2023-09-14 13:11:00 +05:30
Xu Si Yu
54f13eaacc feat(ci): add ci cases for openthread border router 2023-09-14 15:30:10 +08:00
Planck (Lu Zeyu)
255d499884 fix(ll): fix cpp compile error
Merges https://github.com/espressif/esp-idf/pull/12093

fix(ll): remove FLAG_ATTR macro

Such kind of operator overload will not work because C++ thinks such overload is ambiguous and it still prefer the built-in one which accepts and returns integer. Manually force type conversion seems to be unavoidable.
2023-09-14 14:48:12 +08:00
Anton Maklakov
51110effb3 feat(tools/docker): update QEMU to 8.0.0 version, with xtensa and riscv32 chip support 2023-09-14 09:57:50 +07:00
Rocha Euripedes
d913418c3a Merge branch 'fix/idf_ci_script' into 'master'
fix(ci): Move error handling to correct scope

See merge request espressif/esp-idf!25777
2023-09-14 02:12:00 +08:00
Mahavir Jain
11bbe9c533 Merge branch 'fix/secure_boot_test_app' into 'master'
fix: Fix espefuse usage in the secure boot test application

See merge request espressif/esp-idf!25668
2023-09-13 22:08:24 +08:00
Euripedes Rocha
f68c94dfbb fix(ci): Move error handling to correct scope 2023-09-13 13:21:02 +02:00
Chen Yu Dong
29b4601bf1 Merge branch 'ci/optimize_rules_patterns' into 'master'
CI: optimize build rules patterns

See merge request espressif/esp-idf!25865
2023-09-13 17:14:25 +08:00
harshal.patil
66bbe8c156
fix: Fix esptool usage in the secure boot test application 2023-09-13 10:29:51 +05:30
Wu Zheng Hui
2319f2a59e Merge branch 'bugfix/suppress_compiler_warning_if_silent_reboot_is_enabled' into 'master'
fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled

See merge request espressif/esp-idf!25909
2023-09-13 10:45:31 +08:00
wuzhenghui
6fea0260a3 fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled 2023-09-12 16:30:42 +08:00
Chen Yudong
e18125edcf fix(ci): optimize build rules patterns
add a script to check build-components-patterns in rules.yml
2023-09-12 13:47:54 +08:00
You Wei
e52fb0abf8 fix(ldgen): duplicate entries in the generated .ld file 2023-09-12 11:20:12 +08:00
Kapil Gupta
c82a792bc3 change(esp_wifi): Port fast_pbkdf2 implementation for mbedlts
Add changes to use fast_pbkdf2 as default for PMK calculations.
fast_pbkdf2 is significantly faster than current implementations
for esp chips.

Also removes unnecessary code for pbkdf-sha256 and pbkdf-sha512.
2023-09-11 19:33:17 +05:30
You Wei
be88d11a81 fix(ldgen): check target conflict for entries with section alias 2023-09-11 21:24:05 +08:00
Kapil Gupta
fd04e98d28 change(esp_wifi): Copy fastpbkdf2 implementation
Copy pbkdf2 implementation from https://github.com/ctz/fastpbkdf2(3c56895)
2023-09-11 06:08:16 +00:00
Island
2bc1f2f574 Merge branch 'mesh_v1.1_idf' into 'master'
feat(ble_mesh): Support Bluetooth Mesh Protocol v1.1 (Preview)

See merge request espressif/esp-idf!25605
2023-09-09 13:06:11 +08:00
Konstantin Kondrashov
2557513fb5 Merge branch 'bugfix/esp32p4_usage_clic_int_thresh_reg' into 'master'
fix(freertos): Use INTERRUPT_CURRENT_CORE_INT_THRESH_REG for esp32p4

See merge request espressif/esp-idf!25840
2023-09-08 22:43:22 +08:00
Liu Linyan
5bab168b0e feat(ble_mesh): Support Bluetooth Mesh Protocol v1.1 (Preview) 2023-09-08 21:37:33 +08:00
Liu Linyan
bf51fb965b feat(ble_mesh): Bluetooth Mesh folder and file misc updates 2023-09-08 21:37:33 +08:00
Roland Dobai
3f88247a45 Merge branch 'fix/click-port-compl' into 'master'
fix(tools): fix autocomplete for --port option

Closes IDFGH-6307

See merge request espressif/esp-idf!25813
2023-09-07 22:35:05 +08:00
KonstantinKondrashov
25c7a59e31 fix(freertos): Use INTERRUPT_CURRENT_CORE_INT_THRESH_REG for esp32p4 2023-09-07 15:25:35 +08:00
Peter Dragun
0a8a5c0e7a fix(tools): fix autocomplete for --port option
Closes https://github.com/espressif/esp-idf/issues/7970
2023-09-06 14:32:48 +02:00
Armando (Dou Yiwen)
bdfa91ab66 Merge branch 'change/delete_not_used_mmu_macros' into 'master'
mm: delete not used mmu macros and added soc_ prefix

Closes IDF-7686

See merge request espressif/esp-idf!25663
2023-09-06 11:59:03 +08:00
Darian Leung
035423eb37 refactor(freertos/idf): Move task creation "PinnedToCore" API to addition headers
This commit moves/merges the IDF FreeRTOS "PinnedToCore" task creation
functions from tasks.c/task.h to idf_additions.h/freertos_task_c_additions.h.

Also updated FreeRTOS Mock component to provide mocks for "idf_additions.h"
headers for our mock tests.
2023-09-05 16:20:59 +08:00
Armando
cbe4470a1b change(soc): remove no longer used mmu.h on p4 2023-09-05 15:47:26 +08:00
Rocha Euripedes
10c21f704c Merge branch 'bugfix/module_logging_tag_lower_case' into 'master'
mqtt: unite supported components tags under common structure

See merge request espressif/esp-idf!22418
2023-09-05 14:06:33 +08:00
Wang Meng Yang
efeb308bc0 Merge branch 'test/bqb_test_bt_classic_hid' into 'master'
feat(bt/bqb): Add setting local di record function for specific hid case of bqb auto test

Closes BT-3359

See merge request espressif/esp-idf!25055
2023-09-05 07:20:24 +08:00
Roland Dobai
d8633ecd4b Merge branch 'feature/remove_test_build_system' into 'master'
Tools: remove test_build_system_cmake.sh & test_build_system_spaces.py + run pytest on macOS.

Closes IDF-532

See merge request espressif/esp-idf!25306
2023-09-01 19:01:40 +08:00
wanglai@espressif.com
25b1e6fe36 fix(bqb): Changed HID related copyright automatically 2023-09-01 01:54:29 +00:00
Radek Tandler
352e759d1d Merge branch 'contrib/github_pr_11118' into 'master'
nvs: support iteration over namespace by handle (GitHub PR)

Closes IDFGH-9782

See merge request espressif/esp-idf!23175
2023-08-31 20:59:19 +08:00
Marek Fiala
b39e541652 feat(tools): Do not run test_create_project_with_idf_readonly on macOS
It corrupts environment on macOS runner because it uses shell, not docker-executor,
and makes all tree read-only for a non-root user.

+ Replace examples with real files in example README.md
2023-08-31 12:54:19 +02:00
Marek Fiala
7d2d8b7839 refactor(tools): Remove test_build_system_cmake.sh & test_build_system_spaces.py 2023-08-31 12:54:19 +02:00
Roland Dobai
d46b6a82f2 Merge branch 'dependency_check_fix' into 'master'
bug(tools): dependency check catch exception when package not installed

Closes IDF-8116

See merge request espressif/esp-idf!25497
2023-08-30 22:31:47 +08:00
Roland Dobai
e2b262fa61 Merge branch 'feature/support_windowsARM64' into 'master'
feat(tools): Added Windows-ARM64 support

Closes IDFGH-8928

See merge request espressif/esp-idf!25547
2023-08-30 22:14:34 +08:00
Roland Dobai
a1ebd76ab3 Merge branch 'bugfix/failed_module_import' into 'master'
fix(tools): extend error message for failed python module import

Closes IDF-8137

See merge request espressif/esp-idf!25643
2023-08-30 18:42:29 +08:00
Roland Dobai
2166d917c5 Merge branch 'gdb_panic_server_remove' into 'master'
fix(tools): remove unused gdp_panic_server; replace with new esp-idf-panic-decoder package

See merge request espressif/esp-idf!24803
2023-08-30 15:52:25 +08:00
Frantisek Hrbata
9511180b4a fix(tools): extend error message for failed python module import
Currently idf.py reports just "Please use idf.py only in an ESP-IDF shell environment".
Sometimes it may be useful to know for which module the import failed.
Also the problem does not have to be related to shell environment only, but the
python venv can be corrupted. This adds a little bit more verbose error
message.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-30 08:14:50 +02:00
Cody P Schafer
f2af1c5305 nvs: support iteration over namespace by index
Users of the nvs API are likely to have `nvs_handle_t` in all cases, but
not all of them carry around the partition name and namespace name (as
they aren't needed after creating an `nvs_handle_t`).

Allow this common case to use nvs iteration without them tracking
additional data by using the `nvs_handle_t` to locate the namespace
index and the partition name by introducing an alterate to
`nvs_entry_find` called `nvs_entry_find_in_handle`, which operates
similarly except that it is given a `nvs_handle_t` instead of partition
and namespace strings.

This is somewhat more limited than the `nvs_entry_find` API as one
cannot examine all keys in a given partition.
2023-08-29 13:59:34 +02:00
Peter Dragun
a58be23118 bug(tools): dependency check catch exception when package not installed 2023-08-28 16:03:15 +02:00
Roland Dobai
2fbb63124f Merge branch 'feature/coredump_panic_details' into 'master'
feat(coredump): add panic details to the elf file

Closes IDF-7788 and IDF-7789

See merge request espressif/esp-idf!25198
2023-08-28 13:05:58 +08:00
Darian
ede131ce73 Merge branch 'refactor/freertos_tslfcb_and_coproc_cleanup' into 'master'
refactor(freertos): Remove portCLEAN_UP_COPROC() and TLSP deletion callback kernel changes from IDF FreeRTOS

See merge request espressif/esp-idf!25481
2023-08-25 15:34:40 +08:00
Marek Fiala
630b77094f feat(tools): Added Windows-ARM64 support
Closes https://github.com/espressif/esp-idf/issues/10345
2023-08-24 16:27:17 +02:00
Peter Dragun
05c883e8f7 feat(tools): remove gdb_panic_server and use just a wrapper for script
gdb_panic_server is now part of esp-idf-panic-decoder
2023-08-24 15:20:29 +02:00
Darian Leung
57eb41ce83 refactor(freertos): Call TLSP deletion callback from portCLEAN_UP_TCB()
Previously, TLSP deletion callbacks were...

- Stored in a seprate TCB member "pvThreadLocalStoragePointersDelCallback"
- Called separately via multipole prvDeleteTLS() insertions in tasks.c

This commit refactors how TLSP deletion callbacks are stored and called:

- TLSP deletion callbacks are now stored in "pvThreadLocalStoragePointers"
directly. configNUM_THREAD_LOCAL_STORAGE_POINTERS is doubled in size so that
the deletion callbacks are stored in the latter half of the array

- The callbacks are now called via "portCLEAN_UP_TCB()". As such, the
prvDeleteTLS() additions are no longer needed and the function can be removed

- Removed some legacy TLSP tests using the old method of storing the callback
pointers.

This commit reduces the source code diff between IDF FreeRTOS and upstream
vanilla FreeRTOS, in preparation for v10.5.1 upgrade.
2023-08-24 19:32:06 +08:00
Erhan Kurubas
4714521b21 feat(coredump): add panic details to the elf file 2023-08-24 10:20:56 +02:00
Armando
6f412393b6 change(ci): add todo to p4 build test enable 2023-08-24 12:51:19 +08:00
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Rocha Euripedes
9552ef012d Merge branch 'ci/publish_connect_fix' into 'master'
Fix publish connect mqtt test

See merge request espressif/esp-idf!25479
2023-08-24 08:30:53 +08:00
Darian
4962bb51dc Merge branch 'change/freertos_clean_up_tcb_macro' into 'master'
change(freertos): Deprecate usage of vPortCleanUpTCB() by applications

Closes IDF-7256

See merge request espressif/esp-idf!25480
2023-08-24 01:46:20 +08:00
Darian Leung
39cf3638ae change(freertos): Deprecate usage of vPortCleanUpTCB() by applications
Previously, if CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP was enabled, users
would provide a definition for a vPortCleanUpTCB() hook function that is called
right before a task's memory is freed in prvDeleteTCB(). However,
vPortCleanUpTCB() will be reclaimed by ESP-IDF for internal use in v6.0.

This commit introduces the following changes...

Introduced a new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option:

- Provides the same pre-deletion hook functionality. But users now define
vTaskPreDeletionHook() instead.
- CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP still exists, but is marked as
deprecated. This is to maintain compatibility with existing applications
that already define vPortCleanUpTCB().
- Removed redundant --wl --wrap workaround with vPortCleanUpTCB()
- Added todo notes to remove support for user defined vPortCleanUpTCB()
completely in v6.0.
- Updated test cases to use new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option

Freed up portCLEAN_UP_TCB() to call a new internal vPortTCBPreDeleteHook():

- vPortTCBPreDeleteHook() now replaces the previous "wrapped" implementation
of vPortCleanUpTCB().
- vPortTCBPreDeleteHook() is an internal task pre-delete hook for IDF FreeRTOS
ports to inject some pre-deletion operations.
- Internal pre-delete hook now invokes user provided vTaskPreDeletionHook()
if enabled.
- Relocated vPortTCBPreDeleteHook() to correct section in port.c
2023-08-23 17:50:08 +08:00
Euripedes Rocha
d80a2881d1 ci: Fix publish connect mqtt test
Minor changes necessary to make the test run correctly
2023-08-23 10:04:19 +02:00
harshal.patil
37303266f0
fix(esp_prov): update devices tuple usage due to API deprecations
- a recent commit fixed the API deprecations,
and the BLEDevice object now needs to be accessed through a tuple.
- thus the changes were made in the code wherein the object was used,
but updating the usage in the condition when de
vname is not None got skipped.
2023-08-22 14:44:38 +05:30
Lu Ze Yu
14d87655da Merge branch 'fix/fix_intr_alloc_expected_result' into 'master'
fix(ci): fix expected intr_dump result

Closes IDFCI-1790

See merge request espressif/esp-idf!25459
2023-08-22 15:21:42 +08:00
Planck (Lu Zeyu)
99ee7d6b18 fix(ci): fix expected intr_dump result 2023-08-22 12:25:53 +08:00
Marius Vikhammer
a63e067d64 Merge branch 'ci/c6_c2_system_build' into 'master'
ci(build_test): enable system/build apps for C6 and C2

See merge request espressif/esp-idf!25400
2023-08-22 11:16:22 +08:00
Marius Vikhammer
f371679a8d ci(build_test): enable system/build apps for C6 and C2 2023-08-18 13:08:06 +08:00
Fu Hanxi
5e4427ab13
ci(pytest): add plugin pytest-ignore-test-results
pass with warning if test job got ignored.
2023-08-18 10:50:18 +08:00
Fu Hanxi
39f3a5f3ac
ci(pytest): skip test case if no app found while collecting, not setup 2023-08-18 08:36:06 +08:00
Fu Hanxi
17bbb2a5a2
ci(pytest): use one class to filter the nightly_run 2023-08-18 08:36:06 +08:00
Fu Hanxi
1d69302eae
ci(pytest): move pytest utils into tools/ci/idf_pytest
For future usage
2023-08-18 08:36:06 +08:00
Fu Hanxi
c8cddaee8a
ci: exclude checking manifest files under managed_components 2023-08-18 08:09:20 +08:00
Ivan Grokhotkov
af79a47422 Merge branch 'contrib/github_pr_12052' into 'master'
Two small patches for build system and fatfs (GitHub PR)

Closes IDFGH-10849

See merge request espressif/esp-idf!25337
2023-08-17 22:01:00 +08:00
Fu Hanxi
7908d04fdb Merge branch 'ci/use_pylint_3.8' into 'master'
ci: pylint with codeclimate

Closes IDFCI-1727

See merge request espressif/esp-idf!25283
2023-08-17 12:04:45 +08:00
Michael (XIAO Xufeng)
47c153b949 Merge branch 'ci/pre-commit-check-build-test-rule-exist' into 'master'
pre-commit: add check that build-test-rule paths must exist

See merge request espressif/esp-idf!25231
2023-08-17 02:25:45 +08:00
Jakob Hasse
f0e7474d30 Merge branch 'feature/wifi_mock' into 'master'
feat(linux): added very simple esp_wifi mock

Closes IDFGH-9190

See merge request espressif/esp-idf!24400
2023-08-16 15:23:15 +08:00
Fu Hanxi
28c9953ffe
ci: pylint with codeclimate 2023-08-15 08:31:45 +08:00
Michal Jenikovsky
e9bb33624b idf.py: gdb action incorrectly generated EOL gdbinit scripts
GDB on Windows incorrectly reads EOL in the script files causing 'gdb'
action to fail.

(gdb) source .../build/gdbinit/py_extensions
(gdb) source .../build\gdbinit\symbols
add symbol table from file "...\build\bootloader\bootloader.elf"
.../build\gdbinit\symbols:6: Error in sourced command file:
Undefined command: "".  Try "help".

Forcing line separator to '\n' resolved the issue

Signed-off-by: Michal Jenikovsky <jendo@jmsystems.sk>
2023-08-11 12:37:29 +02:00
Xiao Xufeng
f51258ec18 ci(pre-commit): add check that build-test-rule paths must exist 2023-08-11 17:04:35 +08:00
Cao Sen Miao
de85f47bc9 feat(i2c): Add I2C driver support for esp32p4 2023-08-11 12:37:11 +08:00
Marius Vikhammer
fc83060fba ci(esp32p4): fixed public header check and build failure for P4 2023-08-11 10:23:02 +08:00
Roland Dobai
ba8c18182a Merge branch 'contrib/github_pr_12046' into 'master'
Docker image Ubuntu LTS distribution upgrade from 20.04 to 22.04 (GitHub PR)

Closes IDFGH-10840

See merge request espressif/esp-idf!25299
2023-08-10 22:10:15 +08:00
Andrii
6a42266795 fix(mqtt): Unite supported components tags under common structure 2023-08-10 09:06:16 +00:00
Armando (Dou Yiwen)
337aeb4b78 Merge branch 'feature/add_esp32p4_hello_world' into 'master'
esp32p4: introduced new chip ESP32P4: Hello World! 🌏

Closes IDF-7523

See merge request espressif/esp-idf!25013
2023-08-10 16:04:55 +08:00
Armando
706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
Jakob Hasse
8b9f8555ea refactor(tools): public header check also checks c++ now
* Also changed --only-dir argument to accept system-wide
  directories instead of directories from IDF root
2023-08-09 16:23:13 +08:00
Jakob Hasse
342a5b428c fix(esp_event): made #include <stdint.h> explicit 2023-08-09 16:17:06 +08:00
Michael Mimo Moratti
acc36cd802 Docker image distribution upgrade from 20.04 to 22.04
The ubuntu LST version 22.04 has standard support until 2027
2023-08-09 08:15:53 +02:00
Fu Hanxi
60db076a96
ci: add pre-commit to cleanup ignore lists 2023-08-09 12:09:31 +08:00
Roland Dobai
0cee3ac6db Merge branch 'feature/rewrite_build_sys_tests_v7' into 'master'
refactor(tools): Rewrite build system unit tests to python

Closes IDF-7926

See merge request espressif/esp-idf!25197
2023-08-09 07:03:38 +08:00
Roland Dobai
33205dad4c Merge branch 'feature/requires_hints' into 'master'
feat(tools): show hints for component dependencies

Closes IDF-6642

See merge request espressif/esp-idf!23950
2023-08-08 23:51:52 +08:00
Roland Dobai
4bbc57cd37 Merge branch 'update/deprecate_python37' into 'master'
feat: Drop Python 3.7 support

Closes IDF-4441

See merge request espressif/esp-idf!24897
2023-08-08 23:30:12 +08:00
Roland Dobai
267e52a6db Merge branch 'fix/bin_names_with_dots' into 'master'
fix(build_system): Allow dots in the name of an app binary

Closes IDF-7973

See merge request espressif/esp-idf!25256
2023-08-08 23:08:04 +08:00
Marek Fiala
7943e01850 refactor(tools): Rewrite build system unit tests to python
Rewritten tests: test_build_system_spaces.py
2023-08-08 16:41:30 +02:00
radim.karnis
8acde05a5c feat: Drop Python 3.7 support 2023-08-08 08:37:29 +02:00
radim.karnis
2b8bbe0a18 fix(build_system): Allow dots in the name of an app binary 2023-08-08 08:35:08 +02:00
Roland Dobai
f5c596e85b fix(tools): Increase timeout in idf_tools.py Python tests 2023-08-07 15:01:51 +02:00
Roland Dobai
6b5b8a88db fix(tools): Keep the original Python environment when idf_tools.py tests are run 2023-08-07 15:01:51 +02:00
Roland Dobai
88b40b4bea fix(tools): idf_tools.py tests should keep the original constraint file 2023-08-07 15:01:51 +02:00
Frantisek Hrbata
c5503b3537 ci(tools): fix test_hints.py to run on windows
1. The original test, before hint modules support was added, used
tempfile.NamedTemporaryFile in a way which is not supported on windows.
It was having the file open, which the hints tried to read it, leading
the EPERM exception. The docs[1] says this is not supported.
<quote>
Whether the name can be used to open the file a second time, while the
named temporary file is still open, varies across platforms (it can be
so used on Unix; it cannot on Windows)
</quote>

2. The hint module component_requirements test used the idf.py directly,
which is idf.py.exe on windows.Now it's starting idf.py through python.
We could probably used shell=True, but this approach is used in other
tests too.

Anyway the test are now passing on windows.

[1] https://docs.python.org/3/library/tempfile.html

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00
Frantisek Hrbata
801bf0053d ci(tools): add tests for component_requirements.py hints module
Following tests were added.

1. Test for missing header directory in component's INCLUDE_DIRS
2. Test for missing dependency in component's PRIV_REQUIRES
3. Test for missing dependency in component's REQUIRES
4. Test for dependency in PRIV_REQUIRES which should be in REQUIRES

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00
Ivan Grokhotkov
6878ddaa4a feat(tools): idf.py: implement hints for component reqs
Implementation of hint module for component dependency. It can provide
hint about missing header directory in component's INCLUDE_DIRS or
about missing component dependency in REQUIRES or PRIV_REQUIRES.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00
Ivan Grokhotkov
54d4662107 feat(tools): idf_monitor: support for loadable hint provider modules
Currently hints are supported based on hints.yml only, which may be
limiting for some use cases. This introduces a generic plugin approach,
which allows to implement hint module that doesn't require entry in hints.yml.
Such module has the full command output available and it is not limited to
a single regex in hints.yml.

Note that regex in hint.yml expects the output concatenated into a single line,
but hint modules are getting the output unchanged.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00
Frantisek Hrbata
ed35c3a94a feat(tools): add global build context
Introduces get_build_context() helper, which allows to get build context, e.g.
project description, at places where this info is not available. The
build context is set within ensure_build_directory.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00
Roland Dobai
f65b787415 Merge branch 'version_check_fix_dev' into 'master'
fix(tools): check_python_version accept dev releases as requirement

See merge request espressif/esp-idf!25185
2023-08-04 20:02:30 +08:00
Peter Dragun
e0abb5b414 fix(tools): check_python_version accept dev releases as requirement 2023-08-04 09:52:05 +02:00
Alexey Lapshin
16f34704cb fix(gdbstub): skip xtensa_stepping_bug testcase until fixed 2023-08-04 07:41:21 +04:00
Chen Yu Dong
ad84b8f4b4 Merge branch 'ci/add_test_case_phy_tsens' into 'master'
ci: add new test tsens phy coexist

See merge request espressif/esp-idf!24298
2023-08-03 11:17:34 +08:00
Omar Chebib
0368aa5257 Merge branch 'feature/bootloader_ignore_extra_component' into 'master'
bootloader: add the possibility to ignore extra components

Closes IDF-7825

See merge request espressif/esp-idf!24806
2023-08-02 10:28:41 +08:00
Alexey Lapshin
47e400c296 feature(gdbstub): Move runtime gdbstub out of panic config
Closes https://github.com/espressif/esp-idf/pull/11569
2023-08-01 14:28:07 +04:00
Chen Yudong
fe1b03308e ci(tsens): add new test tsens phy coexist 2023-07-31 12:13:24 +08:00
Ivan Grokhotkov
cfa1896780 Merge branch 'contrib/github_pr_11535' into 'master'
Replace deprecated flushregs alias with full gdb command (GitHub PR)

Closes IDFGH-10272

See merge request espressif/esp-idf!24752
2023-07-28 22:40:22 +08:00
Aditya Patwardhan
22d98c2c35 Merge branch 'esp_prov/update_deprecation_warnings' into 'master'
fix(esp_prov): Fixed the deprecation APIs warnings

See merge request espressif/esp-idf!24896
2023-07-28 16:24:09 +08:00
Alexey Lapshin
5f07ed87f6 Merge branch 'fix/esp32c2-gdbstub-runtime' into 'master'
fix(freertos): enable esp32c2 runtime-gdbstub

See merge request espressif/esp-idf!24858
2023-07-28 15:41:07 +08:00
Omar Chebib
7b5c0fb96b ci(build_system): add a test case for bootloader override 2023-07-28 15:04:21 +08:00
Omar Chebib
c98d1f1619 feat(bootloader): add the possibility to ignore extra components 2023-07-28 15:04:21 +08:00
Roland Dobai
240deaaabe Merge branch 'tools/added_chip_rev_field_into_coredump_header' into 'master'
coredump: added the chip_rev field into the coredump header

See merge request espressif/esp-idf!21315
2023-07-26 21:03:18 +08:00
Roland Dobai
7fdf25e757 Merge branch 'contrib/github_pr_11821' into 'master'
feat(idf.py): Allow adding arguments from file via @filename.txt (#11783) (GitHub PR)

Closes IDFGH-10584 and IDFGH-10539

See merge request espressif/esp-idf!24955
2023-07-26 18:51:25 +08:00
Roland Dobai
21b75790ee Merge branch 'bugfix/sbom_hash_check' into 'master'
fix(test_submodules.py): don't rely on submodule init

Closes IDF-7662

See merge request espressif/esp-idf!24492
2023-07-26 18:50:15 +08:00
Aleksei Apaseev
6532076ad6 coredump: added the chip_rev field into the coredump header 2023-07-26 10:53:28 +08:00
Aleksei Apaseev
ba51b09cb2 coredump: added the chip_rev field into the coredump header 2023-07-26 10:53:28 +08:00
Marek Fiala
076779f419 feat(tools): idf.py adding arguments from file via @filename.txt
- moved test inputs to one directory
- removed `-` from test arguments

Closes https://github.com/espressif/esp-idf/pull/11821
Closes https://github.com/espressif/esp-idf/issues/11783
2023-07-25 10:29:09 +02:00
Frantisek Hrbata
bf1a487b73 fix(idf_tools): execution of empty command in get_version()
The ticket below reports some very strange behaviour, where
even a simple command like the following

python3 -c "import subprocess; subprocess.run([''])"

actually spawns some process and pass instead of raising
PermissionError. Even though the problem is most probably somewhere
else, not in idf_tools, we may just return early if there is no
command available for get_version().

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-07-24 16:19:30 +02:00
Frantisek Hrbata
6936c2d8fc Revert "feat(tools): use ESP_PYTHON during install"
This change seems to be causing problems on macos. Let's revert it
for now and investigate.

This reverts commit 6a7a7317f2.
2023-07-21 09:32:33 +02:00
Nebojsa Cvetkovic
4c1f574c3d feat(idf.py): Allow adding arguments from file via @filename.txt 2023-07-21 06:42:23 +01:00
Roland Dobai
f4a1567474 Merge branch 'bugfix/debug_ext_ctrl_c' into 'master'
tools: fix waiting on gdb process when interrupted with CTRL+C

Closes IDFGH-10638

See merge request espressif/esp-idf!24836
2023-07-20 23:05:53 +08:00
Ivan Grokhotkov
e6c3f62281 Merge branch 'feature/esp_intr_dump' into 'master'
system: add esp_intr_dump API to debug interrupt allocation

Closes IDF-4281 and IDF-6066

See merge request espressif/esp-idf!23877
2023-07-20 19:53:58 +08:00
Roland Dobai
9d2eb96705 Merge branch 'bug/propagate_esp_python' into 'master'
feat(tools): use ESP_PYTHON during install

Closes IDF-7847

See merge request espressif/esp-idf!24857
2023-07-20 18:29:18 +08:00
Chen Yu Dong
7d03999b2b Merge branch 'fix/remove_future_package_usage' into 'master'
esp_prov: remove future usage

See merge request espressif/esp-idf!24887
2023-07-20 15:58:22 +08:00
Chen Yu Dong
5c215405a4 Merge branch 'ci/add_patterns_for_fast_template_job' into 'master'
Ci: add patterns for fast template job

See merge request espressif/esp-idf!24820
2023-07-20 10:40:06 +08:00
Ivan Grokhotkov
0ebe2cecfa
feat(system): add an error log and a hint on failed interrupt alloc
When interrupt allocation fails, esp_intr_alloc will now print a
message telling that no free interrupt was found. This message is
then checked in hints.yml, to give a link to the troubleshooting
guide.
2023-07-19 16:47:41 +02:00
Ivan Grokhotkov
2bcb227542
ci(system): add test app for esp_intr_dump 2023-07-19 16:47:41 +02:00
Chen Yudong
ec39de3992 change(esp_prov): also remove print_function from esp_prov 2023-07-19 21:05:30 +08:00
Chen Yudong
2ffc5ac6e6 change(esp_prov): remove future usage
drop python2 support for esp_prov
2023-07-19 21:05:06 +08:00
harshal.patil
9e1edd74c7 fix(esp_prov): Fixed the deprecation APIs warnings
- Updated the extraction of service_uuids using AdvertisementData
- Replaced the `get_services()` API with the `services` property
2023-07-19 14:24:47 +05:30
Zim Kalinowski
1b6ef8a812 Merge branch 'bugfix/included-esp-system-in-helloworld-example' into 'master'
fix(example): included esp_system.h in helloworld example in order to fix warning

See merge request espressif/esp-idf!24729
2023-07-19 16:20:49 +08:00
Frantisek Hrbata
6a7a7317f2 feat(tools): use ESP_PYTHON during install
Currently ESP_PYTHON is used in the install.sh script, but it's
overwritten in detect_python.sh. This allows to explicitly specify
python binary, which should be used to create venv.

$ ESP_PYTHON=/usr/bin/python3.7 ./install.{sh,fish}
$ ESP_PYTHON=/usr/bin/python3.7 ./export.{sh,fish}

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-07-19 10:10:56 +02:00
Fu Hanxi
4a8c9ecb60 Merge branch 'ci/fix_skipping_qemu_test' into 'master'
CI: fix skipping qemu test

See merge request espressif/esp-idf!24880
2023-07-19 15:06:06 +08:00
morris
fb7cc00378 Merge branch 'refactor/reorganize_the_interrupt_description_files' into 'master'
refactor(interrupt): Put the interrupts definitions in soc/interrupts.h

Closes IDF-5776

See merge request espressif/esp-idf!24578
2023-07-19 12:05:56 +08:00
Fu Hanxi
7610e535ea
ci: ignore test scripts under managed_components 2023-07-19 11:21:49 +08:00
Roland Dobai
79b15bd410 Merge branch 'feature/rewrite_build_sys_tests_v6' into 'master'
Tools: Rewrite build system unit tests to python - git

Closes IDF-7386

See merge request espressif/esp-idf!23860
2023-07-19 01:20:06 +08:00
Roland Dobai
c5b355143a Merge branch 'contrib/github_pr_11836' into 'master'
fix: create-project & create_component with proper file permission (GitHub PR)

Closes IDFGH-10599

See merge request espressif/esp-idf!24854
2023-07-19 01:16:38 +08:00
Marek Fiala
f4e3c9c03a refactor(tools): Rewrite build system unit tests to python
Rewritten parts:
 - git
 - version
 - build
2023-07-18 15:51:04 +02:00
Marek Fiala
e8ee59f68b fix(tools): create-project with proper file permission - pre-commit fix
Closes https://github.com/espressif/esp-idf/pull/11836
2023-07-18 14:08:37 +02:00
Alexey Lapshin
99ac68246e fix(freertos): enable esp32c2 runtime-gdbstub 2023-07-18 12:15:33 +04:00
Chen Yudong
2c22b74479 ci(rules): add patterns fast template app
Update pre-check job rules
2023-07-18 11:21:24 +08:00
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