Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Grokhotkov fa13b31dca 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-08-30 11:54:29 +08:00
Ivan Grokhotkov db389c7a55 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-08-30 11:53:40 +08:00
Ivan Grokhotkov a89f1fcfaf fix(sdspi): fix memory leak in do_one_sdspi_probe test 2024-08-30 11:53:14 +08:00
Ivan Grokhotkov a600af4950 change(ci): disable dangerjs checker for release notes 2024-08-12 09:27:41 +02:00
Ivan Grokhotkov 6568f8c553 Merge branch 'feature/update-qemu-to-esp_develop_9.0.0_20240606_v5.3' into 'release/v5.3'
feat(tools): update qemu version to esp_develop_9.0.0_20240606 (v5.3)

See merge request espressif/esp-idf!31526
2024-08-05 22:50:57 +08:00
Ivan Grokhotkov 55069a785e Merge branch 'fix/fatfs_f_mount_immediately_after_formatting_v5.3_backport' into 'release/v5.3'
fix(vfs): FATFS mount immediately after format if mount failed (v5.3)

See merge request espressif/esp-idf!32379
2024-08-05 20:32:08 +08:00
Ivan Grokhotkov adb5d60ec9 Merge branch 'fix/fix-gcc13-dirent-breaking_v5.3' into 'release/v5.3'
fix(newlib): fix include sys/dirent.h breaking change (v5.3)

See merge request espressif/esp-idf!32528
2024-08-02 16:26:05 +08:00
Ivan Grokhotkov b5ddc10ed1 Merge branch 'bugfix/sdmmc_test_app_usj_console_v5.3' into 'release/v5.3'
ci(sdmmc): enable tests and switch to usb_serial_jtag in the test app for P4 (v5.3)

See merge request espressif/esp-idf!32490
2024-08-01 02:38:22 +08:00
Ivan Grokhotkov 1dff957597 ci(sdmmc): enable tests for ESP32-P4 2024-07-31 18:39:40 +02:00
Ivan Grokhotkov b124b1d682 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 17:21:25 +02:00
Ivan Grokhotkov acb201e5b2 feat(tools): enable idf.py qemu integration for ESP32-S3 2024-07-30 19:37:32 +08:00
Ivan Grokhotkov 4168fa28f4 feat(esp_eth): enable openeth in QEMU for ESP32-S3 2024-07-30 19:37:32 +08:00
Ivan Grokhotkov ae0a230843 feat(tools): update qemu version to esp_develop_9.0.0_20240606 2024-07-30 19:37:32 +08:00
Ivan Grokhotkov fd7c809282 Merge branch 'fix/stray_sections_v5.3' into 'release/v5.3'
fix(system): print warning if stray section is found while linking (v5.3)

See merge request espressif/esp-idf!30948
2024-06-12 16:42:12 +08:00
Ivan Grokhotkov ddbf9936d6 Merge branch 'feature/update-toolchain-to-esp-13.2.0_20240530_v5.3' into 'release/v5.3'
feat(tools): update toolchain version to esp-13.2.0_20240530 (v5.3)

See merge request espressif/esp-idf!31217
2024-06-12 16:35:50 +08:00
Ivan Grokhotkov c8474d48f8 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-06 10:44:53 +02:00
Ivan Grokhotkov 7c57624b66 Merge branch 'ci/fix_app_size_json_path_v5.3' into 'release/v5.3'
CI: fix app size json path (v5.3)

See merge request espressif/esp-idf!30494
2024-04-25 16:37:00 +08:00
Ivan Grokhotkov f1b9b357e4 change(gitlab): simplify approvals for backports (v5.3) 2024-04-23 01:33: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
Ivan Grokhotkov 763ba14885 feat(docs): use a faster fork of breathe-doc/breathe
See https://github.com/breathe-doc/breathe/discussions/962
2023-12-21 16:33:20 +01:00
Ivan Grokhotkov 7265febc31 Merge branch 'bugfix/macos_build_linux_target_misc' into 'master'
Misc fixes for IDF_TARGET=linux on macOS host

See merge request espressif/esp-idf!28015
2023-12-21 17:55:24 +08:00
Ivan Grokhotkov c90b6c18c9 fix(linux): define __assert_func for IDF_TARGET=linux on macOS 2023-12-19 23:01:00 +01:00
Ivan Grokhotkov b56bb7d8e4 fix(cmake): don't emit section directive when embedding files on host 2023-12-19 23:00:48 +01:00
Ivan GrokhotkovandRadek Tandler 6f9038809a fix(esp_netif): move endian.h to linux component, fix macOS build
Co-authored-by: Radek Tandler <radek.tandler@espressif.com>
2023-12-19 23:00:48 +01:00
Ivan Grokhotkov 1bd417ad68 fix(cmake): don't add Clang flags not supported in Apple toolchain 2023-12-19 23:00:48 +01:00
Ivan Grokhotkov 7f171f01b1 Merge branch 'bugfix/ignore_build_warnings_local' into 'master'
fix(idf-build-apps): make ignore_build_warnings.txt usable locally

See merge request espressif/esp-idf!27881
2023-12-20 05:59:08 +08:00
Ivan Grokhotkov 0f8d4fa2b4 Merge branch 'bugfix/macos_build_linux_target_transport_tls_http_server' into 'master'
fix(linux): fix several components failing to build with IDF_TARGET=linux on macOS

See merge request espressif/esp-idf!27883
2023-12-20 05:58:29 +08:00
Ivan Grokhotkov 7b8f69404f feat(linux): provide getrandom implementation for macOS
This makes getrandom(2) usable when compiling with IDF_TARGET=linux
on a macOS host.
2023-12-19 15:11:32 +01:00
Ivan Grokhotkov a596ca56a8 fix(mbedtls): fix -Wstrict-prototypes warning when compiling on Linux 2023-12-19 13:29:15 +01:00
Ivan Grokhotkov 8bf23e5372 fix(esp-tls): fix build for IDF_TARGET=linux on macOS 2023-12-19 13:28:59 +01:00
Ivan Grokhotkov 49f289f893 fix(esp_http_server): fix build for IDF_TARGET=linux on macOS 2023-12-19 13:28:59 +01:00
Ivan Grokhotkov 3a340b385f Merge branch 'feature/qemu_lcd' into 'master'
feat(qemu): add a CLI option for graphics output

See merge request espressif/esp-idf!27874
2023-12-19 20:07:29 +08:00
Ivan Grokhotkov d9983c0039 feat(qemu): add a CLI option for graphics output 2023-12-18 11:47:15 +01:00
Ivan Grokhotkov 358ed7fed9 fix(idf-build-apps): make ignore_build_warnings.txt usable locally 2023-12-13 15:05:25 +08:00
Ivan Grokhotkov 840b2d52f9 Merge branch 'feature/qemu-esp-develop-8.1.3-20231206' into 'master'
feat(tools): update qemu to esp-develop-8.1.3-20231206

See merge request espressif/esp-idf!27699
2023-12-07 17:39:36 +08:00
Ivan Grokhotkov 918c0ce4ac feat(tools): update qemu to esp-develop-8.1.3-20231206
https://github.com/espressif/qemu/releases/tag/esp-develop-8.1.3-20231206
2023-12-07 10:54:29 +08:00
Ivan Grokhotkov b20332535b Merge branch 'feature/idf_qemu_ext' into 'master'
feat(tools): add 'idf.py qemu' extension

Closes IDFGH-817

See merge request espressif/esp-idf!26034
2023-12-05 14:15:57 +08:00
Ivan Grokhotkov 178b27ed80 ci(qemu): use qemu from tools.json, don't require a special image 2023-12-03 07:45:19 +01:00
Ivan Grokhotkov 71153c7dbb feat(tools): add 'idf.py qemu' extension
This extension allows running programs in QEMU similar to running
them on a real chip:

- 'idf.py qemu' — builds and runs the program in QEMU. User gets
  a QEMU instance launched, and can work with it as a normal QEMU
  instance.
- 'idf.py qemu monitor' — same, but QEMU is launched in the
  background, and idf_monitor runs in the foreground, showing QEMU
  output. Compared to only running 'idf.py qemu' this enables, for
  example, automatic backtrace decoding.
- 'idf.py qemu gdb' — launches QEMU in the background and opens an
  interactive GDB prompt, connecting it to QEMU.
- 'idf.py qemu --gdb monitor' and 'idf.py gdb' in another shell:
  launches QEMU in the background, keeps it suspended until GDB is
  connected, and opens idf_monitor. GDB can be used in another shell
  to debug the application.
2023-12-03 07:45:19 +01:00
Ivan Grokhotkov 81385b3476 Merge branch 'feature/update_catch2' into 'master'
ci: upgrade host tests to use espressif/catch2 component, add missing build rules

Closes IDF-8775

See merge request espressif/esp-idf!27455
2023-12-01 21:25:25 +08:00
Ivan Grokhotkov e39d1ae9ce Merge branch 'feature/update_unity' into 'master'
feat(unity): upgrade to 2.6.0-RC1

See merge request espressif/esp-idf!27456
2023-11-30 17:12:12 +08:00
Ivan Grokhotkov b52182e14f ci(tcp_transport): upgrade to Catch2 as a component 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov ae3da4a383 ci(wear_levelling): upgrade to Catch2 as a component 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov 33896fe67e ci(log): upgrade to Catch2 as a component 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov 88e77ba1ed ci(nvs_flash): upgrade to Catch2 as a component, fix warnings 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov 047e50615e ci(fatfs): upgrade to Catch2 as a component, enable CI build 2023-11-29 12:38:46 +01:00
Ivan Grokhotkov 8e81bbe014 ci(esp_rom): upgrade to Catch2 as a component, enable CI build 2023-11-29 12:38:46 +01:00
Ivan Grokhotkov 79a2c15477 ci(esp_event): upgrade host test to Catch2 as a component, fix build
- use espressif/catch2 component
- fix build issues after FreeRTOS upgrade
- enable test app build in CI
2023-11-29 12:38:46 +01:00
Ivan Grokhotkov 88fa79fcc7 feat(unity): upgrade to 2.6.0-RC1 2023-11-28 20:22:02 +01:00
Ivan Grokhotkov b48b501d85 Merge branch 'refactor/core_init_registration' into 'master'
refactor(startup): implement registration of core init functions

See merge request espressif/esp-idf!27402
2023-11-28 17:25:00 +08:00
Ivan Grokhotkov 6046b396ac fix(esp_timer): avoid signed integer overflow in ESP_SYSTEM_INIT_FN
CONFIG_ESP_TIMER_ISR_AFFINITY can be equal to -1, whereas
ESP_SYSTEM_INIT_FN takes an uint16_t argument. To avoid overflow,
move the choice of init mask into source code and set the value
explicitly.
2023-11-27 10:20:51 +01:00
Ivan Grokhotkov 75c92c3a66 refactor(startup): implement registration of core init functions
Similar to how the secondary init functions were already registered
via ESP_SYSTEM_INIT_FN, do the same for the core init functions.
This MR doesn't actually move the init functions into respective
components yet. This has to be carefully done in follow-up MRs.
2023-11-27 10:20:51 +01:00
Ivan Grokhotkov cbb6fa0507 Merge branch 'bugfix/esp32s3_usb_otg_console_without_efuse' into 'master'
fix(console): switch USB PHY to OTG when OTG is used for console

Closes IDFGH-11281

See merge request espressif/esp-idf!26653
2023-10-27 20:09:09 +08:00
Ivan Grokhotkov 6f9d3bfc76 Merge branch 'update/version_5_3_0' into 'master'
Start of v5.3 development (v5.3-dev)

See merge request !26669
2023-10-27 06:02:37 +02:00
Ivan Grokhotkov 8171b22c40 change(version): Update version to 5.3.0 2023-10-27 03:06:55 +02:00
Ivan Grokhotkov a8e175364a fix(console): switch USB PHY to OTG when OTG is used for console
On ESP32-S3 with the default efuse settings, USB PHY is connected to
the USB_SERIAL_JTAG peripheral. If USB OTG peripheral is used for the
console, we need to additionally switch the PHY to USB OTG, otherwise
we won't get any output.

Closes https://github.com/espressif/esp-idf/issues/12437
2023-10-24 13:29:15 +02:00
Ivan Grokhotkov 40347c9c27 Merge branch 'feature/app_trace_component_test_app' into 'master'
feat(app_trace): migrate the tests from unit-test-app

Closes IDF-5564

See merge request espressif/esp-idf!26273
2023-10-20 21:45:05 +08:00
Ivan Grokhotkov 366bb1f99a Merge branch 'feature/wpa_supplicant_component_test_app' into 'master'
feat(wpa_supplicant): migrate the tests from unit-test-app

Closes IDF-6781 and IDF-5608

See merge request espressif/esp-idf!26274
2023-10-07 22:16:02 +08:00
Ivan Grokhotkov 2b1e9af12f change(wpa_supplicant): clean up test_sae, set leak thresholds
- fix relative includes
- remove ESP32-H2-related TODO — an ifdef is not needed now since the
  whole app is built only for SOC_WIFI_SUPPORTED=y
- set leak threshold in test case
2023-10-04 17:46:45 +02:00
Ivan Grokhotkov 1745baffae change(wpa_supplicant): reformat test_sae with astyle 2023-10-04 17:46:45 +02:00
Ivan Grokhotkov c07ee2d56b change(wpa_supplicant): test_offchannel: cleanups and leak thresholds
- sort includes
- fix relative includes
- replace TEMPORARY_DISABLED_FOR_TARGETS with just IDF_TARGET_ESP32,
  to avoid having to change this file when bringing up new chips
- astyle formatting
- set leak threshold in test cases
- use the new 'wifi_two_dut' environment marker instead of UT_T2_1
2023-10-04 17:46:45 +02:00
Ivan Grokhotkov 098d28276e change(wpa_supplicant): set leak threshold in test_fast_pbkdf2 2023-10-04 17:46:45 +02:00
Ivan Grokhotkov 6c27208ade change(wpa_supplicant): reformat test_fast_pbkdf2 with astyle 2023-10-04 17:46:45 +02:00