Commit Graph

314 Commits

Author SHA1 Message Date
Vladimir Chistyakov
216703c0ef esp_macro: Fix CHOOSE_MACRO_VA_ARG() for C++20
Closes https://github.com/espressif/esp-idf/pull/8372
Closes https://github.com/espressif/esp-idf/issues/8371

[darian@espressif.com: Updated macro description and commit message]
Signed-off-by: Darian Leung <darian@espressif.com>
2022-03-08 20:21:26 +08:00
Ivan Grokhotkov
413375453b
esp_common: update copyright headers 2022-02-21 00:51:49 +03:00
morris
84b750cbe8 Merge branch 'refactor/lcd_soc_ll_update_according_trm' into 'master'
lcd soc ll update according trm

See merge request espressif/esp-idf!16900
2022-02-12 08:13:34 +00:00
Darian Leung
c5fd79547a freertos: Add CHOOSE_MACRO_VA_ARG selector
This commit adds a CHOOSE_MACRO_VA_ARG() selector to allow selection between two
versions of a macro based on the number of arguments. This replaces the previous
portGET_ARGUMENT_COUNT() selector.

- portYIELD_FROM_ISR() now uses CHOOSE_MACRO_VA_ARG()
- portYIELD_FROM_ISR(arg) version added to risc-v port
- Old vPortEvaluateYieldFromISR() and portGET_ARGUMENT_COUNT removed
2022-02-07 20:01:11 +08:00
Sudeep Mohanty
2fc9bd61bf ulp: refactor ulp component
This commit refactors the ulp component.
Files are now divided based on type of ulp, viz., fsm or risc-v.
Files common to both are maintained in the ulp_common folder.

This commit also adds menuconfig options for ULP within the ulp
component instead of presenting target specific configuations for ulp.
2022-01-27 11:54:42 +05:30
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
morris
1938d7c006 log: skip unused tag string wanring in esp_check.h 2022-01-24 18:45:46 +08:00
Otto Winter
eb29ee27ef bugfix (esp_common): remove infinite recursion in FLAG_ATTR operator
Closes https://github.com/espressif/esp-idf/pull/7754

Signed-off-by: Jakob Hasse <jakob.hasse@espressif.com>
2022-01-17 12:22:42 +08:00
Omar Chebib
b0afae5e60 espcoredump: fix a bug where tracked DRAM data where not dumped
Variables marked as COREDUMP_DRAM_ATTR will now be part of the core dump.

* Closes https://github.com/espressif/esp-idf/issues/8151
2022-01-06 16:53:35 +08:00
Martin Vychodil
dd938eb952 System/Security: Memprot API unified (ESP32C3)
Unified Memory protection API for all PMS-aware chips (ESP32C3)

Closes JIRA IDF-3849
2021-12-21 01:50:36 +01:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Cao Sen Miao
742f99f7d0 ESP8684: add esp8684, esp_adc_cal, esp_common 2021-11-06 17:33:44 +08:00
Ivan Grokhotkov
68233f58b4 version: starting v5.0.0 development 2021-10-20 22:25:38 +02:00
Ivan Grokhotkov
8f0ee18931 Merge branch 'feature/clang_toolchain_compat' into 'master'
Build system: minimal changes for clang compatibility

See merge request espressif/esp-idf!15168
2021-09-23 08:19:09 +00: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
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
Marius Vikhammer
6a2f7b6f88 ld: rename .ext_ram.noinit to .ext_ram_noinit
Older versions of the coredump utility tool do not correctly
handle this nameing scheme. Rename to keep forward compatibility.
2021-08-10 11:13:54 +08:00
Armando
65aa737b15 esp_common: add a case to test EXT_RAM_ATTR attribute 2021-07-31 11:02:13 +08:00
Armando
ad8e1a395c memory: port SPIRAM noinit segment support to master 2021-07-29 10:28:39 +08:00
Devan Lai
a542f1b67d esp32/test: add spiram noinit test case 2021-07-29 10:28:39 +08:00
Devan Lai
b85011c15f esp32: Add support for noinit variables in SPIRAM
Add Kconfig option SPIRAM_ALLOW_NOINIT_EXTERNAL_MEMORY
When enabled, a new linker script rule (from esp32.extram.noinit.ld)
places any variables in the .ext_ram.noinit section in SPIRAM.

This section is exempted from the startup SPIRAM memory test and is
not zero-initialized or added to the malloc pool, making it usable
for noinit variables that persist across reset.

The EXT_RAM_NOINIT_ATTR macro places variables in this section.
2021-07-29 10:28:38 +08:00
Jiang Jiang Jian
4d7f356f04 Merge branch 'bugfix/bypass_supplicant_from_sonar' into 'master'
wpa_supplicant: bypass sonar checks for upstream code

See merge request espressif/esp-idf!13472
2021-07-27 06:14:17 +00:00
yuanjm
02367b44ef esp_http_client: Fix when receive FIN, close the connection in internal.
Closes https://github.com/espressif/esp-idf/issues/7036
2021-07-23 12:16:17 +08:00
Kapil Gupta
e667d1af2e wpa_supplicant: bypass sonar checks for upstream code 2021-07-22 14:12:22 +08:00
Renz Bagaporo
702e41e1c8 esp32s2: move crypto related functions 2021-07-16 20:14:26 +08:00
Jakob Hasse
24798ab739 Merge branch 'feature/esp_common_header_only' into 'master'
esp_common: Add support for linux target providing header only library

See merge request espressif/esp-idf!14310
2021-07-16 03:47:43 +00:00
Jakob Hasse
f6031d469b [cxx]: No ##__VA_ARGS__ in public header files
* ##__VA_ARGS__ is replaced by __VA_OPT__(,)
  and __VA_ARGS if C++20 is used.
* Affected header files are: esp_log.h,
  portmacro.h and esp_check.h

* Closes https://github.com/espressif/esp-idf/pull/6692
2021-07-15 17:05:57 +08:00
Rahul Tank
d0ad0d6139 system : Add defination of ESP_ERROR_CHECK_WITHOUT_ABORT under CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT flag 2021-07-13 16:20:49 +08:00
David Cermak
a7d5798b85 esp_common: Add support for linux target providing header only library 2021-07-09 17:29:45 +02:00
Marius Vikhammer
fae5185916 CI: regenerate esp_err_to_name.c
Move esp err to name check to pre-check stage in CI to prevent failures like this.
2021-06-21 11:19:56 +08:00
Michael (XIAO Xufeng)
67743ac444 Merge branch 'feat/sdio_slave_eof' into 'master'
sdio_slave: allow getting end of frame information

See merge request espressif/esp-idf!13510
2021-06-20 16:31:54 +00:00
Konstantin Kondrashov
4c0cf40a39 efuse: Burn operation does not block reading 2021-06-18 11:52:47 +08:00
Michael (XIAO Xufeng)
591e4c4b31 sdio_slave: allow getting end of frame information 2021-06-17 09:40:08 +08:00
Marius Vikhammer
1ddaef7fc3 system: regenerate esp_err_to_name.c 2021-06-04 10:07:38 +08:00
Jiacheng Guo
52a68cb7fe openthread: integrate OpenThread network interface with esp_netif 2021-06-02 17:03:54 +08:00
Renz Bagaporo
daa13b3f62 esp32: move toolchain check 2021-03-31 19:17:33 +08:00
Renz Bagaporo
bbc599493e esp32: move common fragment definitions 2021-03-31 19:17:33 +08:00
Angus Gratton
793771e744 Merge branch 'feature/esp_error_check_return' into 'master'
esp_common: add generic check macros

Closes IDF-2271

See merge request espressif/esp-idf!12602
2021-03-31 07:08:27 +00:00
Shu Chen
6792024add esp_common: add generic check macros
Add four check maros:
* ESP_RETURN_ON_ERROR()
* ESP_GOTO_ON_ERROR()
* ESP_RETURN_ON_FALSE()
* ESP_GOTO_ON_FALSE()

Also add a `xx_ISR` version for each of them, which can be used in ISR.
2021-03-11 17:38:22 +08:00
Renz Bagaporo
6f7072fc03 arch: move esp_attr.h to esp_common 2021-02-26 13:34:29 +08:00
Renz Bagaporo
43f6c7a533 esp_common: simplify component build script 2021-02-24 12:16:37 +08:00
Renz Bagaporo
349f0cad3e esp_common: other movements 2021-02-24 12:16:37 +08:00
Renz Bagaporo
51e66d0f82 esp_common: move configs 2021-02-24 12:16:37 +08:00
Renz Bagaporo
03dce3668c esp_common: move tests 2021-02-24 12:16:37 +08:00
Renz Bagaporo
5e8799bbfe esp_common: move some headers 2021-02-24 12:16:37 +08:00
Renz Bagaporo
c16ceafa5c esp_common: move esp_err 2021-02-24 12:16:37 +08:00
Renz Bagaporo
91287f424b esp_common: move shared stack 2021-02-24 12:16:37 +08:00
Renz Bagaporo
0e0914476c esp_common: move freertos hooks 2021-02-24 12:16:37 +08:00
Renz Bagaporo
840e2c0e50 esp_common: move stack check 2021-02-24 12:16:37 +08:00
Renz Bagaporo
883aba20be esp_common: move stack check 2021-02-24 12:16:37 +08:00
Renz Bagaporo
1d55e6d6b8 esp_common: move brownout init 2021-02-24 12:16:37 +08:00
Renz Bagaporo
deaad431f4 esp_common: move task, int wdt 2021-02-24 12:16:37 +08:00
Renz Bagaporo
5fce7f4a41 esp_common: move dbg_stubs 2021-02-24 12:16:37 +08:00
Renz Bagaporo
ae15c81dbe esp_common: move to esp_hw_support 2021-02-24 12:16:37 +08:00
Angus Gratton
bd0e915c46 Merge branch 'bugfix/esp32s2_disable_bss_extram' into 'master'
esp32s2: disable bss extram option, clean up spiram init code a bit

See merge request espressif/esp-idf!11886
2021-02-19 07:01:17 +00:00
Angus Gratton
8c799e6469 Merge branch 'bugfix/newlib_header_additional_defines' into 'master'
newlib: fix possible redefinition of likely/unlikely macros

Closes IDFGH-4631

See merge request espressif/esp-idf!12370
2021-02-19 02:35:28 +00:00
Angus Gratton
c7c43df0da esp_common: Correctly disable ".bss segment placed in external memory" for ESP32-S2 & ESP32-S3
Support for this feature is still pending.

As reported by https://github.com/espressif/esp-idf/issues/6162
2021-02-19 09:13:38 +11:00
David Cermak
4e394bcbce esp-tls: Extend error types with TCP clean close error 2021-02-16 09:00:43 +01:00
Angus Gratton
e3b7337f03 esp_common: Don't redefine likely/unlikely if already defined
As these macros aren't namespaced, they may have been defined by another header.

Also reported in https://github.com/espressif/esp-idf/issues/6445
2021-02-12 15:30:24 +11:00
Angus Gratton
c8315e0110 version: Update to v4.4-dev 2021-02-10 16:07:24 +11:00
Angus Gratton
8dbb14b469 system: Log a warning when booting bootloader or app configured for FPGA use
Such a firmware may appear to work on normal chip, but not everything will function as expected.
2021-02-01 14:24:38 +11:00
Nachiket Kukade
76b2cb28d2 Add DPP Enrollee example
1. Add Example for DPP Enrollee
2. Use DPP Supplicant API's to setup connection
3. Add support for multiple channels in Bootstrapping
4. Add Unity testcase for testing Offchannel operations

Closes https://github.com/espressif/esp-idf/issues/5654
2021-01-25 13:26:33 +05:30
Nachiket Kukade
87205dc2f4 Add DPP Enrollee Support
1. Modify DPP Protocol modules for our purpose
2. Add DPP supplicant task and modules to handle DPP frames
3. Add DPP Public API's and definitions for DPP
2021-01-25 13:24:21 +05:30
Angus Gratton
fe8a891de9 Merge branch 'feature/support_esp32c3_master_cmake_secure_boot' into 'master'
bootloader/esp32c3: Support secure boot

Closes IDF-2115

See merge request espressif/esp-idf!11797
2021-01-21 08:42:49 +08:00
KonstantinKondrashov
98f726fa4b bootloader/esp32c3: Adds secure boot (not yet supported) 2021-01-19 20:51:13 +08:00
KonstantinKondrashov
d81a93ae4c esp32c3: Adds support BROWNOUT reset 2021-01-18 15:38:09 +08:00
Konstantin Kondrashov
d23c7690f2 esp32c3: Add UTs for reset_reason 2021-01-18 07:12:21 +08:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
Angus Gratton
16291ba7f5 Merge branch 'bugfix/freertos_hook_reg_invalid_arg_pr6275' into 'master'
freertos_hooks: Fix unbalance lock in deregistration for cpu functions

Closes IDFGH-4472

See merge request espressif/esp-idf!11855
2021-01-07 13:24:43 +08:00
Angus Gratton
5b68cf9de4 Merge branch 'feature/c3_ds' into 'master'
ESP32-C3 Digital Signature, HAL layer for DS.

Closes IDF-2111

See merge request espressif/esp-idf!10813
2021-01-07 13:07:28 +08:00
Jiang Jiang Jian
c05321424f Merge branch 'bugfix/lightsleep_accuracy_opt' into 'master'
Lightsleep overhead time accuracy optimization

See merge request espressif/esp-idf!11291
2021-01-06 14:02:10 +08:00
ninh
e908a32381 put pm_slp_iram_opt and pm_rtos_iram_opt related attributes in esp_pm/linker.lf 2021-01-06 03:40:28 +00:00
morris
9e7d2c0065 esp32c3: format and clean up interrupt and os port code 2021-01-05 15:39:46 +08:00
Felipe Neves
72e4655d4e interrupt: removed descriptor table from esp32c3 interrupt hal. 2021-01-05 15:39:46 +08:00
Jakob Hasse
e532a29288 [Peripheral/Security] DS peripheral driver 2021-01-05 12:26:59 +08:00
Omar Chebib
a90dcfba1a panic: Add support for SoC-level panic
Activate "invalid access to cache raises panic (PRO CPU)" CI unit
test in order to test SoC-level panics.
2020-12-31 15:46:17 +08:00
Omar Chebib
b6a450f824 panic: Add support for SoC-level panic
SoC level exceptions such as watchdog timer and cache errors are now supported.
Such exceptions now triggers a panic, giving more information about how
and when it happened.
2020-12-31 15:46:17 +08:00
Angus Gratton
db4fb49432 esp_common: Fix issue with SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY not visible on c3
Create a common symbol name to use from linker.lf fragments
2020-12-31 15:20:05 +11:00
Marius Vikhammer
68608f804c esp32c3: Misc fixes needed to build & run 2020-12-31 15:20:05 +11:00
Angus Gratton
1b0442b963 Merge branch 'feature/unify_rtc_fast_mem_as_heap_config_across_chips' into 'master'
esp_system: make rtc fast memory to heap configuration unified across chips

Closes IDF-2503

See merge request espressif/esp-idf!11693
2020-12-29 11:41:05 +08:00
Marius Vikhammer
da947d736f Docs: Add C3 support to build_docs 2020-12-28 12:25:03 +08:00
Mahavir Jain
880a63b2e9 esp_system: make rtc fast memory to heap configuration unified across chips
Closes IDF-2503
2020-12-24 09:46:35 +05:30
Angus Gratton
1449eb8e9f esp_common fpga: Fix bootloader_fill_random() emulation 2020-12-24 14:18:01 +11:00
Marius Vikhammer
4ff8c7ae98 esp_rom/esp_system: Add flag for ROM multiple UART output, esp32c3 console
From internal commit 6d894813
2020-12-24 14:18:01 +11:00
Liu Ning
57aa65eeed components/pm: Add sleep related code iram opt chioce 2020-12-23 14:45:36 +08:00
Renz Bagaporo
32dc37fbe8 esp_system: remove remaining use of old gdbstub header
Closes https://github.com/espressif/esp-idf/issues/6274
2020-12-18 09:32:24 +08:00
Axel Lin
93c79c4516 freertos_hooks: Fix unbalance lock in deregistration for cpu functions
Current code exits the deregistration for cpu functions with spinlock held when
cpuid >= portNUM_PROCESSORS. Fix it.

Fixes: 9d63e1da4a ("New Task Watchdog API (Revert of Revert)")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2020-12-16 09:10:38 +08:00
Sachin Parekh
be5563207d esp32: Provision to redirect .bss to external ram through linker fragments
Include external ram section in the linker template to process it
through linker script generation mechanism. This enables redirection of .bss section to external memory using linker fragments

libnet80211, libpp, libbt, liblwip: Redirect .bss through fragments
2020-12-04 06:32:38 +00:00
Konstantin Kondrashov
4a487af43a efuse: Add new APIs for keys, purposes, wr/rd protection
- the batch mode can be called recursively
2020-12-04 10:42:57 +08:00
dongyou
070eaea67e Add description for esp_wifi_set_inactive_time()
Add documentation to avoid using WiFi modem sleep for WiFi/BT coexistence
Remove description of unusable API esp_wifi_restart()
Update esp_now_fetch_peer discription
Update table format prblm for esp_wifi_set_max_tx_power()
Update description for ssid and password

Closes https://github.com/espressif/esp-idf/issues/6049
Closes https://github.com/espressif/esp-idf/issues/5759
Closes https://github.com/espressif/esp-idf/issues/5719
Closes https://github.com/espressif/esp-idf/issues/3762
2020-11-26 20:52:36 +08:00
Angus Gratton
b8ebb86352 esp_common: Add JIRA link to esp_efuse_mac_get_custom() 2020-11-17 22:51:07 +00:00
morris
b7ecccd901 test: fix several test build error 2020-11-16 13:30:49 +08:00
Angus Gratton
420aef1ffe Updates for riscv support
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
  longer signed/unsigned int).

Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
KonstantinKondrashov
48c498bdca esp32s2/fpga: Fix a clock configure in bootloader 2020-11-06 07:25:35 +00:00
Renz Bagaporo
988be69466 esp_hw_support: create component 2020-10-28 07:21:29 +08:00
Angus Gratton
1688289c06 Merge branch 'bugfix/esp_efuse_mac_get_default_fix_mac_range_for_internal_usage' into 'master'
esp_common: Fix range of MACs for interal usage with wrong crc

Closes IDFGH-4066

See merge request espressif/esp-idf!10922
2020-10-26 16:21:56 +08:00
Renz Bagaporo
b3a7c6e27e components: remove some unneeded headers from source files 2020-10-22 19:37:10 +08:00
Angus Gratton
4df4bd9558 Merge branch 'bugfix/clock_getres_accuracy_resolution' into 'master'
newlib: Fix clock_getres() improves accuracy

See merge request espressif/esp-idf!10743
2020-10-22 16:50:29 +08:00
KonstantinKondrashov
99226734e2 esp_common: Fix range of MACs for interal usage with wrong crc
Closes: https://github.com/espressif/esp-idf/issues/5937
2020-10-20 22:12:28 +08:00