Commit Graph

118 Commits

Author SHA1 Message Date
Jakob Hasse
a6cbf68991 compiler: replaced noreturn by __noreturn__ in header files
* noreturn may be replaced by third-party macros,
  rendering it ineffective

* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-18 12:49:40 +08:00
Jakob Hasse
2379ee36ab cxx: gnu++23 -> gnu++2b for clang compatibility, added docs and test
* Using -std=gnu++2b now for both gcc and clang as clang
  does not recognize gnu++23 yet
* Added a build test app to check the C++ standard in IDF
* Updated english docs to reflect the change to C++23
2023-05-11 17:48:38 +08:00
Li Shuai
8c18393d23 regdma: add regdma link operation api support 2023-02-15 11:46:36 +08:00
Omar Chebib
cd21058097 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-11-21 16:18:08 +08:00
KonstantinKondrashov
1a9ca94ac6 ci: Fix environment variable IDF_CI_BUILD is not set 2022-11-08 18:23:39 +08:00
Ivan Grokhotkov
012fafb827
versions: Update version to 5.1.0 2022-08-04 09:55:43 +02:00
morris
c4e84751a5 driver: fix public header exceptions for driver 2022-07-22 00:12:36 +00:00
Ivan Grokhotkov
9a00475bd9
esp_common: include stdlib.h into esp_err.h for 'abort' declaration
Closes https://github.com/espressif/esp-idf/issues/9093
2022-07-12 17:01:47 +02:00
Ivan Grokhotkov
9ff37d122a
esp_common: add handling for designated inits for C++20 2022-06-17 16:44:17 +02:00
jingli
1781ce3b98 further fix rtc attr for esp32c2 2022-05-28 08:52:55 +00:00
jingli
84628ba883 fix rtc attr for esp32c2 2022-05-28 08:52:55 +00:00
Armando
b5de3ec953 esp_common: rename EXT_RAM_ATTR to EXT_RAM_BSS_ATTR to make it clearer
EXT_RAM_ATTR is deprecated. To put .bss on PSRAM, use this new macro EXT_RAM_BSS_ATTR
2022-04-19 19:48:00 +08:00
Darian Leung
94c2467dd6 esp_common: Rename esp_macro.h to esp_macros.h 2022-03-10 21:22:35 +08:00
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
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
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
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
ad8e1a395c memory: port SPIRAM noinit segment support to master 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
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
Michael (XIAO Xufeng)
591e4c4b31 sdio_slave: allow getting end of frame information 2021-06-17 09:40:08 +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
5e8799bbfe esp_common: move some headers 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
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
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
KonstantinKondrashov
98f726fa4b bootloader/esp32c3: Adds secure boot (not yet supported) 2021-01-19 20:51:13 +08:00
Jakob Hasse
e532a29288 [Peripheral/Security] DS peripheral driver 2021-01-05 12:26:59 +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
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
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
Michael (XIAO Xufeng)
647dea9395 soc: combine xxx_caps.h into one soc_caps.h
During HAL layer refactoring and new chip bringup, we have several
caps.h for each part, to reduce the conflicts to minimum. But this is
The capabilities headers will be relataive stable once completely
written (maybe after the featues are supported by drivers).

Now ESP32 and ESP32-S2 drivers are relative stable, making it a good
time to combine all these caps.h into one soc_caps.h

This cleanup also move HAL config and pin config into separated files,
to make the responsibilities of these headers more clear. This is
helpful for the stabilities of soc_caps.h because we want to make it
public some day.
2020-10-17 16:10:15 +08:00
Shubham Kulkarni
bcdc8ac28f esp_idf_version.h: Add __ASSEMBLER__ flag to fix build failure with assembly files 2020-10-15 20:09:23 +05:30