Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Grokhotkov 4c3dec9705 ci: check_public_headers: run for all targets 2022-06-29 22:49:51 +02:00
Ivan Grokhotkov fefbf6a5b3 ci: check_public_headers: exclude sections generated on RISC-V target 2022-06-29 22:48:16 +02:00
Ivan Grokhotkov 28ac778099 ci: check_public_headers: run the build in a temporary directory
this allows running multiple builds for different targets
2022-06-29 22:47:02 +02:00
Ivan Grokhotkov 87180907f7 Merge branch 'bugfix/nvs_part_ptr_wrong_init' into 'master'
bugfix (nvs_flash): Fix nvs_flash_init_partition_ptr

Closes IDFGH-7503 and IDFGH-7152

See merge request espressif/esp-idf!18503
2022-06-23 21:23:39 +08:00
Ivan Grokhotkov 88d2a221f1 fatfs, spiffs: add missing dependency on vfs
Since vfs is no longer a common component, the dependency needs to be
added explicitly.
2022-06-21 17:16:49 +02:00
Ivan Grokhotkov 3973db7664 soc: make register access macros compatible with C++20
In C++20, using the result of an assignment to a 'volatile' value is
deprecated.

Breaking change: register "setter" or modification macros can no
longer be used as expressions.

Closes https://github.com/espressif/esp-idf/issues/9170
2022-06-17 18:09:22 +02:00
Ivan Grokhotkov 157247f98f asio: fix example for compatibility with C++20
Fix deprecated-enum-enum-conversion warning when compiling the
example with C++20
2022-06-17 16:44:17 +02:00
Ivan Grokhotkov 9ff37d122a esp_common: add handling for designated inits for C++20 2022-06-17 16:44:17 +02:00
Ivan Grokhotkov 9dba0476a0 asio: disable concepts support
The bundled version of asio uses legacy concepts syntax
(https://en.cppreference.com/w/cpp/experimental/constraints) which is
not accepted by GCC with -std=c++20.
Disable the concepts support until asio is upgraded to a version which
supports the new syntax.
2022-06-17 16:44:17 +02:00
Ivan Grokhotkov 7f971429bc cmake: allow lower language versions when building for linux target 2022-06-17 16:44:17 +02:00
Ivan Grokhotkov a2ca5d03c5 examples, components: remove C/C++ standard overrides
...where they are not necessary after switching to C17 and C++20.
2022-06-17 16:44:17 +02:00
Ivan Grokhotkov 0a1e83c599 build system: use C17 and C++2a by default
Closes https://github.com/espressif/esp-idf/pull/4846
Related to https://github.com/espressif/esp-idf/issues/5003
Related to https://github.com/espressif/esp-idf/issues/6885
Related to https://github.com/espressif/arduino-esp32/issues/5859
2022-06-17 16:44:16 +02:00
Ivan Grokhotkov a22730c914 esp_system: fix garbled UART output on startup on esp32s2
Closes https://github.com/espressif/esp-idf/issues/9168
2022-06-17 12:09:07 +02:00
Ivan Grokhotkov c38810e268 Merge branch 'bugfix/s3_increase_static_alloc_size' into 'master'
bootloader, esp_system: increase static allocation space for esp32s3

See merge request espressif/esp-idf!18045
2022-06-16 15:06:10 +08:00
Ivan Grokhotkov 8ee3decdba bootloader, esp_system: increase static allocation space for esp32s3
The previously used splits between memory allocated for ROM code,
2nd stage bootloader and the app were somewhat safe and conservative.
This resulted in some space being unavailable for static allocation
in the app.

This commit increases the space available for static allocation to the
maximum possible amount.

1. Some of the ROM code static allocation is only used in UART/USB/SPI
   download modes. This region ("shared buffers") has been placed at
   the lower end of ROM memory area, to be reusable in flash boot
   mode. The 2nd stage bootloader linker script is modified to "pack"
   all sections exactly up to the end but with roughly 8K margin between
   startup stacks.
2. Instead of calculating the sections placement and hardcoding the
   addresses in the LD script again, rewrite it to calculate the
   start address of each memory region automatically based on the
   logic above.
3. Adjust the app memory layout (SRAM_IRAM_END) accordingly,
   increasing the space available for static allocation.

Overall these changes increase the space available for static
allocation by about 78kB.

The downside of these changes is that the 2nd stage bootloader .data
segment is now directly adjacent to the startup stack on the PRO CPU.
Previously, there was effectively about 78kB of extra stack space for
the PRO CPU, before the stack would run into the data segment.
2022-06-15 17:57:11 +05:30
Ivan Grokhotkov f5d49199d3 Merge branch 'ci/fix_utils_sh_with_dash' into 'master'
ci: fix bash shell array incompatibility in dash

See merge request espressif/esp-idf!18487
2022-06-14 13:05:17 +08:00
Ivan Grokhotkov 39238f51ce fatfs: fix incorrect mtime returned for files created during DST
mktime function uses tm_isdst member as an indicator whether the time
stamp is expected to be in daylight saving time (1) or not (0).
FAT filesystem uses local time as mtime, so no information about DST
is available from the filesystem.

According to mktime documentation, tm_isdst can be set to -1, in which
case the C library will try to determine if DST was or wasn't in
effect at that time, and will set UTC time accordingly.

Note that the conversion from UTC to local time and then back to UTC
(time_t -> localtime_r -> FAT timestamp -> mktime -> time_t) does not
always recover the same UTC time. In particular, the local time in the
hour before DST comes into effect can be interpreted as "before DST"
or "after DST", which would correspond to different UTC values. In
this case which option the C library chooses is undefined.

Closes https://github.com/espressif/esp-idf/issues/9039
Originally reported in https://github.com/espressif/arduino-esp32/issues/6786
2022-06-09 19:50:00 +00:00
Ivan Grokhotkov d34f061bc1 spiffs: update submodule to fix SPIFFS_readdir errno issue
See https://github.com/pellepl/spiffs/pull/288 for the description
of the issue.
Reported in https://github.com/esp-rs/rust/issues/117#issuecomment-1142159661
2022-06-02 18:42:48 +02:00
Ivan Grokhotkov 0c10b937f5 Merge branch 'bugfix/freertos_smp_disable_interrupt_usage' into 'master'
FreeRTOS: Replace portSET_INTERRUPT_MASK_FROM_ISR() call for SMP

Closes IDF-5062 and IDF-5066

See merge request espressif/esp-idf!18301
2022-06-01 00:18:26 +08:00
Ivan Grokhotkov 79659e3096 sdmmc: better calculation of erase timeout
Previous version of the code used a fixed constant (500 ms) for the
erase timeout and added 1 ms for each sector erased.
This commit improves timeouts calculation:
- For SD cards, check if erase timeout information is present in the
  SSR register. If yes, use it for erase timeout calculation.
  Otherwise assume 250ms per erase block, same as Linux does.
- For eMMC assume 250ms per erase block (but no less than 1 second).
  This has to be improved later to use the erase timeout info in the
  extended CSD register.
2022-05-30 15:39:02 +02:00
Ivan Grokhotkov a28828a6f4 fatfs: re-enable TRIM support for SPI mode
Previously this didn't work because MMC_ERASE implementation for SPI
didn't wait for the busy status indication.
2022-05-30 15:39:01 +02:00
Ivan Grokhotkov 36e3043306 sdmmc: check card status in SPI mode after sdmmc_erase_sectors
Same as for write operation, some errors are reported only via CMD13.
Without the R1b response support in sdspi driver, this check would
fail. Now that R1b support is implemented, erase command response is
zero (success) on all cards under test.
Also remove the now-unnecessary card reset after erase in the test
case.
2022-05-30 15:39:01 +02:00
Ivan Grokhotkov 3ad98984e9 driver: sdspi: add support for R1b response
Same as R1 but with busy indication polling
2022-05-30 15:39:01 +02:00
Ivan Grokhotkov bb11f49c74 sdmmc: check for errors reported by card in sdmmc_write_sectors_dma
During write operation (CMD24 or CMD25), the card can report some of
the errors in the 1-byte response tokens. Other types of errors are
not reported, the host has to get them by issuing CMD13.
This commit adds CMD13 request at the end of write operations and
reports error to the user if the card status isn't zero.
2022-05-30 15:39:01 +02:00
Ivan Grokhotkov c4c7e7c82b sdmmc: support sdmmc_send_cmd_send_status in SPI mode
SPI mode uses different response format (2-byte R2) compared to SD mode.
2022-05-30 15:39:01 +02:00
Ivan Grokhotkov da47bebdd8 sdmmc: sdmmc_init_sd_ssr: use correct command name
Numerical value of MMC_SEND_STATUS is the same as SD_APP_SD_STATUS,
so there is no functional change. Just making this consistent with the
sdmmc_send_app_cmd call later on.
2022-05-30 15:39:01 +02:00
Ivan Grokhotkov f1e3536f3c driver: sdspi: fix decoding of R2 response 2022-05-30 15:39:00 +02:00
Ivan Grokhotkov 17b7981e2e driver: sdmmc: add SPI mode R2 response definitions 2022-05-30 15:39:00 +02:00
Ivan Grokhotkov 87ec752bda Merge branch 'docs/fix_nvs_encryption_docs' into 'master'
doc (nvs_flash): improved NVS partition flash documentation

Closes IDFGH-6549

See merge request espressif/esp-idf!18004
2022-05-30 16:13:12 +08:00
Ivan Grokhotkov a14e14f37a Merge branch 'feature/docker_build_gh_actions' into 'master'
ci: move Docker image builds to Github, plus other improvements

Closes IDFCI-1264 and IDFGH-6264

See merge request espressif/esp-idf!18256
2022-05-27 19:56:29 +08:00
Ivan Grokhotkov 212cbc3fb6 tools/docker: add README.md file to be displayed on Docker Hub
Closes https://github.com/espressif/esp-idf/issues/7933
2022-05-26 03:44:13 +02:00
Ivan Grokhotkov 6dc52d4425 ci: build and push Docker images in Github actions, add arm64 platform
Replaces the previously used Docker Hub autobuild infrastructure.
This allows for more flexible configuration of the build process,
at the expense of some extra maintenance of CI workflow files
required.
2022-05-26 03:44:13 +02:00
Ivan Grokhotkov ec96adae2b docs: document build arguments of the Docker image 2022-05-26 03:31:22 +02:00
Ivan Grokhotkov a8904787fa tools/docker: add IDF_CLONE_SHALLOW and IDF_INSTALL_TARGETS arguments
These two arguments can be used to reduce the size of the Docker
image:

- Setting IDF_CLONE_SHALLOW enables shallow cloning.
- Setting IDF_INSTALL_TARGETS to the comma separated list of targets
  results in toolchains being installed only for these targets.
2022-05-26 03:31:22 +02:00
Ivan Grokhotkov 4d9e141201 Merge branch 'bugfix/freertos_smp_no_affinity' into 'master'
Freertos SMP: fix wrong no affinity value in kconfig

Closes IDF-5063, IDF-5064, IDF-5067, IDF-5068, IDF-5075, IDF-5076, IDF-5078, IDF-5079, IDF-5080, IDF-5082, IDF-5083, IDF-5084, IDF-5085, IDF-5086, IDF-5087, IDF-5088, IDF-5089, IDF-5090, IDF-5091, IDF-5092, IDF-5093, IDF-5094, IDF-5095, IDF-5096, IDF-5097, IDF-5098, IDF-5099, IDF-5100, IDF-5101, IDF-5102, IDF-5105, IDF-5106, IDF-5108, IDF-5109, IDF-5110, IDF-5111, IDF-5113, IDF-5114, IDF-5115, IDF-5116, IDF-5117, IDF-5118, IDF-5120, IDF-5121, IDF-5123, IDF-5125, IDF-5126, IDF-5128, and IDF-5129

See merge request espressif/esp-idf!18224
2022-05-25 03:05:33 +08:00
Ivan Grokhotkov 179ea878c7 Merge branch 'bugfix/pre-commit_PyYAML_deps' into 'master'
Tools: fix PyYAML deps for pre-commit hook

See merge request espressif/esp-idf!18204
2022-05-23 17:55:18 +08:00
Ivan Grokhotkov 341162bb3d Merge branch 'fix/vfs_fat_info_overflow' into 'master'
fatfs: Fix possible integer overflow in esp_vfs_fat_info()

Closes IDF-4958

See merge request espressif/esp-idf!18191
2022-05-22 20:00:12 +08:00
Ivan Grokhotkov 849a296675 Merge branch 'bugfix/newlib_implement_atomic_load_store' into 'master'
newlib: implement __atomic_load/__atomic_store functions

Closes LLVM-144

See merge request espressif/esp-idf!17561
2022-05-13 02:14:15 +08:00
Ivan Grokhotkov 13c3e13ecb Merge branch 'docs/update_readme_buildsystem' into 'master'
docs: update CN translation for readme and build-system

Closes DOC-2943 and DOC-2942

See merge request espressif/esp-idf!17741
2022-05-12 16:38:47 +08:00
Ivan Grokhotkov 27e1490bfc examples: sd_card: fix example test not getting the expected name
SD card example prints the line which looks like:

   Name: 00000

If only part of the line is received, the regular expression in the
test still matches, and partial name is obtained. Later the example
test expects to see the same name in the file read from the SD card.
This check fails, because only partial name was received earlier.

Fix by adding a CR to the regular expression so that the entire name
is matched.
2022-05-11 21:50:11 +02:00
Ivan Grokhotkov 2e506bd93e Merge branch 'bugfix/iperf_output_regex' into 'master'
ci: iperf: recognize report results from newer iperf versions

Closes IDFCI-1226 and IDFCI-1229

See merge request espressif/esp-idf!18055
2022-05-12 03:26:34 +08:00
Ivan Grokhotkov d2e519012c ci: iperf: recognize report results from newer iperf versions
The iperf version used in older version of CI docker images had the
following output format:
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec   0.000 ms    0/  892 (0%)
The newer iperf version which was recently included in the container
prints more digits after the decimal point:
[  3] 0.0000-10.0148 sec  1.25 MBytes  1.05 Mbits/sec   0.002 ms    0/  895 (0%)
The regular expression to match this line expected a single zero after
the decimal point, so the new format no longer matches.
The fix is to expect any number of digits in the fractional part.
2022-05-10 15:49:53 +02:00
Ivan Grokhotkov 6b88cc190e Merge branch 'bugfix/console_usbserjtag_detect' into 'master'
console, usb_serial_jtag: don't block on non-interactive terminals

Closes IDFGH-7248

See merge request espressif/esp-idf!17985
2022-05-04 19:19:56 +08:00
Ivan Grokhotkov e350fac374 Merge branch 'refactor/console_examples' into 'master'
console examples cleanup and refactoring

See merge request espressif/esp-idf!17984
2022-05-04 18:10:31 +08:00
Ivan Grokhotkov 1b90711545 vfs: usb_serial_jtag: consider O_NONBLOCK flag when reading via driver
Closes https://github.com/espressif/esp-idf/issues/8839
2022-05-04 11:37:52 +02:00
Ivan Grokhotkov dad4ac5251 examples: console: add a readme with an overview of examples 2022-05-04 11:34:07 +02:00
Ivan Grokhotkov 3390d2a2d1 examples: support USB_CDC and USB_SERIAL_JTAG in basic console example
Related to https://github.com/espressif/esp-idf/issues/8738
Related to https://github.com/espressif/esp-idf/issues/8879

Doesn’t implement USB_CDC (over USB_OTG peripheral) for ESP32-S3 yet;
this only works on ESP32-S2 for now. On ESP32-S3 it is now possible to
use USB_SERIAL_JTAG console.
2022-05-04 11:34:06 +02:00
Ivan Grokhotkov 11c67d175f examples: console: move duplicated cmd_wifi files into a new component 2022-05-04 11:34:06 +02:00
Ivan Grokhotkov 32360cc1a3 examples: move console_usb example to console directory 2022-05-04 11:34:06 +02:00
Ivan Grokhotkov 0f515ce3fb docs: make CONTRIBUTING.md readable on Github
Move the contents of CONTRIBUTING.rst into contributing/index.rst,
create CONTRIBUTING.md with a link to the programming guide.

Closes https://github.com/espressif/esp-idf/issues/6807
2022-05-04 01:16:34 +02:00
Ivan Grokhotkov 6b5599bb12 console: linenoiseProbe: check if response is valid
Previously linenoiseProbe would accept any 4 byte response, even one
that isn't expected. This adds a check that the first byte of the
response is ESC.
Suggested in https://github.com/espressif/esp-idf/issues/8839.
2022-05-03 21:26:14 +02:00
Ivan Grokhotkov 5b0a302ea4 Merge branch 'bugfix/build_spaces_in_path_docs_tests' into 'master'
ci, tools: add build tests for spaces in paths, fix regression in export.sh, add migration guide

See merge request espressif/esp-idf!15431
2022-05-03 21:04:49 +08:00
Ivan Grokhotkov 2f7935666d Merge branch 'bugfix/remove_lwip_from_common_requirements' into 'master'
build system: remove lwip from common component requirements

Closes IDF-1258

See merge request espressif/esp-idf!17785
2022-05-03 17:34:34 +08:00
Ivan Grokhotkov 89e78976ab tests: panic: make 'get_test_name' work without VFS, add echo
When vfs component is not added to the build, bare minimum syscalls
are provided by newlib component. These syscalls currently don't
perform CR/LF translation.
This commit makes the 'get_test_name' function work with minimal
syscalls and also adds echo, so that the user sees what they type.
2022-05-02 20:47:18 +02:00
Ivan Grokhotkov 77b754b47f newlib: fix return value of no-VFS _read_r if nothing received
'read' function should return 0 when encountering an end of file. When
newlib calls read and sees EOF returned, it assumes that this
condition is permanent and never calls 'read' for this file again
(unless the read pointer is moved using fseek).
The correct behavior in case no characters were received over UART is
to return -1. In this case newlib will retry reading from file on next
call to fread, fgetc or another function which calls __srefill_r.
2022-05-02 20:47:18 +02:00
Ivan Grokhotkov 598e8db29c docs: update build system reference and migration guides for lwip
Previous commit removes lwip from the common requirements.
This commit updates the documentation to describe the resulting
changes.
2022-05-02 20:47:18 +02:00
Ivan Grokhotkov 47659be5b8 build system: remove lwip from common requirements
lwip was added to common requirements list to provide "sys/socket.h"
header to all components without additional requirements specified.

However, lwip pulls in a lot of dependencies on other components.
This commit removes lwip from common requirements to reduce the number
of components in G1-only apps.

To compensate for this removal, the following changes are made:
- newlib (which is a common requirement) has a public dependency on
  lwip if lwip is present in the build. This ensures that sys/socket.h
  is available as long as lwip component is included into the build.
- lwip is now a public requirement of esp-tls since esp_tls.h includes
  sys/socket.h header.
- lwip is now a public requirement o esp_http_client because
  sys/socket.h is included from esp_http_client.h
- lwip is now a private requirement of esp_wifi for "smartconfig_ack"
- lwip is now a private requirement of mqtt for socket functions
- lwip is now a public requirement of tcp_transport because
  esp_transport_tcp.h includes sys/socket.h header.
- mbedtls checks if lwip component is present in the build. If yes,
  net_sockets.c is added to the build, along with the dependency on
  lwip. Previously lwip was a public requirement of mbedtls
  unconditionally.

system/g1_components test app is updated to reflect the changes

Default public dependencies of a component before and after this
change, except common requirements:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)
- vfs (public dependency of lwip)
- esp_wifi (public dependency of lwip)
- esp_event (public dependency of esp_wifi)
- esp_netif (public dependency of esp_event)
- esp_eth (public dependency of esp_netif)
- esp_phy (public dependency of esp_wifi)

After:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)

Altogether, the following components have been always added as
public requirements to all other components, and are not added now
([breaking-change]):

- lwip
- vfs
- esp_wifi
- esp_event
- esp_netif
- esp_eth
- esp_phy

Application components now need to explicitly declare dependencies on
these components.
2022-05-02 20:47:17 +02:00
Ivan Grokhotkov ab6151fc8e test_utils: add missing dependency on esp_netif 2022-05-02 20:47:17 +02:00
Ivan Grokhotkov 81f2a94f9a esp_system: make dependencies on vfs and esp_wifi optional 2022-05-02 20:47:17 +02:00
Ivan Grokhotkov a093ed39df docs: add migration guide for COMPONENT_DIRS and EXTRA_COMPONENT_DIRS 2022-05-02 19:05:48 +02:00
Ivan Grokhotkov 130bbf3d6c ci: add build job to test paths with spaces 2022-05-02 19:05:48 +02:00
Ivan Grokhotkov 9703b68215 tools: export.sh: fix expansion of IDF_PATH with spaces 2022-05-02 19:05:47 +02:00
Ivan Grokhotkov cf8fb9e950 tools: fixup version references related to paths with spaces
The feature will only appear in 5.0 release, not in 4.4.
2022-05-02 19:05:47 +02:00
Ivan Grokhotkov 3352e91777 Merge branch 'bugfix/esptool_autodetection' into 'master'
bugfix: Fix port autodetection with esptool package

See merge request espressif/esp-idf!17944
2022-04-27 19:11:23 +08:00
Ivan Grokhotkov 871375cae3 Merge branch 'bugfix/bootloader_support_public_req' into 'master'
esp_hw_support: remove public dependency on bootloader_support

See merge request espressif/esp-idf!17792
2022-04-27 17:04:07 +08:00
Ivan Grokhotkov 25a5344763 Merge branch 'feature/vfs_fat_info' into 'master'
fatfs: add esp_vfs_fat_info() + unit tests

Closes IDF-4853

See merge request espressif/esp-idf!17654
2022-04-27 17:01:33 +08:00
Ivan Grokhotkov 3175e472ba Merge branch 'bugfix/freertos_esp_timer_deps' into 'master'
esp_timer: remove from freertos public requirements

See merge request espressif/esp-idf!17818
2022-04-27 04:13:25 +08:00
Ivan Grokhotkov ed03bdb715 Merge branch 'doc/reproducible_builds' into 'master'
docs: add documentation about reproducible builds

See merge request espressif/esp-idf!17882
2022-04-26 19:57:16 +08:00
Ivan Grokhotkov 2ddcb13509 docs: add documentation about reproducible builds 2022-04-26 11:31:13 +02:00
Ivan Grokhotkov ceeb9f9451 docs: update the migration guides for esp_timer
Previous commit removes esp_timer from the common requirements.
This commit updates the documentation to describe the resulting
changes.
2022-04-25 18:39:59 +02:00
Ivan Grokhotkov b0544b9745 esp_timer: only add as a public dependency to FreeRTOS if necessary
esp_timer will be added as a dependency to freertos only if
CONFIG_FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER is enabled.
Other components are updated to add esp_timer as public or private
dependency, as needed.
This removes esp_timer from the default list of public dependencies.
2022-04-25 18:39:59 +02:00
Ivan Grokhotkov 708e99497b global: add dependency on esp_timer component and include esp_timer.h
Some components were including esp_timer.h without declaring a
dependency on esp_timer component. This used to work due to a
transitive public dependency on esp_timer from freertos component.
Add explicit dependencies where needed.
Also some source files were using esp_timer functions without
including the header file. This used to work because esp_timer.h was
included from freertos port header file. This commit adds esp_timer.h
includes where needed.
2022-04-25 18:39:23 +02:00
Ivan Grokhotkov 90660111c9 Merge branch 'doc/choose_version_dependent_projects' into 'master'
docs: note that choice of IDF version may depend on downstream project

See merge request espressif/esp-idf!17754
2022-04-21 20:18:22 +08:00
Ivan Grokhotkov 1be9b4ab2e docs: note that choice of IDF version may depend on downstream project
As in the case with esp-iot-solution here:
https://github.com/espressif/esp-idf/issues/8763

Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
2022-04-21 13:35:35 +02:00
Ivan Grokhotkov fe904085fb Merge branch 'feature/modbus_remove_component' into 'master'
freemodbus: remove component files from esp-idf

See merge request espressif/esp-idf!17272
2022-04-19 21:04:30 +08:00
Ivan Grokhotkov a4e8a623b3 Merge branch 'bugfix/linux_target_log_macos' into 'master'
linux target: add ESP_LOG_BUFFERS support, fix build on macOS

See merge request espressif/esp-idf!17726
2022-04-19 19:45:24 +08:00
Ivan Grokhotkov 93edb8fd52 Merge branch 'bugfix/errno_overlap' into 'master'
newlib: fix ESHUTDOWN and ENOTSOCK having the same numerical value

See merge request espressif/esp-idf!17804
2022-04-19 18:39:20 +08:00
Ivan Grokhotkov 71bab1078f newlib: fix ESHUTDOWN and ENOTSOCK having the same numerical value 2022-04-18 12:10:30 +02:00
Ivan Grokhotkov 85cb079838 esp_hw_support: remove public dependency on bootloader_support
In c4bcf111, soc_memory_types.h header was moved from soc to
esp_hw_support. Since some of the functions are also used in
bootloader and because esp_hw_support is not part of the bootloader
build, part of the functions were moved into bootloader_support.
To make these functions available to the app, bootloader_support was
added as a public dependency of esp_hw_support.

Since esp_hw_support is in common requirements list, this has added
bootloader_support as a public requirement to every component in the
build. Adding new public requirements outside of common components
is undesirable, since components may accidentally include headers
from bootloader_support without explicitly declaring it as a
requirement.

This commit reverts this addition. Until a better solution is found,
some part of esp_memory_utils.h is duplicated into
bootloader_memory_utils.h. A CI check is added to make sure these
files stay in sync.
2022-04-16 10:50:12 +02:00
Ivan Grokhotkov 41e5a70aa9 docs: update copyrights list for argtable3 2022-04-11 19:46:46 +02:00
Ivan Grokhotkov 5f7afd3980 console: argtable3: sync arg_end argument name
...between declaration and definition, to silence clang-tidy warnings
2022-04-11 19:42:53 +02:00
Ivan Grokhotkov ebe1acc6b8 console: argtable3: fix -Wwrite-strings warnings
Re-apply commit 744c2dcdd9
2022-04-11 19:42:53 +02:00
Ivan Grokhotkov 8240144580 console: argtable3: re-introduce arg_print_formatted function 2022-04-11 19:42:53 +02:00
Ivan Grokhotkov 21a94dfcb6 console: argtable3: use newlib getopt, disable logs
Opted for changing the source code to avoid adding one extra flag to
component public CPPFLAGS.
2022-04-11 19:42:52 +02:00
Ivan Grokhotkov 10f72e1086 console: argtable3: update CMakeLists.txt for v3.2.1 2022-04-11 19:42:52 +02:00
Ivan Grokhotkov 69d1424c15 console: argtable3: add SPDX copyright headers 2022-04-11 19:42:52 +02:00
Ivan Grokhotkov c0d62c58d3 console: argtable3: upgrade to v3.2.1
Source code taken from release archives in
https://github.com/argtable/argtable3/releases/tag/v3.2.1.52f24e5

Applied dos2unix to all files.
Removed trailing whitespace with the pre-commit hook.

Resolves some of the static analysis issues reported in
https://github.com/espressif/esp-idf/issues/6440
(mallocs are replaced by xmalloc wrapper which panics on failed
allocations)
2022-04-11 19:42:52 +02:00
Ivan Grokhotkov 34aa82a11a cmake: use -warn_commons instead of --warn-common on macOS 2022-04-11 13:29:02 +02:00
Ivan Grokhotkov 3602d332c4 log: support ESP_LOG_BUFFER* functions for Linux target 2022-04-11 13:29:01 +02:00
Ivan Grokhotkov 466e8702b8 Merge branch 'feature/spiffs_gc' into 'master'
spiffs: add esp_spiffs_gc function to force garbage collection

Closes IDFGH-7009

See merge request espressif/esp-idf!17638
2022-04-11 18:17:29 +08:00
Ivan Grokhotkov 7c65370d84 spiffs: add esp_spiffs_gc function to force garbage collection
Closes https://github.com/espressif/esp-idf/issues/8626
2022-04-11 11:19:10 +02:00
Ivan Grokhotkov e4d0b7b007 Merge branch 'bugfix/spiffs_check_part_alignment' into 'master'
spiffs: add init checks for partition alignment and data types

Closes IDFGH-6974 and IDF-3349

See merge request espressif/esp-idf!17676
2022-04-07 01:27:57 +08:00
Ivan Grokhotkov c021638e99 Merge branch 'feature/component_whole_archive' into 'master'
build system: add WHOLE_ARCHIVE component property, add link-time registration example

Closes IDFGH-7050 and IDFGH-5997

See merge request espressif/esp-idf!17642
2022-04-06 02:51:02 +08:00
Ivan Grokhotkov 6a172b419f spiffs: add init checks for partition alignment and data types
Closes https://github.com/espressif/esp-idf/issues/8593
2022-04-05 19:14:00 +02:00
Ivan Grokhotkov ff6ccfff8e examples: build system: add link-time registration plugin example
Closes https://github.com/espressif/esp-idf/issues/7682
2022-04-05 18:51:47 +02:00
Ivan Grokhotkov 273633ee31 build system: add WHOLE_ARCHIVE component property
This component property allows including all component object files
into the executable. It is equivalent to wrapping the component
library with -Wl,--whole-archive and -Wl,--no-whole-archive flags.

Closes https://github.com/espressif/esp-idf/issues/8667
2022-04-05 18:50:20 +02:00
Ivan Grokhotkov cabdd25e7f Merge branch 'bugfix/tools_clang_atomic_alignment' into 'master'
cmake: add "-Wno-atomic-alignment" flag to cmake script

Closes LLVM-145

See merge request espressif/esp-idf!17563
2022-03-28 18:59:57 +08:00
Ivan Grokhotkov c70a69b1dd Merge branch 'bugfix/remove_ref_non_ex_options' into 'master'
config: removed references to non-existing kconfig options

See merge request espressif/esp-idf!17495
2022-03-25 18:02:54 +08:00
Ivan Grokhotkov d17220fc66 Merge branch 'partition/not_aligned_is_error' into 'master'
gen_esp32part.py: misaligned partitions now raise an exception

Closes IDF-3742

See merge request espressif/esp-idf!17368
2022-03-23 18:34:55 +08:00
Ivan Grokhotkov 8506b2f6c9 Merge branch 'bugfix/driver_hal_essl_static_analysis_fixes' into 'master'
driver, essl, hal: fix issues reported by PVS-Studio

Closes IDF-2749, IDF-2753, and IDF-2785

See merge request espressif/esp-idf!17490
2022-03-22 21:47:15 +08:00