Commit Graph
100 Commits
Author SHA1 Message Date
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 GrokhotkovandShen 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 GrokhotkovandZhang 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
Ivan Grokhotkov a68013ceec Merge branch 'feature/scandir' into 'master'
feat(newlib): implement scandir and alphasort

Closes IDF-2649

See merge request espressif/esp-idf!28068
2024-01-26 04:24:31 +08:00
Ivan Grokhotkov dee5b087fa feat(newlib): implement scandir and alphasort
Based on https://man7.org/linux/man-pages/man3/scandir.3.html
2024-01-25 11:03:19 +01:00
Ivan Grokhotkov ecccad727f Merge branch 'bugfix/macos_build_linux_target_freertos' into 'master'
fix(freertos): override select function without relying on -Wl,--wrap

See merge request espressif/esp-idf!28065
2024-01-24 04:14:00 +08:00
Ivan Grokhotkov f5cd3b7ff4 fix(freertos): override select function without relying on -Wl,--wrap
This commit changes the approach used to override select function
in FreeRTOS simulator.

The previous approach relied on '--wrap', which is a feature of GNU
linker that performs symbol substitution at link time. Sadly this
feature is not present in macOS linker.

The alternative solution is to define 'select' wrapper as a regular
(exported) symbol, preventing it from being loaded from system
libraries. To call the "real" select implementation we use dlsym
function and find the function pointer at run time. This solution
works on both Linux and macOS.
2024-01-23 16:57:38 +01:00
Ivan Grokhotkov 66431a62d1 fix(freertos): warning fix for building with IDF_TARGET=linux on macOS 2024-01-23 16:57:37 +01:00