Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Grokhotkov 911a8fc714 spiffs, wear_levelling: update copyright headers 2022-02-22 00:09:24 +03:00
Ivan Grokhotkov f51eaf1746 Merge branch 'feature/github_check_precommit' into 'master'
github: verify pre-commit checks for PRs in Github Actions

See merge request espressif/esp-idf!17212
2022-02-21 17:52:27 +00:00
Ivan Grokhotkov df38abf19c github: verify pre-commit checks for PRs in Github Actions 2022-02-21 20:32:28 +03:00
Ivan Grokhotkov b8e46ac0da Merge branch 'feature/flash_size_gt_16mb_pr' into 'master'
add support for Flash 32MB..128MB (S2, S3) (Github PR + fixups)

Closes IDF-2961, IDFGH-5984, and IDFGH-6003

See merge request espressif/esp-idf!17211
2022-02-21 12:31:24 +00:00
Ivan Grokhotkov f071558117 partition_table: add a test for total partition size error 2022-02-21 10:28:29 +03:00
Ivan Grokhotkov 413375453b esp_common: update copyright headers 2022-02-21 00:51:49 +03:00
Ivan Grokhotkov cbb361e2b7 Merge branch 'bugfix/sdmmc_int_err_done' into 'master'
sdmmc: accept CMD_DONE being reported together with RTO

See merge request espressif/esp-idf!14510
2022-02-20 21:47:21 +00:00
Ivan Grokhotkov 6782971332 sdmmc: accept CMD_DONE being is reported together with RTO
SDMMC databook specifies that when an error interrupt is generated
(such as RTO, DCRC, RCRC), CMD_DONE interrupt is also generated.
The code used to break out of the event handling loop to wait for
another interrupt event to happen, reporting CMD_DONE.
However if interrupt processing was delayed, it is possible that
a single event contains both RTO and CMD_DONE. Previously, CMD_DONE
would not be handled, and the state machine would be stuck in
SDMMC_SENDING_CMD state, until a timeout. This didn't change the
outcome (err=0x107), but delayed the handling of response timeout
event.

Fix by not breaking out of the event handler, optionally processing
the CMD_DONE interrupt if it has been reported in the same message.
2022-02-20 12:39:36 +00:00
Ivan Grokhotkov c372248624 Merge branch 'contrib/github_pr_7710' into 'master'
sdspi_host: fix clock being sent out before the bus is acquired (GitHub PR)

Closes IDFGH-6024

See merge request espressif/esp-idf!16851
2022-02-11 08:27:06 +00:00
Ivan Grokhotkov 01dd2dd45d driver: disable sdmmc in cmake based on soc_caps 2022-02-08 21:22:36 +01:00
Ivan Grokhotkov ffc4e571ca Merge branch 'revert-b092fa07' into 'master'
Revert "Merge branch 'bugfix/temp_disable_f8r8_test' into 'master'"

Closes IDFCI-1085

See merge request espressif/esp-idf!17034
2022-02-07 20:15:50 +00:00
Ivan Grokhotkov d3f1867725 Merge branch 'bugfix/apptrace_copyright_headers' into 'master'
app_trace: add SPDX headers, mention SystemView in copyrights doc

See merge request espressif/esp-idf!17029
2022-02-07 10:38:58 +00:00
Ivan Grokhotkov 45ffbd0150 Merge branch 'contrib/github_pr_8338' into 'master'
unity: Better readline for interactive test menu (GitHub PR)

Closes IDFGH-6708

See merge request espressif/esp-idf!17021
2022-02-07 09:37:32 +00:00
Ivan Grokhotkov e27679b636 perfmon: add SDPX headers 2022-02-07 08:02:13 +00:00
Ivan Grokhotkov 3441dd1e98 Merge branch 'bugfix/ci_pytest_7.x' into 'master'
ci: make pytest build script compatible with pytest 7.x

See merge request espressif/esp-idf!17032
2022-02-05 09:06:09 +00:00
Ivan Grokhotkov 21834f8362 ci: make pytest build script compatible with pytest 7.x 2022-02-04 15:44:29 +01:00
Ivan Grokhotkov 4cedf84626 app_trace: add SPDX headers, mention SystemView in copyrights doc
Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
2022-02-03 17:44:59 +01:00
Ivan Grokhotkov 1431821f9c Merge branch 'feat/component_test_app_owners' into 'master'
CI: Set proper code owners for component test apps

See merge request espressif/esp-idf!16972
2022-02-03 10:54:21 +00:00
Ivan Grokhotkov b092fa0730 Merge branch 'bugfix/temp_disable_f8r8_test' into 'master'
ci: temporarily disable MSPI_F8R8 test

See merge request espressif/esp-idf!17007
2022-02-01 15:22:35 +00:00
Ivan Grokhotkov 2838886639 ci: temporarily disable MSPI_F8R8 test 2022-02-01 15:39:40 +01:00
Ivan Grokhotkov 05b644ec50 Merge branch 'bugfix/twai_isr_iram' into 'master'
hal: fix CONFIG_TWAI_ISR_IN_IRAM for C3, hide TWAI menu for C2

See merge request espressif/esp-idf!16881
2022-01-27 22:14:05 +00:00
Ivan Grokhotkov 84d11d1c3e Merge branch 'refactor/nvs_remove_mbedtls_dep' into 'master'
NVS: removed mbedtls as default dependency

Closes IDF-2085

See merge request espressif/esp-idf!16324
2022-01-27 10:17:42 +00:00
Ivan Grokhotkov 9a7d9b59c1 usb: mark global variable declared in header 'extern' 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov acfdf9f6e1 examples: esp_ble_mesh: move cfg_cli definition to source file 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 3a57dfe905 examples: wifi/ftm: make global variables static
Prevents conflict between g_ftm_report_num_entries defined in the
example and in the Wi-Fi library.
2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 7dac0abdff examples: advanced_https_ota: make some globals static 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 9d3e618bc5 examples: esp_ble_mesh: move definition of globals into source file 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov b92f8b0a95 examples/bluetooth: mark auto_tb and sync_obj as extern 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 92e18ba78e bluedroid: make hf_peer_addr as extern 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 67c52657cf bluedroid: mark dequant_long_* as extern variables 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 20286b37b2 blufi: remove duplicate definition of blufi_env
Keeping the single definition in blufi_prf.c
2022-01-27 11:00:09 +07:00
Ivan Grokhotkov f770cf721a fatfs: make global constants extern 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 771f5d32eb tinyusb: removed set-but-never-used global variable tusb_desc_set 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 336d0b64de riscv: fix panic_reasons being an instance of enum, not type name 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov d4190a9471 wpa_supplicant: mark global variables defined in headers 'extern'
...to avoid defining common symbols.
GCC since version 10 defaults to -fno-common and doesn't generate
common symbols, leading to duplicate definitions of these symbols.
2022-01-27 11:00:09 +07:00
Ivan Grokhotkov 9720cb72cb cmake: enable linker warnings on common symbols
GCC since version 10 uses -fno-common by default and will not emit
common symbols. Enable this option to find the occurrences of common
symbols in ESP-IDF.

Closes https://github.com/espressif/esp-idf/issues/5080
2022-01-27 10:34:49 +07:00
Ivan Grokhotkov 0ebf93c01e Merge branch 'bugfix/linux_taret_fixes' into 'master'
linux target: various minor fixes

See merge request espressif/esp-idf!16905
2022-01-25 08:43:38 +00:00
Ivan Grokhotkov 3f6448b82c gitlab: add linux component to CODEOWNERS 2022-01-24 19:02:51 +01:00
Ivan Grokhotkov f18d16d5e6 esp_common: don't generate custom sections when building for Linux
When building for Linux, a standard linker script is used. Ignore
all attributes related to custom sections.
2022-01-24 18:53:12 +01:00
Ivan Grokhotkov f72ce6720d linux: add dummy sys/lock.h implementation (single threaded only)
Useful for building IDF code which relies on the legacy locking
functions from newlib.
2022-01-24 18:51:40 +01:00
Ivan Grokhotkov 7830af1eb9 partition_table: allow enabling this component for Linux target
Currently partition_table_bin target is not added as a dependency
when building Linux app, and has to be specified manually
(idf.py partition-table).
2022-01-24 18:51:40 +01:00
Ivan Grokhotkov d5a1f6bafb global: Kconfig: add CONFIG_IDF_TARGET_LINUX
Can be used in target-specific C code to distinguish when Linux target
is used.

Also don't enable CONFIG_APP_BUILD_GENERATE_BINARIES and
CONFIG_APP_BUILD_BOOTLOADER when building for Linux, since the
bootloader is not used. CONFIG_APP_BUILD_GENERATE_BINARIES might make
sense in some cases, can be re-enabled later.
2022-01-24 18:51:40 +01:00
Ivan Grokhotkov 9901fc3058 cmake: don't pass --gc-sections to macOS linker, use -dead_strip
When building for "linux" (~POSIX) target on macOS, the system linker
is normally used. MacOS linker doesn't recognise --gc-sections, but
has a -dead_strip flag which is equivalent.
2022-01-24 18:51:40 +01:00
Ivan Grokhotkov fd1c213be4 esp_rom: support building for Linux target with Clang
This fixes passing -Wimplicit-fallthrough=0 flag to Clang, which it
doesn't recognize, and is not necessary for this file.
Also the flag is changed from PUBLIC to PRIVATE since it is necessary
when compiling this component only.
2022-01-24 18:51:40 +01:00
Ivan Grokhotkov e7e059cc0a linux: allow "sys/queue.h" to be used on macOS
macOS and other BSD-like systems have <sys/queue.h> header. Fall back
to it if bsd/sys/queue.h (provided on Linux by libbsd) is not found.
2022-01-24 18:51:40 +01:00
Ivan Grokhotkov e090b6b031 Merge branch 'bugfix/semihosting_vfs_asm' into 'master'
xtensa: fix semihosting arguments potentially begin optimized out

See merge request espressif/esp-idf!16880
2022-01-21 10:28:19 +00:00
Ivan Grokhotkov 2ebde60cbb hal: fix CONFIG_TWAI_ISR_IN_IRAM not taking effect for C3/H2 2022-01-20 22:24:27 +01:00
Ivan Grokhotkov 355b501126 driver: show TWAI config menu only if TWAI is supported 2022-01-20 22:23:45 +01:00
Ivan Grokhotkov aeed91b589 xtensa: fix semihosting arguments potentially begin optimized out
The compiler was not informed that the assembly block should be
treated as a memory barrier and could optimize out the initialization
of local arrays which could be used as semihosting arguments.
This resulted in garbage values being passed as semihosting call
arguments.

Additionally this commit changes the approach for placing values into
specific register. Instead of clobbers, local register variables are
used. This results in simpler generated code, since the compiler is
able to place values directly into the registers used for semihosting
arguments, avoiding additional moves.
2022-01-20 19:48:05 +01:00
Ivan Grokhotkov 184aac5838 Merge branch 'ci/pytest_codeowner' into 'master'
CODEOWNER: add pytest related root dir files

See merge request espressif/esp-idf!16868
2022-01-20 07:47:58 +00:00
Ivan Grokhotkov 187e6ff66f Merge branch 'bugfix/config_desc_total_length' into 'master'
Bugfix: make wTotalLength uint16_t to avoid truncation

See merge request espressif/esp-idf!16833
2022-01-18 10:45:55 +00:00
Ivan Grokhotkov 76c7fd6664 Merge branch 'contrib/github_pr_7754' into 'master'
Fix infinite recursion in FLAG_ATTR operator (GitHub PR)

Closes IDFGH-6073

See merge request espressif/esp-idf!16631
2022-01-18 10:30:25 +00:00
Ivan Grokhotkov 31310d46e7 doc: fatal-errors: note on missing returns and IllegalInstruction
In C++ code it is considered to be undefined behavior to exit a
non-void function without returning a value. Normally this is
detected by the compiler, but users could disable relevant warnings.
Add a note about this possibility.

See https://github.com/espressif/esp-idf/issues/8244 for context.
2022-01-18 10:43:13 +01:00
Ivan Grokhotkov 39f2b8a28b Merge branch 'doc/esp32s3_sdmmc' into 'master'
docs: peripherals: update SD related docs for ESP32-S3

Closes IDF-3297

See merge request espressif/esp-idf!16702
2022-01-18 09:30:14 +00:00
Ivan Grokhotkov 876f4d6a1c vfs: add support for semihosting on ESP32-C3 2022-01-14 17:29:03 +01:00
Ivan Grokhotkov bce69ab7c1 vfs: add test for errno value after 'open' 2022-01-14 13:34:22 +01:00
Ivan Grokhotkov f010729e74 Merge branch 'contrib/esp_idf_github_pr_7413' into 'master'
vfs: fix wrong VFS being freed when esp_vfs_register_fd_range fails (Github PR)

Closes IDFGH-5692

See merge request espressif/esp-idf!14972
2022-01-14 12:32:20 +00:00
Ivan Grokhotkov b83d249e61 Merge branch 'feature/cmake_time_t_automatic' into 'master'
newlib: auto-detect sizeof(time_t)

See merge request espressif/esp-idf!16682
2022-01-12 23:49:22 +00:00
Ivan Grokhotkov d2b894862c newlib: auto-detect sizeof(time_t)
To make the transition from 32-bit time_t to 64-bit time_t smoother,
detect the size of this type in CMake and remove the manual option in
Kconfig.
The information about 64-bit time_t support is moved from Kconfig help
string into the "system time" section of the API reference.
2022-01-11 19:01:21 +01:00
Ivan Grokhotkov ee1b48163f docs: peripherals: update SD related docs for ESP32-S3 2022-01-11 18:36:51 +01:00
Ivan Grokhotkov bbe8aabca0 Merge branch 'bugfix/perfmon_s3' into 'master'
perfmon: re-enable example for ESP32-S3, remove warning from the docs

Closes IDF-3309

See merge request espressif/esp-idf!16744
2022-01-11 17:23:35 +00:00
Ivan Grokhotkov 18af031791 Merge branch 'bugfix/rom_time_t_size_deps' into 'master'
esp_rom: remove functions which depend on sizeof(struct stat) and all their callers

Closes IDFGH-6318

See merge request espressif/esp-idf!16679
2022-01-11 12:58:55 +00:00
Ivan Grokhotkov 3edc4bbf4a perfmon: re-enable example for ESP32-S3, remove warning from the docs
Includes minor fix for formatting of code blocks in the example readme
2022-01-11 08:28:51 +01:00
Ivan Grokhotkov fbdd87287c gitlab: add Github workflows to ci approvals group 2022-01-07 14:20:46 +01:00
Ivan Grokhotkov 7177b4fa95 ci: limit github-jira sync actions to a single concurrent run
to prevent race conditions when two workflows related to the same new
issue are triggered within a short interval.
2022-01-07 12:51:51 +01:00
Ivan Grokhotkov 24c20d188e esp_rom: remove functions which depend on sizeof(struct stat)
...and all their callers.

With the upcoming switch from sizeof(time_t)==4 to sizeof(time_t)==8,
sizeof(struct stat) is also increasing.

A few newlib functions present in ROM allocate 'struct stat' on the
stack and call _fstat_r on this structure. The implementation of
fstat is provided in ESP-IDF. This implementation will often do
memset(st, 0, sizeof(*st)), where st is 'struct stat*', before setting
some fields of this structure. If IDF is built with sizeof(st)
different from sizeof(st) which ROM was built with, this will lead
to an out-of-bounds write and a stack corruption.

This commit removes problematic ROM functions from the linker script.
Here are the functions which allocate 'struct stat':
* _isatty_r (in ROM)
* __swhatbuf_r, called by __smakebuf_r, called by __swsetup_r and
  __srefill_r (in ROM)
* _fseeko_r (not in ROM)
* glob2 (not in ROM)
* _gettemp (not in ROM)

As a result, these functions are used from libc.a, and use correct
size of 'stat' structure.

Closes https://github.com/espressif/esp-idf/issues/7980
2022-01-06 15:20:04 +01:00
Ivan Grokhotkov a17cd24761 Merge branch 'bugfix/idf_tools_python_env' into 'master'
tools: improve virtualenv diagnostics, set python path explicitly

Closes IDFGH-4711, IDFGH-6386, and IDF-4233

See merge request espressif/esp-idf!16650
2022-01-05 13:23:42 +00:00
Ivan Grokhotkov e857b260a5 tools: improve virtualenv diagnostics, set python path explicitly
- Check if pip is installed for sys.executable before attempting to
  create the virtual environment, bail out with an error if not.
- Don't pass --seeder argument to virtualenv if its version is
  too old. For example, on Ubuntu 18.04, virtualenv 15.1.0 doesn't
  support this argument.
- Pass --python argument to virtualenv to request specific interpreter
  to be used.

Closes https://github.com/espressif/esp-idf/issues/8045
2022-01-05 09:55:13 +01:00
Ivan Grokhotkov 637716b310 Merge branch 'feat/code_owner_bootloader_flash' into 'master'
code_owners: add peripherals to the owner of bootloader_flash

See merge request espressif/esp-idf!16628
2022-01-04 09:39:29 +00:00
Ivan Grokhotkov 3049ac6dbb ci: improve checks for Wi-Fi/PHYlibraries
- add missing Wi-Fi header MD5 checks for esp32c3, esp32s3
- check PHY libraries for references to ets_printf, in addition to
  checking Wi-Fi libraries. This used to happen until libphy.a was
  moved into a separate submodule.

Reported in https://github.com/espressif/esp-phy-lib/issues/3
2022-01-04 00:30:55 +01:00
Ivan Grokhotkov f1c5dfbfc9 Merge branch 'contrib/github_pr_8013' into 'master'
Add message about alternative functions. (GitHub PR)

Closes IDFGH-6352

See merge request espressif/esp-idf!16610
2021-12-31 07:09:08 +00:00
Ivan Grokhotkov 8b6ff2299a Merge branch 'bugfix/modbus_port_fix_lgpl_licensed_files' into 'master'
freemodbus: fix port contains lgpl licensed files

Closes IDF-4317

See merge request espressif/esp-idf!16130
2021-12-27 10:01:27 +00:00
Ivan Grokhotkov f5bc4718f4 Merge branch 'feature/oocd_ver_upgrade' into 'master'
tools: Updates OpenOCD version to 'v0.11.0-esp32-20211220'

See merge request espressif/esp-idf!16463
2021-12-25 22:03:14 +00:00
Ivan Grokhotkov 2dd6b66375 Merge branch 'contrib/github_pr_8107' into 'master'
Fix GDB backtraces in optimized builds (GitHub PR)

Closes IDFGH-6444

See merge request espressif/esp-idf!16436
2021-12-24 11:47:34 +00:00
Ivan Grokhotkov a13fcc00db Merge branch 'bugfix/freertos_appcpu_int_disable' into 'master'
freertos: ensure interrupts are disabled before enabling tick timer

See merge request espressif/esp-idf!16460
2021-12-24 11:45:07 +00:00
Ivan Grokhotkov 6a37b41df8 memprot: fix debug mode check
Regression from dd938eb9, the fault injection check was always failing
in debug mode.
2021-12-23 16:39:12 +01:00
Ivan Grokhotkov 2482b07aec gitlab: set code owners for riscv component 2021-12-22 16:58:12 +01:00
Ivan Grokhotkov 34093631fc Merge branch 'feature/ccache_in_ci' into 'master'
ci: enable ccache for build jobs

Closes IDF-776

See merge request espressif/esp-idf!15828
2021-12-22 09:59:00 +00:00
Ivan Grokhotkov bfaa97a38a Merge branch 'bugfix/idf_tools_test_without_versions' into 'master'
Tools: Load tool versions automatically for IDF Tools tests

See merge request espressif/esp-idf!16500
2021-12-22 09:21:22 +00:00
Ivan Grokhotkov ef5bc71372 ci: enable ccache for build jobs 2021-12-22 00:58:49 +01:00
Ivan Grokhotkov b3b90d6a85 ci: disable ccache when running CMake build system tests
Some tests check if certain files are rebuilt when source files are
'touch'ed. With ccache, 'touch'ing source files doesn't cause a
rebuild, hence the test fails. In case IDF_CCACHE_ENABLE was set in
the environment, unset it before starting the tests.
2021-12-22 00:36:00 +01:00
Ivan Grokhotkov 1cbea5a504 Merge branch 'feature/espefuse_adds_args_to_execute_scripts_cmd' into 'master'
esptool/espefuse: execute_scripts can be run nested way

See merge request espressif/esp-idf!16411
2021-12-21 12:24:06 +00:00
Ivan Grokhotkov 5d32e80ea7 freertos: ensure interrupts are disabled before enabling tick timer
xPortStartScheduler calls vPortSetupTimer -> _frxt_tick_timer_init,
which enables tick timer interrupt and sets up the first timeout.
From that point on, the interrupt can fire. If the interrupt happens
while _frxt_dispatch is running, the scheduler will enter an infinite
loop. This is because _frxt_dispatch isn't supposed to be preemptable,
and the tick interrupt will overwrite some of the registers used by
_frxt_dispatch.
Note that this situation doesn't practically occur on the real
hardware, where the execution of vPortSetupTimer and _frxt_dispatch
happens quickly enough. However it can be reproduced on an emulator
if the tick period is set to 1ms.

Add an explicit call to portDISABLE_INTERRUPTS in xPortStartScheduler
to guarantee that _frxt_dispatch doesn't run with interrupts enabled.
This is similar to the esprv_intc_int_set_threshold(1); call in
RISC-V version of port.c.
2021-12-20 17:25:56 +01:00
Ivan Grokhotkov b5d17f85a8 Merge branch 'bugfix/stdatomic_sync_op_and_fetch' into 'master'
newlib: stdatomic: implement missing "op_fetch", "nand" builtins

Closes IDF-4397

See merge request espressif/esp-idf!16404
2021-12-17 14:42:57 +00:00
Ivan Grokhotkov 52fb8624cc ldgen: allow + sign in archive names
Closes https://github.com/espressif/esp-idf/issues/8073
2021-12-17 10:31:01 +01:00
Ivan Grokhotkov 5b3b5f006f Merge branch 'feature/cmake_weak_deps_helper' into 'master'
cmake: add idf_component_optional_requires utility function, simplify some component dependencies

Closes IDF-3086

See merge request espressif/esp-idf!16373
2021-12-16 13:46:45 +00:00
Ivan Grokhotkov 7056fd3129 bootloader: don't add nonexistent directories to EXTRA_COMPONENT_DIRS 2021-12-14 19:17:53 +01:00
Ivan Grokhotkov 09e50b27ed cmake: handling of space-separated EXTRA_COMPONENT_DIRS
COMPONENT_DIRS and EXTRA_COMPONENT_DIRS should be defined as CMake
lists, using 'set' or 'list' commands. Some applications written
for earlier versions of ESP-IDF used to define these variables as
space separated strings.

For example, the following is correct:

  set(EXTRA_COMPONENT_DIRS path/to/components path/to/more/components)

The following is not correct:

  set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component1")
  set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component2")

The string "component1 component2" may indicate a single directory
name with a space, or two directory names separated by space.

However due to the fact that such way of defining EXTRA_COMPONENT_DIRS
was supported in IDF 4.3 and earlier, we need to provide backward
compatibility for it.

This commit introduces a new script, split_paths_by_spaces.py, which
is invoked if EXTRA_COMPONENT_DIRS or COMPONENT_DIRS variable contains
spaces. The script tries to determine if each space should be
interpreted as a separator or as part of the directory name.

When this cannot be done unambiguously, the script reports an error.

In all cases when space separators are detected, the script reports
a warning, and prints instructions for fixing the CMakeLists.txt.

Breaking change in this commit: specifying non-existent directories
in COMPONENT_DIRS or EXTRA_COMPONENT_DIRS is no longer allowed.
2021-12-14 19:17:53 +01:00
Ivan Grokhotkov 29489a3303 build system: fix quoting of fragments list passed to ldgen 2021-12-14 19:17:53 +01:00
Ivan Grokhotkov 6b361d923c esptool_py: fix quoting issues in run_serial_tool.cmake 2021-12-14 19:17:53 +01:00
Ivan Grokhotkov 50799e3026 esptool_py: fix passing arguments to cmake -P
Fixes WORKING_DIRECTORY argument being passed with spaces escaped `\ `
which causes failure in run_cmd.cmake, since the WORKING_DIRECTORY is
interpreted as having a literal backslash character in it.
2021-12-14 19:17:53 +01:00
Ivan Grokhotkov 8da98b864d build system: pass semicolon-separated directory lists to kconfig
New —-list-separator argument of confgen.py and
prepare_kconfig_files.py is used to select which character is used
as list separator. For compatibility with esp-docs, we still keep
support for space separator. Otherwise esp-docs would have to choose
the separator depending on the IDF version.
2021-12-14 19:17:53 +01:00
Ivan Grokhotkov 01033a3a60 newlib: stdatomic: implement missing "op_fetch", "nand" builtins
* Adds implementations of __{atomic,sync}_nand_fetch_n. These builtins
  were implemented for other operations but were not defined for NAND.
* Adds implementation of __atomic_OP_fetch_n for all OPs.
* Adds implementation of __sync_OP_and_fetch_n for all OPs.

Reported in https://github.com/espressif/arduino-esp32/issues/5948
2021-12-14 16:06:12 +01:00
Ivan Grokhotkov 636ce4750f ldgen: remove unused variables 2021-12-14 13:14:55 +01:00
Ivan Grokhotkov 44d18506b2 Merge branch 'feature/posix_compat_functions' into 'master'
newlib: implement posix_memalign, sysconf, realpath

Closes IDFGH-4268 and IDFGH-6119

See merge request espressif/esp-idf!16355
2021-12-14 08:56:33 +00:00
Ivan Grokhotkov 8df306ab60 freertos,esp_system: make dependencies on some components optional
Dependencies on gdbstub, espcoredump, app_trace will only be added
if these components are present in the build.
2021-12-13 18:39:49 +01:00
Ivan Grokhotkov d83ce227aa newlib: implement posix_memalign, sysconf, realpath
Closes https://github.com/espressif/esp-idf/issues/6119
Closes https://github.com/espressif/esp-idf/issues/7798
2021-12-13 14:40:21 +01:00
Ivan Grokhotkov 7a5ed12c6b lwip: make some of the component dependencies optional 2021-12-13 10:53:22 +01:00
Ivan Grokhotkov 71a884571c cmake: add idf_component_optional_requires utility function
It can be used in component CMakeLists.txt files when adding "weak"
dependencies between component. A "weak" dependency from A to B is
similar to target_link_libraries(A PRIVATE B), but it gets added only
if B is included in the build.
Use it instead of specifying B as part of PRIV_REQUIRES when the
component can be built (even if with reduced functionality) without
component B being available.
2021-12-13 10:53:22 +01:00
Ivan Grokhotkov f812714ec4 Merge branch 'bugfix/idf_exe_dll_deps' into 'master'
tools: fix idf_exe dependency on vcruntime140.dll, move it out of IDF

Closes IDF-4410

See merge request espressif/esp-idf!16301
2021-12-09 12:29:55 +00:00