Commit Graph

5842 Commits

Author SHA1 Message Date
harshal.patil
0868604664
fix(esp_hw_support): Fix incorrect PMA configuration for ESP32-P4
- As the PMA entry that made some memory regions cacheable was
assigned the highest priority, some intermediate inaccessible
memory regions bypassed protection.

- Added tests for the same

- Verified that even after changing the priority of the PMA entry,
a write operation at SOC_IRAM_LOW + 0x40 (a random RAM cached address)
still needs the same number (29) of CPU cycles.
2024-06-11 12:23:06 +05:30
Ondrej Kosta
f6420436eb feat(esp_eth): a new folder structure of the driver and other improvements
Fixed memory leak in emac_esp_new_dma function.

Polished ESP EMAC cache management.

Added emac_periph definitions based on SoC features and improved(generalized) ESP EMAC GPIO
initialization.

Added ESP EMAC GPIO reservation.

Added check for frame error condition indicated by EMAC DMA and created a target test.
2024-06-07 15:26:18 +02:00
Alexey Lapshin
b07a1470c5 feat(tools): update toolchain version to esp-13.2.0_20240530 2024-06-04 18:35:17 +04:00
Jeroen Domburg
df4195062d change(system): heap_caps_alloc returns aligned memory if caps indicate a need for it
The implicit promise of heap_alloc_caps() and friends is that the memory it
returns is fit for the purpose as requested in the caps field. Before
this commit, that did not happen; e.g. DMA-capable memory wass returned
from a correct region, but not aligned/sized to something the DMA subsystem
can handle.

This commit adds an API to the esp_mm component that is then used by the
heap component to adjust allocation alignment, caps and size dependent on
the hardware requirement of the requested allocation caps.
2024-05-30 16:02:03 +08:00
Armando
48e06fafea feat(xip_psram): support xip psram feature on esp32p4 2024-05-29 10:02:44 +08:00
C.S.M
5a7a9c0638 test(esp_intr_dump): Fix the esp intr dump expected output because the changes happened in brownout 2024-05-27 16:41:18 +08:00
Roland Dobai
5890c7450d fix(tools): Use GDGBUI arguments based on its version
Closes https://github.com/espressif/esp-idf/issues/13665
2024-05-23 07:35:55 +02:00
Erhan Kurubas
0f96e51146 ci(coredump): fix capture dram tests 2024-05-22 06:25:04 +02:00
Erhan Kurubas
617f5a7052 feat(coredump): save .bss, .data and .heap sections to the elf file 2024-05-22 06:25:01 +02:00
Jiang Jiang Jian
e7ba614a04 Merge branch 'set_gdb_remotetimeout_v5.3' into 'release/v5.3'
tools(gdbinit): set remote timeout for the gdb connection (v5.3)

See merge request espressif/esp-idf!30804
2024-05-22 07:40:07 +08:00
Jiang Jiang Jian
1f0d27a2c6 Merge branch 'fix/pytest_session_dir_v5.3' into 'release/v5.3'
ci: apply new fix in pytest-embedded 1.10 (v5.3)

See merge request espressif/esp-idf!30676
2024-05-22 07:38:23 +08:00
Alexey Lapshin
89218b35e4 fix(system): place idf's stray sections while linking 2024-05-20 13:31:04 +04:00
Sarvesh Bodakhe
fdb4197d02 fix(esp_wifi): Add some bugfixes and cleanup in softAP
1. Fix wrong reason code in 'WIFI_EVENT_AP_STADISCONNECTED' event
2. cleanup in softAP for disconnecting connected station
3. Update examples to display reason while processing WIFI_EVENT_AP_STADISCONNECTED event
2024-05-20 11:50:09 +08:00
Erhan Kurubas
b400a8cd72 change(gdbinit): set remote timeout for the gdb connection 2024-05-13 13:34:13 +02:00
Fu Hanxi
4e850f158e
ci: move log dir from pytest_embedded_log to pytest-embedded 2024-05-10 10:29:21 +02:00
Frantisek Hrbata
fe4b401ab2 ci: add simple test for idf_size.py python compatibility
This adds a simple test that tries to run idf_size.py help and check
if the process does not exit with error. This is just to make sure
that idf_size.py can be used with minimum required python version.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-08 19:48:52 +02:00
Frantisek Hrbata
ebc9d02146 fix: make idf_size.py compatible with python3.8
Previous 6caa4a17ac ("fix: display correct help in the idf_size.py wrapper")
introduced a regression, because it uses exit_on_error parameter for
argparse.ArgumentParser, which was added in python3.9, making
idf_size.py incompatible with idf.py minimal required python3.8.

The objective is to inspect the arguments of idf_size.py using a wrapper
argparse to determine whether the legacy or refactored version should be
initiated, while always displaying help for the underlying version. The
exit_on_error function was previously utilized to prevent argparse from
exiting and displaying help/usage. This replaces exit_on_error with a
workaround that makes the --format argument optional. Since this is the
sole instance where the wrapper argparse might fail, it achieves the
same outcome as using exit_on_error.

Fixes: 6caa4a17ac ("fix: display correct help in the idf_size.py wrapper")
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-08 19:48:51 +02:00
Fu Hanxi
840ec6579f
ci: update mypy check for python 3.12, check under python 3.8 rules 2024-05-07 12:17:10 +02:00
Frantisek Hrbata
ae0eabec53 fix: display correct help in the idf_size.py wrapper
Currently the wrapper tries to figure out which version of
the esp-idf-size should be started. The legacy version is
used if explicitly requested by the -l/--legacy option or
if json format is specified. This works fine, but if help
is requested, it is printed for the wrapper as shown bellow

$ idf_size.py -h
usage: idf_size.py [-h] [--format FORMAT] [-l]

options:
  -h, --help       show this help message and exit
  --format FORMAT
  -l, --legacy

This is not convenient and the full help from the underlying
version should be displayed.

Fix this by only peeking into the args to figure out if legacy or
refactored version should be started and always spawn the underlying
esp_idf_size python module. This is done by using exit_on_error=False and
add_help=False for the ArgumentParser. When help for refactored version
is requested a note as following is printed to notify users that the
legacy version can still be used.

$ idf_size.py -h
Note: legacy esp_idf_size version can be invoked by specifying the -l/--legacy
option or by setting the ESP_IDF_SIZE_LEGACY environment variable.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-07 09:42:19 +02:00
Roland Dobai
6a5ab20489 ci(tools): Fix IDF_MIRROR_PREFIX_MAP for including all tools from local 2024-04-29 09:00:55 +02:00
Fu Hanxi
3386c594b4
ci: fix size.json path for app 2024-04-25 08:49:16 +02:00
Fu Hanxi
ed2d492bde
ci: check missing runners only when needed 2024-04-22 15:38:36 +02:00
Roland Dobai
af302c0bee Merge branch 'feat/add_merged_bin_cmd' into 'master'
feat(tools): Add idf.py merge-bin command and cmake target

See merge request espressif/esp-idf!29996
2024-04-22 17:55:36 +08:00
igor.udot
99a0ce0db0 ci: revert pytest.ini -s -vv 2024-04-19 22:26:29 +08:00
Alexey Lapshin
6f2de1fb23 fix(system): esp32p4: fix mepc when load/store failure occurred 2024-04-18 19:49:19 +04:00
Marius Vikhammer
842b6a1dc4 Merge branch 'bugfix/p4_ulp_wakeup' into 'master'
fix(ulp): fixed lp-core not booting during sleep

Closes IDF-9407

See merge request espressif/esp-idf!30296
2024-04-18 16:23:16 +08:00
Marius Vikhammer
1fa59c442b fix(ulp): fixed lp-core not booting during sleep
LP core was unable to boot when system was in deepsleep.
This was due to lp uart init in LP rom using XTAL as clk source,
which is normally powered down during sleep.

This would cause lp uart to get stuck while printing ROM output,
and the app would never boot.

Also fixed wrong wakeup cause used by HP core for ULP wake up
2024-04-18 11:36:30 +08:00
Ivan Grokhotkov
8a66e059e9 Merge branch 'feature/sdmmc_p4_psram' into 'master'
feat(sdmmc): add support for PSRAM DMA

Closes IDF-9662

See merge request espressif/esp-idf!30044
2024-04-17 18:10:00 +08:00
Ivan Grokhotkov
545203f1c8
change(ci): split test_apps build-test-rules, add missing code owners 2024-04-17 11:54:33 +02:00
Fu Hanxi
01d56baac6 Merge branch 'ci/fix_macos_runner' into 'master'
ci: select correct python version for mac runners

Closes IDFCI-2107

See merge request espressif/esp-idf!30102
2024-04-17 16:58:27 +08:00
Marius Vikhammer
c9efc9cc83 Merge branch 'bugfix/p4_reserved_rtc_mem' into 'master'
fix(rtc_memory): fix conflict between LP-ROM and RTC reserved

Closes IDF-9408

See merge request espressif/esp-idf!30012
2024-04-17 16:45:57 +08:00
Marius Vikhammer
4533f16c34 fix(rtc_memory): fix conflict between LP-ROM and RTC reserved 2024-04-17 13:37:56 +08:00
Fu Hanxi
2cde75b531
ci: improve pytest build system tests
- remove temp dirs
- remove idf-component-manager unit test
2024-04-16 15:33:43 +02:00
Fu Hanxi
a4f691b88a
ci: always cleanup idf copy in ci 2024-04-16 15:32:10 +02:00
Jan Beran
0dec6fe65d feat(tools): Add idf.py merge-bin command and cmake target 2024-04-16 12:49:18 +02:00
Alexey Lapshin
851216b1a4 feat(tools): update gdb version to 14.2_20240403 2024-04-16 16:17:28 +08:00
Jiang Jiang Jian
8f4f21580a Merge branch 'bugfix/esp_supplicant_format' into 'master'
fix(wifi): update coding format of WiFi files

See merge request espressif/esp-idf!28079
2024-04-16 15:23:21 +08:00
Konstantin Kondrashov
b6c8a139be Merge branch 'feature/linux_improve_delay_func' into 'master'
feat(esp_rom): Improves esp_rom_delay_us for linux target

See merge request espressif/esp-idf!30217
2024-04-16 14:44:21 +08:00
Kapil Gupta
0ba7836bd2 fix(ci): Update coding rules for esp_wifi files 2024-04-15 23:18:33 +05:30
Mahavir Jain
024b040300
test(memprot): enable memory protection tests for P4 2024-04-14 21:16:42 +05:30
Erhan Kurubas
72f463afc6 Merge branch 'doc_update_esp32p4_jtag' into 'master'
Update esp32p4 jtag debugging guide

Closes IDF-7758

See merge request espressif/esp-idf!26527
2024-04-13 02:10:21 +08:00
Ivan Grokhotkov
49b4bc175e
feat(sdmmc): add support for PSRAM DMA on ESP32-P4 2024-04-12 12:56:18 +02:00
Konstantin Kondrashov
b3d1b1783b feat(esp_rom): Improves esp_rom_delay_us for linux target 2024-04-12 12:52:38 +03:00
Jakob Hasse
d9a6ae2b3c Merge branch 'refactor/simplify_mock_build_tests' into 'master'
refactor(cmock): simplified mock build tests

See merge request espressif/esp-idf!30038
2024-04-12 16:09:39 +08:00
Roland Dobai
ef36e84264 Merge branch 'feature/idf_tools_stop_install_on_error' into 'master'
feat(tools): stop installation if tool is failed

Closes IDF-9030

See merge request espressif/esp-idf!28491
2024-04-12 15:07:17 +08:00
Roland Dobai
34f1076711 Merge branch 'fix/exit_asyncio_gracefully' into 'master'
fix: exit gracefully when process started via asyncio is terminated

Closes IDFGH-12390

See merge request espressif/esp-idf!30036
2024-04-12 14:12:18 +08:00
Anton Maklakov
e1ef214203 feat(tools): stop installation if tool is invalid
install/check commands - stop on error
export/list commands - print a warning
2024-04-12 14:03:49 +08:00
Xu Si Yu
2768d33be2 Merge branch 'ci/re-enable_ot_runner' into 'master'
ci: re-enable openthread runner

See merge request espressif/esp-idf!30142
2024-04-10 14:38:35 +08:00
morris
57696a437d Merge branch 'feat/ast_grep_lint_tool' into 'master'
Use ast-grep to create customized lint rules

See merge request espressif/esp-idf!30050
2024-04-10 10:50:09 +08:00
Xu Si Yu
0d01a3ed72 ci: re-enable openthread runner 2024-04-09 20:52:05 +08:00
Marek Fiala
f2b75d81b3 fix(system): fix idf.py build ulp examples containing spaces in path on Win 2024-04-09 14:00:34 +02:00
morris
c4c8965513 feat(tool): use ast-grep to lint code base 2024-04-09 18:45:18 +08:00
Erhan Kurubas
483b4cd65b ci(coredump): enable custom stack tests for riscv chips 2024-04-09 13:36:30 +08:00
Fu Hanxi
8f2aebdc20
ci: ignore openthread runner temporarily 2024-04-08 14:44:17 +02:00
Kevin (Lao Kaiyao)
432864e917 Merge branch 'ci/enable_c5_mp_ci_jobs' into 'master'
ci(esp32c5mp): enable esp32c5 build on CI

See merge request espressif/esp-idf!29895
2024-04-08 12:16:16 +08:00
Chen Yu Dong
8ff53713fa Merge branch 'ci/fix_generic_env_markers' into 'master'
ci: fix pytest generic env markers

See merge request espressif/esp-idf!30021
2024-04-07 16:44:57 +08:00
Ivan Grokhotkov
279b67cc5e Merge branch 'bugfix/check_callgraph_ignore_indirect_calls' into 'master'
fix(check_callgraph): rework --ignore-symbols to be more generic

See merge request espressif/esp-idf!29850
2024-04-07 15:05:08 +08:00
Fu Hanxi
290e3c3156 ci: fix bypass target test warnings 2024-04-07 12:13:29 +08:00
laokaiyao
65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Alexey Lapshin
5a40bb8746 Merge branch 'feature/update-esp32ulp-elf-to-2.38_20240113' into 'master'
feat(tools): update esp32ulp-elf version to 2.38_20240113

See merge request espressif/esp-idf!28451
2024-04-06 03:23:43 +08:00
Erhan Kurubas
9e80e127ac doc(jtag): update esp32p4 jtag debugging guide 2024-04-04 21:37:56 +03:00
Erhan Kurubas
9c99a385ad Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20240318' into 'master'
feat(tools): update openocd version to v0.12.0-esp32-20240318

See merge request espressif/esp-idf!29759
2024-04-05 01:53:12 +08:00
Jakob Hasse
51f6bb8931 refactor(cmock): simplified mock build tests 2024-04-04 16:14:13 +02:00
Alexey Lapshin
68464aad11 feat(tools): update esp32ulp-elf version to 2.38_20240113 2024-04-04 16:12:39 +08:00
Frantisek Hrbata
75c765ff42 fix: exit gracefully when process started via asyncio is terminated
Currently when process is started through asyncio Runner and it is termited
e.g. with SIGINT(ctrl+c) a traceback is printed instead of gracefully
exit.

Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x7fe980970900>
Traceback (most recent call last):
  File "/usr/lib64/python3.12/asyncio/base_subprocess.py", line 129, in __del__
    self.close()
  File "/usr/lib64/python3.12/asyncio/base_subprocess.py", line 107, in close
    proto.pipe.close()
  File "/usr/lib64/python3.12/asyncio/unix_events.py", line 568, in close
    self._close(None)
  File "/usr/lib64/python3.12/asyncio/unix_events.py", line 592, in _close
    self._loop.call_soon(self._call_connection_lost, exc)
  File "/usr/lib64/python3.12/asyncio/base_events.py", line 793, in call_soon
    self._check_closed()
  File "/usr/lib64/python3.12/asyncio/base_events.py", line 540, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

This is caused because asyncio Runner context in asyncio.run is closing the event
loop and if exception is unhandled in coroutine(run_command) the transport is not
closed before the even loop is closed and we get RuntimeError: Event loop is closed
in the transport __del__ function because it's trying to use the closed
even loop.

Let's catch asyncio.CancelledError in case the process we are trying to
read from is terminated, print message, let the asyncio finish and exit
gracefully.

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-04-04 09:58:01 +02:00
Alexey Gerenkov
c9b649779e feat(tools): update openocd version to v0.12.0-esp32-20240318 2024-04-04 14:50:06 +08:00
David Cermak
4d40751158 fix(ci): Simplify and document public header checker
Documented specific checks/subchecks for header file verification
Simplified the process, now we use simple regex to remove macros from
the current header. Before, we re-ran preprocess_one_header()
function with removed `#include ...`s from the header under test, so
we were looking into the actual header (rather than included headers)
when checking for `extern "C"` keyword.
The procedure is easier to follow without this recursion (mostly because
in the second execution we might encounter compilation failers and
ignore them).
Note that this procedure is not 100% correct (we might see some false
positive and false negatives)
2024-04-04 08:45:15 +02:00
Chen Yudong
7d13f8210f ci: fix pytest generic env markers 2024-04-03 18:10:43 +08:00
Rahul Tank
23bae90070 Merge branch 'contrib/github_pr_11497' into 'master'
Nimble: Added blecsc (Cycling Speed and Cadence) profile support for nimble examples.

Closes IDFGH-10233

See merge request espressif/esp-idf!26631
2024-04-03 17:12:34 +08:00
Ivan Grokhotkov
dd35ded06a Merge branch 'maint/supported_targets_update' into 'master'
readme, tools: supported targets update

See merge request espressif/esp-idf!29425
2024-04-03 16:58:00 +08:00
Armando (Dou Yiwen)
fd11a0e85a Merge branch 'change/remove_no_longer_public_spi_reg' into 'master'
spi: remove no longer public spi reg

Closes DOC-7416

See merge request espressif/esp-idf!30010
2024-04-03 16:57:31 +08:00
Armando
2c81664fa3 change(spi): remove no longer public spi reg 2024-04-03 13:37:09 +08:00
ESPAbhinav
f8b2ab7955 feat(nimble): Added blecsc profile support for nimble examples 2024-04-03 10:50:02 +05:30
Laukik Hase
48503dd39f
fix(esp_hw_support): Fix the flash I/DROM region PMP protection 2024-04-02 18:41:07 +05:30
Zhang Wen Xu
d41172853b Merge branch 'fix/phy_init_variables_in_header_file' into 'master'
fix(esp_phy): header file produces non-zero object

See merge request espressif/esp-idf!29930
2024-04-02 16:50:54 +08:00
zwx
6d2f9c2991 fix(esp_phy): header file produces non-zero object 2024-04-02 12:14:17 +08:00
wanlei
20c18ac52b feat(esp32c61): final introduce helloworld support 2024-04-02 10:50:52 +08:00
Jiang Jiang Jian
d885808b9f Merge branch 'feature/advanced_roaming_support' into 'master'
Add advanced Wi-Fi roaming support through Wi-Fi app

Closes WIFI-6169, WIFI-4212, WIFIBUG-314, and IDFGH-10713

See merge request espressif/esp-idf!26126
2024-04-02 00:02:41 +08:00
Jiang Jiang Jian
8da9eb5168 Merge branch 'ci/reenable_bootloader_sections_test_esp32c2' into 'master'
ci(system): re-enable bootloader_sections test for ESP32-C2

See merge request espressif/esp-idf!29852
2024-04-01 23:13:00 +08:00
jgujarathi
c5d8acc40a feat(esp_wifi): Showcase roaming_app capabalities through dedicated example
- Shows use of roaming app through dedicated example : roaming_app_example.
- Changes the location of the earlier roaming example by moving it into the roaming_11kvr.
- Please note that this feature is still experimental and still being optimised
and tuned.
2024-04-01 23:00:01 +08:00
Marius Vikhammer
b8a254f33f test(storage): fixed failing c-file api test 2024-04-01 15:14:22 +08:00
zwx
d2e0b9419f fix(CI): fix CI to pass fast build app 2024-03-29 16:03:24 +08:00
morris
1ed64afddd Merge branch 'refactor/remove_unused_periph_module_enable' into 'master'
remove orphaned clk_gate_ll.h on esp32p4

Closes IDF-8094

See merge request espressif/esp-idf!29906
2024-03-29 14:50:34 +08:00
Jiang Jiang Jian
d434034513 Merge branch 'bugfix/storage_spelling' into 'master'
fix(storage,esp_pm): spelling fixes by codespell pre-commit hook

See merge request espressif/esp-idf!29898
2024-03-29 11:59:48 +08:00
morris
1b8e1df648 feat(uhci): add reset and clock control functions 2024-03-29 10:41:17 +08:00
Michael (XIAO Xufeng)
5d6c56c20d Merge branch 'fix/unused_mmap_include' into 'master'
fix(all): remove unused header includes

See merge request espressif/esp-idf!29816
2024-03-29 10:20:08 +08:00
Ivan Grokhotkov
10cc15b150
fix(storage): applied spelling fixes by codespell pre-commit hook 2024-03-28 13:00:54 +01:00
Wan Lei
e84c7f00a5 Merge branch 'feat/c6lite_c61_ci_header_tmp_app' into 'master'
feat(esp32c61): ci enable header check (stage 7/8)

See merge request espressif/esp-idf!29775
2024-03-28 11:45:20 +08:00
Omar Chebib
1683e9a92c Merge branch 'fix/unused_interrupts' into 'master'
fix(esp_hw_ ‎support): clear reserved interrupts that are unused or not applicable anymore

Closes IDF-7821 and IDF-9428

See merge request espressif/esp-idf!29639
2024-03-28 11:27:20 +08:00
wanlei
535afdd7f4 feat(esp32c61): ci enable header check, fix c61 build 2024-03-27 19:39:59 +08:00
Omar Chebib
a79c6f7f67 fix(esp_hw_support): clear reserved interrupts that are not applicable for each target 2024-03-27 16:21:25 +08:00
harshal.patil
d737625215
feat(mbedtls/sha): Support in AXI-DMA SHA driver layer 2024-03-27 11:23:29 +05:30
Ivan Grokhotkov
64757e9fea
fix(check_callgraph): rework --ignore-refs to be more generic 2024-03-26 17:05:39 +01:00
Ivan Grokhotkov
ce2ce972b8
ci(system): re-enable bootloader_sections test for ESP32-C2 2024-03-26 16:04:09 +01:00
Jiang Jiang Jian
38733a752d Merge branch 'feat/move_iperf_component' into 'master'
feat: move iperf to component registry

Closes RDT-618

See merge request espressif/esp-idf!29537
2024-03-26 19:53:40 +08:00
Fu Hanxi
7fc82f7d74 Merge branch 'ci/increase_ccache_size' into 'master'
ci: increase ccache size limit and decrease test case amount per job

Closes IDFCI-2102

See merge request espressif/esp-idf!29847
2024-03-26 19:51:46 +08:00
Fu Hanxi
85f63f7ad2
ci: decrease test case amount per job
for now some jobs are reaching 1 hour timeout
2024-03-26 10:59:16 +01:00
Fu Hanxi
351453c551 Merge branch 'ci/git_describe_exclude_qa_tags' into 'master'
ci: check idf version excluding qa tags

Closes IDFCI-2097

See merge request espressif/esp-idf!29781
2024-03-26 17:30:45 +08:00
Ivan Grokhotkov
c0ff293bf8
feat(idf.py): add ESP32-P4 ROM info 2024-03-25 14:39:36 +01:00
Ivan Grokhotkov
d9fb9a5500
feat(tools): add ESP32-P4 to the supported targets list 2024-03-25 14:24:55 +01:00