Commit Graph

101 Commits

Author SHA1 Message Date
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
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
KonstantinKondrashov
7ae7adf16a newlib: Fix clock_getres() improves accuracy
Returns not rounded value of resolution for WITH_RTC and !WITH_FRC
2020-10-07 18:01:35 +08:00
Renz Bagaporo
6462f9bfe1 esp32, esp32s2: create esp_pm component 2020-09-25 05:24:10 +00:00
morris
6225932201 bootloader_support: add esp32-s3 initial support 2020-09-22 15:15:03 +08:00
Renz Bagaporo
c70c227591 esp_system: private system time functions for now 2020-08-11 17:52:36 +08:00
Renz Bagaporo
da88671491 esp_system: link time, not runtime, dependency on esp_timer 2020-08-11 17:52:36 +08:00
Renz Bagaporo
346cf4430d esp_system: introduce system time functions
- Introduce system time function and concept of system time provider.
esp_timer is system time provider when present.
- Set the reference point for system time, g_startup_time.
- Use the system time functions in newlib instead of calling esp_timer
functions directly
2020-08-10 15:12:38 +08:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
Angus Gratton
6798ab3a08 Merge branch 'bugfix/shared_stack_not_switching_correctly' into 'master'
bugfix/shared_stack: Fix task stack not being replaced by shared stack correctly

See merge request espressif/esp-idf!7956
2020-07-20 08:32:37 +08:00
Angus Gratton
eb43872361 version: Update to v4.3.0
v4.3.0-dev is tagged where the branches diverged, catching up with the
remaining metadata here.
2020-07-15 13:56:05 +10:00
Felipe Neves
938a73756c esp_common/shared_stack: modifed the stack switch procedure to a simpler way
esp_common/shared_stack: refactored the implemenation of shared stack function (still not working properly)

esp_expression_with_stack: refactored the shared stack function calling mechanism and updated the documentation
2020-07-14 12:56:02 +00:00
morris
a34409cffc esp_rom: extract common CRC apis into esp_rom_crc.h 2020-06-23 16:40:14 +08:00
Chen Jian Xing
ebb2caa940 esp_wifi: re-enable build wifi example 2020-06-02 17:38:22 +08:00
Darian Leung
11d96b39d0 esp_ipc: Move to new component
This commit moves esp_ipc into a separate component.
2020-05-18 16:51:45 +08:00
Xia Xiaotian
526a3e49ed esp_wifi: When WiFi TSF is active, skip light sleep
* Add an API for peripherals to set callbacks to skip light sleep

* Make WiFi power save example work
2020-05-13 19:31:36 +08:00
Ivan Grokhotkov
c5f664d4ac esp_system: remove duplicated esp_digital_reset function
esp_digital_reset was defined both in system_api.c and panic_handler.c
2020-05-04 10:13:14 +00:00
Darian Leung
b097dd0a79 Add Task Watchdog backtrace printing
This commit makes the Task Watchdog print the backtrace of both
cores when it times out.
2020-04-27 18:11:29 +00:00
Darian Leung
91841a53ff WDT: Add LL and HAL for watchdog timers
This commit updates the watchdog timers (MWDT and RWDT)
in the following ways:

- Add seprate LL for MWDT and RWDT.
- Add a combined WDT HAL for all Watchdog Timers
- Update int_wdt.c and task_wdt.c to use WDT HAL
- Remove most dependencies on LL or direct register access
  in other components. They will now use the WDT HAL
- Update use of watchdogs (including RTC WDT) in bootloader and
  startup code to use the HAL layer.
2020-03-26 02:14:02 +08:00