Commit Graph

20045 Commits

Author SHA1 Message Date
Ivan Grokhotkov
3c5e7b89ab spi_flash: extern spi_flash_chip_generic_timeout
spi_flash_generic_timeout is currently defined in the header file,
which makes it a common symbol between translation units where this
header file is included. It is also defined in
spi_flash_chip_generic.c.

Add an explicit `extern` to prevent multiple definition errors.
2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
b5606f5e81 esp_system: make the abort operation compatible with clang
Clang warns that the original code wouldn't have any effect:

    warning: indirection of non-volatile null pointer will be deleted,
             not trap [-Wnull-dereference]
    note: consider using __builtin_trap() or qualifying pointer
          with 'volatile'

__builtin_trap translates to 'break 1, 15' instruction on Xtensa,
which might be okay in this case. However to absolutely certainly not
break anything for GCC builds, add 'volatile' instead.
2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
82f0488f77 argtable: move GCC-specific pragma to cmake/make files
...and only add it when building with GCC.
2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
d0f960a634 newlib: don't use gcc-specific pragmas for clang 2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
1e2b1238c6 cbor: add a workaround for -ffreestanding being passed to clang
Toolchain CMake files for clang currently pass -ffreestanding option
to prevent clang from picking the wrong copy of stdint.h. This is a
temporary hack until we fix clang distributions to not include the
GCC version of stdint.h. This hack, however, results in setting
__STDC_HOSTED__=0, which is being checked by cbor header files,
making some required functions unavailable as a result.
Undefine __STDC_HOSTED__ as a workaround. This flag is only passed
when compiling cbor itself.
2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
81b97b9a6b spi_flash: only add GCC-specific flags when building with GCC 2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
370473b772 spiffs: only add GCC-specific flags when building with GCC 2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
3177df4986 cmake: temporarily silence additional warnings produced by clang 2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
6bba3ea034 cmake: only add GCC-specific flags when building with GCC
There are probably more GCC-specific flags in component CMakeLists.txt
files; these are just the one being added for all the files.
2021-09-16 11:07:54 +02:00
Ivan Grokhotkov
90a87cf5e4 cmake: don't run crosstool-version-check for clang
We will likely need to check clang version as well, eventually.
However at the moment clang builds change too often for such check
to be maintainable. Disable it for clang.
2021-09-16 10:54:27 +02:00
Ivan Grokhotkov
06c0b8a5d0 cmake: don't search for toolchain files in component directory
This feature was added when we thought that target components might be
added out of IDF tree. That never became possible, and with recent
changes in IDF architecture it is unlikely that this feature will be
necessary any time soon. Remove it, simplifying the code.
2021-09-16 10:54:27 +02:00
Ivan Grokhotkov
14e600801e cmake: allow selection of clang based toolchain
This is an experimental feature intended at the moment for ESP-IDF
developers only.

If IDF_TOOLCHAIN=clang environment variable or CMake variable is set,
use toolchain-clang-esp32xx.cmake instead of toolchain-esp32xx.cmake.

These changes aren't sufficient to actually build any IDF project with
clang; subsequent commits add a few workarounds required to do this.

Toolchain files are added for esp32 and esp32s2, which are the targets
supported in our llvm-project fork at the moment.
2021-09-16 10:54:27 +02:00
Martin Valik
1f451a4a77 Added more convenient functions for sending data to websocket 2021-09-16 10:53:29 +02:00
Shivani Tipnis
54e4aa9781 Merge branch 'bugfix/fix_nvstool_readme' into 'master'
Update Readme with supports of multiline strings and comments in the CSV file

Closes IDFGH-5434

See merge request espressif/esp-idf!15027
2021-09-16 07:51:15 +00:00
Armando
ddd0235783 adc: support adc self-calibration on esp32s3 2021-09-16 15:17:29 +08:00
Ivan Grokhotkov
ccda990ce5 newlib: set errno in the explicitly provided reent structure
Since these functions receive the pointer to reent structure, they
should set errno in it rather than using thread-local errno.

This didn't cause practical issues because console functions in IDF
are only called from threads, and in that case 'r' is a pointer to
the thread-local structure, so &errno is the same thing as
&__errno_r(r). Still, fixing this for consistency.
2021-09-16 09:00:07 +02:00
Ivan Grokhotkov
5da66d1d39 newlib: implement _fstat_r stub for console
When CONFIG_VFS_SUPPORT_IO is disabled, _read_r and _write_r
implementations in syscalls.c are used to provide console I/O via
esp_rom_uart_tx_one_char/esp_rom_uart_rx_one_char.

When newlib opens a (FILE*) stream, it calls fstat to check if the
underlying file is character-oriented. In this case, it configures the
stream to use line buffering. Otherwise (or if fstat fails) the stream
is opened as block buffered.

Since fstat wasn't provided, stdin/stdout/stderr streams got opened in
block buffered mode. For console, we need line buffered output so that
the stream buffer is flushed each time a complete line (ending with
'\n') is sent to stdout or stderr.

Fix by implementing _fstat_r stub, setting st->st_mdoe=S_IFCHR.
2021-09-16 09:00:07 +02:00
Li Shuai
b3e27403f3 esp_hw_support: keep external 40 MHz xtal related analog circuit power on during sleep 2021-09-16 14:46:21 +08:00
Li Shuai
58292a7d22 Power Management: add XTAL power domain to control whether external 40MHz xtal is powered down during sleep 2021-09-16 14:43:43 +08:00
Li Shuai
f5b39a7cde esp_hw_support: No voltage drop during light sleep to ensure stable output clock of rtc8m oscillator 2021-09-16 14:40:46 +08:00
Shivani Tipnis
d8b1c3d44a nvs_tool: Update Readme with supports of multiline strings and comments in the CSV file
Closes https://github.com/espressif/esp-idf/issues/7175
2021-09-16 11:11:19 +05:30
Fu Hanxi
923e862ed2 ci: temporarily disable s3 build for a few examples 2021-09-16 12:20:11 +08:00
Li Shuai
b59902f4d1 Merge branch 'bugfix/esp32s3_lightsleep_psram_leakage_current' into 'master'
fix SPIRAM leakage when its CS pin has no hardware pullup

See merge request espressif/esp-idf!14730
2021-09-16 04:07:58 +00:00
Fu Hanxi
34f044debd ci: enable esp32s3 example build 2021-09-16 11:16:52 +08:00
Zim Kalinowski
7bd62b660d Merge branch 'bugfix/fix_linux_host_example' into 'master'
[examples]: fixed linux host example

See merge request espressif/esp-idf!15154
2021-09-15 22:04:07 +00:00
Aditya Patwardhan
b1e73137f3 Merge branch 'fix/esp_mbedtls_write_api' into 'master'
Fix esp_mbedtls_write API

Closes IDFGH-5751

See merge request espressif/esp-idf!15171
2021-09-15 17:42:21 +00:00
Laukik Hase
88f9a6b90f Update README.md: Added information about session ticket feature
- Enabled client session tickets as default in https_request example
2021-09-15 22:19:04 +05:30
Aditya Patwardhan
695f1b6503 Added demo to showcase use of client session tickets
* Added required example test
2021-09-15 22:19:04 +05:30
Aditya Patwardhan
b4e4b9f20d Added support for client session tickets in esp-tls (with mbedtls)
* client session tickets for individual tls connections are supported
* reorganize the esp-tls error codes.
* Update esp_err_to_name.c
* Fix styling
2021-09-15 22:19:04 +05:30
Daniel Bahrdt
7e886ca9ed Implement server session ticket support with mbedtls
Closes https://github.com/espressif/esp-idf/pull/7048

Signed-off-by: Aditya Patwardhan <aditya.patwardhan@espressif.com>
2021-09-15 22:19:04 +05:30
Aditya Patwardhan
c6c2ea975f Fix esp_mbedtls_write API
Fix esp_wolfssl_write API
Closes https://github.com/espressif/esp-idf/issues/7461
2021-09-15 21:40:54 +05:30
wuzhenghui
b2c028085a fix reg name character error 2021-09-15 21:51:20 +08:00
Shu Chen
8f283421da Merge branch 'feature/ot_example_doc' into 'master'
openthread: enrich documentation for openthread examples

See merge request espressif/esp-idf!15156
2021-09-15 13:48:17 +00:00
David Čermák
09509e1bbe Merge branch 'bugfix/mqtt_pubconnect_test' into 'master'
MQTT: Publish connect test fix

See merge request espressif/esp-idf!14292
2021-09-15 13:34:58 +00:00
Jiang Jiang Jian
bd61d4dd70 Merge branch 'bugfix/fix_blufi_init_crash_c3' into 'master'
Blufi [Nimble] Add fix to crash while running blufi on ESP32C3

See merge request espressif/esp-idf!14414
2021-09-15 13:16:01 +00:00
Ondrej Kosta
61455ddc19 Merge branch 'feature/set_phy_loopback' into 'master'
esp_eth: add PHY loopback control via esp_eth_ioctl

Closes IDF-3865

See merge request espressif/esp-idf!15096
2021-09-15 13:07:21 +00:00
Li Shuai
c5b481c6da light sleep: fix Flash leakage when its CS pin has no hardware pullup 2021-09-15 20:34:18 +08:00
Li Shuai
af4f2075ac light sleep: fix SPIRAM leakage when its CS pin has no hardware pullup 2021-09-15 20:34:18 +08:00
Armando
ea10dacf68 mspi: add octal psram get_cs_io function 2021-09-15 20:34:18 +08:00
chenjianqiang
9b53e18c44 add flash and PSRAM CS IO acquire function 2021-09-15 20:34:17 +08:00
Ivan Grokhotkov
28a89d9c29 tools: gdb_panic_server: enable esp32h2 support 2021-09-15 19:24:14 +08:00
Shu Chen
c09633d41b openthread: enrich documentation for openthread examples 2021-09-15 15:44:07 +08:00
Wang Fang
e43df5fce9 Merge branch 'docs/update_devkitc_and_wrover_kit_boards' into 'master'
docs: udpate devkitc and wrover-kit boards

Closes DOC-1241, DOC-1195, and DOC-1927

See merge request espressif/esp-idf!14945
2021-09-15 07:27:55 +00:00
Sudeep Mohanty
7eb75428d5 Merge branch 'feature/freertos-upgrade-to-10.4.3-FreeRTOSConfig.h-location-update' into 'master'
freertos: updated the location of FreeRTOSConfig.h

Closes IDF-3721

See merge request espressif/esp-idf!15119
2021-09-15 07:11:12 +00:00
David Cermak
00b1170588 CI: Update mqtt test to cleanup connect-publish-URI interaction 2021-09-15 15:07:12 +08:00
Euripedes Rocha
999710fd6a Docs: Fix Typo in license version
- Typo in Apache License version for ESP_MQTT

Merges https://github.com/espressif/esp-idf/issues/7311
2021-09-15 15:07:12 +08:00
Euripedes Rocha
307eb5f17f [MQTT/test] Fix publish connect test
- Mqtt client will return error on wrong parameters. This fix the test
  code to setup the client for each test case.
2021-09-15 15:07:12 +08:00
boarchuz
cda459672a fix bootloader build with rom flash driver
Closes https://github.com/espressif/esp-idf/pull/7508
Closes https://github.com/espressif/esp-idf/issues/6849
2021-09-15 14:51:35 +08:00
David Čermák
29fac4faa0 Merge branch 'bugfix/tcp_transport_null_deref' into 'master'
tcp_transport: Fix NULL pointer deference in esp_tls_create (GitHub PR)

Closes IDFGH-5834

See merge request espressif/esp-idf!15125
2021-09-15 06:06:17 +00:00
Jakob Hasse
418303d38a [examples]: fixed linux host example 2021-09-15 13:52:35 +08:00