Ivan Grokhotkov
c172f56013
docs(cplusplus): remove the limitation on IRAM_ATTR for templates
...
The issue has been fixed since GCC 14.
Related to https://github.com/espressif/esp-idf/issues/4542
2025-08-22 17:30:34 +02:00
Ivan Grokhotkov
c27683eb98
test(sdmmc): add test for high-prio task busy while writing
...
Related to https://github.com/espressif/esp-idf/issues/13934
2025-03-12 10:30:58 +08:00
Ivan Grokhotkov
4bd2322993
fix(sdmmc): move DMA descriptor refilling into the ISR
...
Previously, as DMA descriptors were processed, the task performing
SDMMC transfer would get woken up and would refill the descriptors.
This design didn't work correctly when higher priority tasks occupied
the CPU for too long, resulting in SDMMC transfer timing out.
This change moves DMA descriptor refilling into SDMMC ISR. Now the
"DMA done" interrupt is delivered back to task context only when
the entire transfer is completed.
Closes https://github.com/espressif/esp-idf/issues/13934
2025-03-12 10:30:53 +08:00
Ivan Grokhotkov
8ad144a415
fix(sdmmc): fix missed deinitialization of CD and WP pins in f8f40ad
...
Related to https://github.com/espressif/esp-idf/issues/15330
2025-02-18 12:23:16 +01:00
Ivan Grokhotkov
722cc23a89
fix(sdmmc): fix reset of pins above slot width
...
Closes https://github.com/espressif/esp-idf/issues/15328
2025-02-18 12:23:16 +01:00
Ivan Grokhotkov
9dcd2990a7
Merge branch 'feat/vfs_ops_make_all_op_pointers_const_v5.4' into 'release/v5.4'
...
feat(storage/vfs): make all member pointer of vfs_ops struct const (v5.4)
See merge request espressif/esp-idf!35624
2024-12-13 18:03:24 +08:00
Ivan Grokhotkov
bd0fc67f13
Merge branch 'feature/std_filesystem_supported_v5.4' into 'release/v5.4'
...
storage: make std::filesystem supported (v5.4)
See merge request espressif/esp-idf!35430
2024-12-13 17:56:42 +08:00
Ivan Grokhotkov and Shen Meng Jing
da2c883622
docs(cxx): add a section about std::filesystem limitations
...
Co-authored-by: Shen Meng Jing <shenmengjing@espressif.com >
2024-12-04 11:22:02 +01:00
Ivan Grokhotkov
e3f5a5a347
feat(storage): add a test app for std::filesystem features
2024-12-04 11:22:02 +01:00
Ivan Grokhotkov
80d4c75b89
feat(fatfs): add support for a few fcntl commands
2024-12-04 11:22:02 +01:00
Ivan Grokhotkov
7a214c1fab
feat(newlib): add dummy implementations of pathconf, chmod, dirfd
...
Closes https://github.com/espressif/esp-idf/issues/14174
2024-12-04 11:22:02 +01:00
Ivan Grokhotkov
31dc34a909
feat(sdmmc): support for voltage switching in protocol layer
2024-11-13 11:11:23 +08:00
Ivan Grokhotkov
a03cbdba2e
change(sdmmc): enable UHS-1 support in test_app, swap slots on P4 EV board
2024-11-13 11:08:25 +08:00
Ivan Grokhotkov
b8de3dfb35
change(sdmmc): adapt host state machine for CMD11, commit reg/struct files
2024-11-13 11:08:09 +08:00
Ivan Grokhotkov
a8efd39877
change(sdmmc): disable the logic related to D3 line, it needs to be connected for CMD11 to work
2024-11-13 11:08:05 +08:00
Ivan Grokhotkov
c9e7d09e0a
change(sdmmc): allow speciying pins for IOMUX slots as well
2024-11-13 11:07:39 +08:00
Ivan Grokhotkov
646cb24b71
change(sdmmc): make sdmmc_host_clock_update_command compatible with CMD11
2024-11-13 11:07:29 +08:00
Ivan Grokhotkov
851679e63a
Merge branch 'maint/release_v5.4_codeowners' into 'release/v5.4'
...
change(gitlab): simplify approvals for backports (v5.4)
See merge request espressif/esp-idf!34481
2024-10-29 17:26:54 +08:00
Ivan Grokhotkov
661a487610
change(gitlab): simplify approvals for backports (v5.4)
2024-10-28 10:38:15 +01:00
Ivan Grokhotkov
2bb613c50f
Merge branch 'feature/gdbstub_fpu' into 'master'
...
GDBstub: add handling of FPU for Xtensa CPU.
See merge request espressif/esp-idf!25482
2024-09-27 18:28:25 +08:00
Ivan Grokhotkov
69f74c34a2
fix(examples): remove stray EXTRA_COMPONENT_DIRS, fix check
2024-09-25 12:50:23 +02:00
Ivan Grokhotkov
0a2dc3b2d6
Merge branch 'doc/sdmmc_emmc_support' into 'master'
...
docs(sdmmc): update information about eMMC support
Closes DOC-8906
See merge request espressif/esp-idf!33022
2024-09-10 22:06:33 +08:00
Ivan Grokhotkov
f789b4eb45
Merge branch 'bugfix/build_test_better_errors' into 'master'
...
test(build_system): print failed command and output when test fails
See merge request espressif/esp-idf!32962
2024-09-10 15:18:41 +08:00
Ivan Grokhotkov and Zhang Shu Xian
71fe7543f1
docs(sdmmc): update information about eMMC support
...
Related to https://esp32.com/viewtopic.php?f=13&t=41088
Co-authored-by: Zhang Shu Xian <zhangshuxian@espressif.com >
2024-09-10 09:14:54 +02:00
Ivan Grokhotkov
5e9ac5bdf7
test(build_system): print failed command and output when test fails
2024-08-22 13:59:43 +02:00
Ivan Grokhotkov
0773caf283
Merge branch 'feature/idf_py_efuse_qemu' into 'master'
...
feat(idf.py): support efuse-related commands in QEMU
Closes QEMU-193
See merge request espressif/esp-idf!29809
2024-08-21 16:13:54 +08:00
Ivan Grokhotkov
5ef75d5073
Merge branch 'bugfix/reproducible_builds_improvements' into 'master'
...
build system: reproducible build improvements
Closes IDFGH-12690
See merge request espressif/esp-idf!32734
2024-08-16 19:02:40 +08:00
Ivan Grokhotkov
7b228ce8ab
feat(idf.py): allow running idf.py efuse-* commands with QEMU
2024-08-15 16:57:08 +02:00
Ivan Grokhotkov
cbc52e7d30
test(build_system): check reproducible builds with spaces in paths
2024-08-15 16:41:32 +02:00
Ivan Grokhotkov
bef4cb05ff
fix(build_system): fix toolchain sysroot directory affecting builds
...
Closes https://github.com/espressif/esp-idf/issues/13680
2024-08-15 16:41:31 +02:00
Ivan Grokhotkov
50244f4c79
Merge branch 'bugfix/sdio_intr_coex' into 'master'
...
fix(sdmmc): don't disable SDIO interrupts when switching slots
See merge request espressif/esp-idf!32790
2024-08-13 19:24:32 +08:00
Ivan Grokhotkov
6db8c98e90
Merge branch 'bugfix/missing_component_check' into 'master'
...
fix(cmake): report correct error on unknown component name
See merge request espressif/esp-idf!32062
2024-08-13 16:06:50 +08:00
Ivan Grokhotkov
c521fcb6fd
fix(cmake): report correct error on unknown component name
...
Previously the error message was
CMake Error at /home/user/esp-idf/tools/cmake/build.cmake:296 (__component_get_property):
__component_get_property Function invoked with incorrect arguments for
function named: __component_get_property
Call Stack (most recent call first):
/home/user/esp-idf/tools/cmake/build.cmake:341 (__build_resolve_and_add_req)
/home/user/esp-idf/tools/cmake/build.cmake:638 (__build_expand_requirements)
/home/user/esp-idf/tools/cmake/project.cmake:710 (idf_build_process)
CMakeLists.txt:6 (project)
Now it will be:
CMake Error at /home/user/esp-idf/tools/cmake/build.cmake:298 (message):
Failed to resolve component 'whatever' required by component 'main'.
Call Stack (most recent call first):
/home/user/esp-idf/tools/cmake/build.cmake:345 (__build_resolve_and_add_req)
/home/user/esp-idf/tools/cmake/build.cmake:642 (__build_expand_requirements)
/home/user/esp-idf/tools/cmake/project.cmake:710 (idf_build_process)
CMakeLists.txt:6 (project)
Also improved the hint to show the component name in quotes.
2024-08-12 17:54:44 +02:00
Ivan Grokhotkov
8a9d3076d7
fix(sdmmc): don't disable SDIO interrupts when switching slots
2024-08-12 14:18:29 +02:00
Ivan Grokhotkov
1c343d8923
change(build_system): refactor reproducible build handling
...
- remove generate_debug_prefix_map.py, move its logic into CMake
- move all reproducible builds logic into a new file, prefix_map.cmake
2024-08-12 13:26:33 +02:00
Ivan Grokhotkov
1c1b7db361
Merge branch 'bugfix/check_system_init_priorities_sorting' into 'master'
...
fix(esp_system): sort system init priorities also by filename
See merge request espressif/esp-idf!32678
2024-08-12 05:02:20 +08:00
Ivan Grokhotkov
fc4c445643
test(build_system): move reproducible build test to pytest
2024-08-11 20:24:03 +02:00
Ivan Grokhotkov
d6edcba3b6
test(build_system): extract file helpers, add 'bin_files_differ'
...
- Move file-related functions bin_file_contains and file_contains
from idf_utils.py and existing functions from editing.py into a new
file file_utils.py
- Add a function 'bin_files_differ' to compare binary files
2024-08-11 20:23:27 +02:00
Ivan Grokhotkov
3577900915
fix(esp_system): sort system init priorities also by filename
2024-08-11 20:21:35 +02:00
Ivan Grokhotkov
c5f4eb7442
Merge branch 'ci/disable_dangerjs_releasenote_check' into 'master'
...
change(ci): disable dangerjs checker for release notes
See merge request espressif/esp-idf!32557
2024-08-05 17:30:02 +08:00
Ivan Grokhotkov
0ca8567bb6
change(ci): disable dangerjs checker for release notes
2024-08-02 11:56:38 +02:00
Ivan Grokhotkov
ec66ecb176
ci(sdmmc): switch to usb_serial_jtag in the test app for P4
...
New CI runners use usb_serial_jtag, update configuration to match this.
2024-07-31 15:37:11 +02:00
Ivan Grokhotkov
d146fb5b84
Merge branch 'bugfix/build_with_clang' into 'master'
...
fix build errors with clang
Closes IDFGH-13238
See merge request espressif/esp-idf!32099
2024-07-15 21:40:40 +08:00
Ivan Grokhotkov
3d0b507346
fix(ieee802154): fix linker error due to static function being inlined
...
When the compiler decides to inline a static function, linker script
generator will complain about the missing function.
2024-07-12 14:51:49 +02:00
Ivan Grokhotkov
6c2824bdaa
ci(clang): include all components in clang_build_test
2024-07-12 13:58:18 +02:00
Ivan Grokhotkov
df65b3829e
fix(usb): variable declaration after label for clang
2024-07-12 13:58:18 +02:00
Ivan Grokhotkov
c921824230
fix(wifi_provisioning): fix var declarations inside switch for clang
2024-07-12 13:58:18 +02:00
Ivan Grokhotkov
728136a91d
fix(esp_eth): fix variable declarations inside switch for clang
2024-07-12 12:14:32 +02:00
Ivan Grokhotkov
f95caa751b
Merge branch 'feature/update-qemu-to-esp_develop_9.0.0_20240606' into 'master'
...
feat(tools): update qemu version to esp_develop_9.0.0_20240606
See merge request espressif/esp-idf!31375
2024-06-14 20:41:52 +08:00
Ivan Grokhotkov
455e83e556
Merge branch 'doc/stdio_console' into 'master'
...
docs(console): add an API guides page on standard I/O
Closes IDFGH-12951
See merge request espressif/esp-idf!31343
2024-06-13 18:15:12 +08:00
Ivan Grokhotkov
c565f9e028
docs(console): add an API guides page on standard I/O
...
Closes https://github.com/espressif/esp-idf/issues/13907
2024-06-13 10:40:20 +02:00
Ivan Grokhotkov
6ddf31bbdc
feat(tools): enable idf.py qemu integration for ESP32-S3
2024-06-12 10:50:13 +02:00
Ivan Grokhotkov
aad9ab02e8
feat(esp_eth): enable openeth in QEMU for ESP32-S3
2024-06-12 10:50:13 +02:00
Ivan Grokhotkov
74d5c40ac9
feat(tools): update qemu version to esp_develop_9.0.0_20240606
2024-06-12 10:50:13 +02:00
Ivan Grokhotkov
ac2092c362
Merge branch 'bugfix/sdmmc_psram_esp32s3' into 'master'
...
fix(sdmmc): fix invalid data when reading/writing PSRAM buffers
Closes IDF-10081
See merge request espressif/esp-idf!31346
2024-06-06 16:43:33 +08:00
Ivan Grokhotkov
6ed7e93676
fix(sdmmc): fix invalid data when reading/writing PSRAM buffers
...
Previous commit has enabled buffers in PSRAM for ESP32-P4. But this
also caused a regression for ESP32-S3, where PSRAM is not DMA capable.
This commit re-introduces the check for esp_ptr_external_ram in case
SOC_SDMMC_PSRAM_DMA_CAPABLE is not set.
2024-06-05 13:12:03 +02:00
Ivan Grokhotkov
1c2b273e31
Merge branch 'fix/component_enotsup' into 'master'
...
fix: correctly resolve component requirements
Closes IDFGH-12425
See merge request espressif/esp-idf!30112
2024-05-31 12:43:17 +08:00
Ivan Grokhotkov
06cc3419d8
Merge branch 'ci/add_sdmmc_test_p4' into 'master'
...
ci(sdmmc): enable tests for ESP32-P4
Closes IDF-8970
See merge request espressif/esp-idf!31077
2024-05-28 00:16:04 +08:00
Ivan Grokhotkov
5b1fd0efe9
ci(sdmmc): enable tests for ESP32-P4
2024-05-24 15:05:35 +02:00
Ivan Grokhotkov
5425abc6cb
Merge branch 'bugfix/sdspi_tests' into 'master'
...
sdspi: test-related fixes
Closes IDF-8750
See merge request espressif/esp-idf!30612
2024-05-09 18:52:55 +08:00
Ivan Grokhotkov
1680c2fe33
Merge branch 'bugfix/pytest_build_dir_arg' into 'master'
...
fix(pytest): respect --build-dir argument from pytest-embedded
See merge request espressif/esp-idf!30609
2024-05-07 21:12:57 +08:00
Ivan Grokhotkov
30abe85a25
ci(sdspi): clean up newlib memory, reset between tests
...
Two changes to make the tests less susceptible to random failures:
- Free up newlib memory to not have false-positive memory leaks due to
lazy allocations in reent structure
- Reset between tests, so that one failing test doesn't cause
subsequent tests to fail
Both changes are already applied to esp_driver_sdmmc test app.
2024-05-02 16:44:16 +02:00
Ivan Grokhotkov
f355ecac40
ci(sdspi): re-enable probe/rw tests for slot 1
...
These tests were disabled since SDMMC_FREQ_HIGHSPEED with sdspi didn't
work on ESP32 and ESP32-S3. However we don't have other tests for
slot 1, meaning that we weren't running probe and perf tests at all.
This commit re-enables the tests, keeping them with SDMMC_FREQ_DEFAULT
2024-05-02 16:44:16 +02:00
Ivan Grokhotkov
e672d49db7
fix(sdspi): fix memory leak in do_one_sdspi_probe test
2024-05-02 16:44:16 +02:00
Ivan Grokhotkov
087d055090
fix(pytest): respect --build-dir argument from pytest-embedded
2024-05-02 15:18:34 +02:00
Ivan Grokhotkov
73190dd04e
Merge branch 'version/v5.4.0' into 'master'
...
Update version to v5.4-dev
See merge request espressif/esp-idf!30352
2024-04-23 08:00:22 +08:00
Ivan Grokhotkov
0436d49815
change(version): Update version to v5.4-dev
2024-04-22 22:43:44 +02:00
Ivan Grokhotkov
57a80129bc
Merge branch 'ci/sdmmc_tests' into 'master'
...
sdmmc: test-related fixes
Closes IDF-8734
See merge request espressif/esp-idf!30221
2024-04-19 19:22:08 +08:00
Ivan Grokhotkov
3f663ec789
ci(sdmmc): add test config for p4
2024-04-17 12:49:23 +02:00
Ivan Grokhotkov
ad6cce5e3a
fix(sdmmc): correct unused pin number for P4 EV board
2024-04-17 12:49:23 +02:00
Ivan Grokhotkov
3546c81e32
ci(sdmmc): re-enable CD/WP tests
2024-04-17 12:49:22 +02:00
Ivan Grokhotkov
b08ddfb25b
fix(sdmmc): don't fail in clock update commands when no card detected
...
Clock update commands don't actually require the card to be present,
so it's not necessary to fail at this stage.
2024-04-17 12:49:22 +02:00
Ivan Grokhotkov
96074470ec
fix(sdmmc): correct power init in CD/WP tests for P4
2024-04-17 12:49:22 +02:00
Ivan Grokhotkov
ad51d0d1ca
ci(sdmmc): clean up stdout to avoid false positive memory leaks
2024-04-17 12:49:22 +02: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
3b42fde974
Merge branch 'ci/test_apps_codeowners' into 'master'
...
change(ci): split test_apps build-test-rules, add missing code owners
See merge request espressif/esp-idf!30306
2024-04-17 18:04:45 +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
Ivan Grokhotkov
49b4bc175e
feat(sdmmc): add support for PSRAM DMA on ESP32-P4
2024-04-12 12:56:18 +02:00
Ivan Grokhotkov
e0cb43b9ab
Merge branch 'feature/sdmmc_test_p4_updates' into 'master'
...
change(sdmmc,sdspi): add P4 board defs, enable LDO in sdspi tests, simplify LDO in sdmmc tests
See merge request espressif/esp-idf!30042
2024-04-12 17:04:07 +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
Ivan Grokhotkov
6b6de47308
feat(sdspi): add LDO (power control) in sdspi tests
2024-04-04 15:03:27 +02:00
Ivan Grokhotkov
344439dfaa
change(sdmmc): move SD power control logic into sdmmc_test_sd_begin
...
This simplifies the code a bit,
- removing SOC_SDMMC_IO_POWER_EXTERNAL ifdefs from error paths
- moving the LDO code next to where sdmmc_test_board_card_power_set
is called for the same purpose
2024-04-04 15:02:11 +02:00
Ivan Grokhotkov
2bd1a8706d
feat(sdmmc): add test config for ESP32-P4 EV board
2024-04-04 14:59:28 +02: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
Ivan Grokhotkov
9e279a3c07
change(ci): temporarily skip failures in macOS tests
2024-04-03 09:21:19 +02:00
Ivan Grokhotkov
ac010778b9
Merge branch 'contrib/github_pr_12507' into 'master'
...
change(console): drop the use of open_memstream() (GitHub PR)
Closes IDFGH-11361
See merge request espressif/esp-idf!29878
2024-03-29 01:09:05 +08:00
Ivan Grokhotkov
d7436d1365
change(codeowners): add a codeowners entry for .codespellrc
2024-03-28 13:00:55 +01:00
Ivan Grokhotkov
15e63f4222
fix(esp_pm): applied spelling fixes by codespell
2024-03-28 13:00:55 +01:00
Ivan Grokhotkov
10cc15b150
fix(storage): applied spelling fixes by codespell pre-commit hook
2024-03-28 13:00:54 +01:00
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
Ivan Grokhotkov
60fdf8dd74
docs(readme): remove v4.3 support info
2024-03-25 14:39:40 +01: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
Ivan Grokhotkov
5fee4b0f72
Merge branch 'feature/move_fatfs_scripts_to_storage' into 'master'
...
feat(storage/fatfs): move fatfs related scripts under control of the storage team
Closes IDF-9544
See merge request espressif/esp-idf!29738
2024-03-19 22:51:29 +08:00
Ivan Grokhotkov
293f529cd7
Merge branch 'bugfix/sdspi_acmd41_arg' into 'master'
...
fix(sdmmc): fixes for card initialization (ACMD41)
Closes IDFGH-4892 and IDFGH-9144
See merge request espressif/esp-idf!29298
2024-03-01 08:42:01 +08:00
Ivan Grokhotkov
fb95daab06
fix(sdmmc): extend the maximum number of retries of ACMD41
...
According to the application note in SD Card Physical Specification:
> The host shall set ACMD41 timeout more than 1 second to abort repeat
of issuing ACMD41 when the card does not indicate ready. The timeout
count starts from the first ACMD41 which is set voltage window
in the argument.
Previously, the timeout was exactly one second, and this caused
certain larger-capacity cards to "time out", because they couldn't
finish initialization process in time.
2024-02-28 09:33:24 +01:00
Ivan Grokhotkov
47ba4d639a
fix(sdmmc): use correct argument for ACMD41 in SPI mode
...
ACMD41 argument is different between SD mode and SPI mode.
In SPI mode, the only non-zero bit may be the HCS bit. Unlike the SD
mode, the bits reflecting the host's OCR should be zero.
Previously, we used to set these bits the same way as for the SD mode.
This has caused certain cards to fail initializing, apparently their
controllers have checked the ACMD41 argument more strictly and refused
to finish initialization, resulting in an error such as
sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107
(Note that this error may have other causes than the one fixed in
this commit. For example, if the card doesn't have a sufficient and
stable power supply, it may also fail to complete the internal
initialization process, and will never clear the busy flag in R1
response.)
Closes https://github.com/espressif/esp-idf/issues/6686
Closes https://github.com/espressif/esp-idf/issues/10542
2024-02-28 09:33:23 +01:00
Ivan Grokhotkov
b39f13d685
Merge branch 'ci/ignore_c3_flash_multi_cases' into 'master'
...
ci: ignore c3 flash_multi cases
See merge request espressif/esp-idf!29229
2024-02-24 16:52:44 +08:00
Ivan Grokhotkov
5b53fb07fb
fix(nvs): prevent out of bounds write if blob data is inconsistent
2024-02-22 15:15:10 +01:00