Commit Graph

1139 Commits

Author SHA1 Message Date
Omar Chebib
c017f006cd Merge branch 'contrib/github_pr_9255' into 'master'
Fix datatype conversion compiler error #9254 (GitHub PR)

Closes IDFGH-7713

See merge request espressif/esp-idf!18872
2022-07-06 10:37:30 +08:00
Darian
91fb280d4c Merge branch 'bugfix/twdt_deinit_freertos_smp' into 'master'
TWDT: esp_task_wdt_deinit() should deregister idle hook callback under CONFIG_FREERTOS_SMP

Closes IDF-5461

See merge request espressif/esp-idf!18867
2022-07-06 00:45:58 +08:00
Darian Leung
c7fbcd754f esp_system: TWDT needs to deregister idle hook callback on esp_task_wdt_deinit()
This commit fixes a bug in esp_task_wdt_deinit() where under CONFIG_FREERTOS_SMP,
the idle hook callback is not deregistered.
2022-07-05 13:40:46 +08:00
Omar Chebib
3c9856bdd1 (Xtensa) Build: add .xt.prop and .xt.lit to the compiled ELF file
Adding prop and lit sections to the ELF will let the debugger and the disassembler
have more info about data bytes present in the middle of the Xtensa
instructions, usually used for padding.
2022-07-05 04:39:29 +00:00
Zim Kalinowski
e4b692b6f6 fixing build problem 2022-07-04 22:20:26 +02:00
Omar Chebib
cfeaa50b53 Merge branch 'bugfix/esp32c2_missing_eh_frame_sections' into 'master'
espsystem: add missing eh_frame sections on esp32c2

See merge request espressif/esp-idf!18629
2022-07-04 17:13:40 +08:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
Omar Chebib
fa9856c815 espsystem: add missing eh_frame sections on esp32c2 2022-06-30 02:51:37 +00:00
0xFEEDC0DE64
d0c10eb83a Fix datatype conversion compiler error #9254 2022-06-29 14:39:36 +02:00
Armando (Dou Yiwen)
4dbd2c7e30 Merge branch 'refactor/move_spi_necessary_private_headers' into 'master'
spi: move spi_common_internal to esp_private

See merge request espressif/esp-idf!18146
2022-06-28 15:51:22 +08:00
Alexey Lapshin
69b317368e esp_system: Fix esp32c2/esp32c3/esp32h2 TLS size
The change fixes thread-local-storage size by removing .srodata section
from it. It initially was included in TLS section by mistake.
The issue was found when stack size increased after building applications
with GCC-11.1 compiler. Stack size became bigger because some new data
appeared in .srodata. See more details here:
adce62f53d
2022-06-27 03:29:08 +00:00
Armando
f31d88e3fe spi: move spi_common_internal to esp_private 2022-06-24 19:12:13 +08:00
Mahavir Jain
0a12eab32e
esp_system: move MEMPROT related configuration to soc capability header
Closes IDF-4506
2022-06-23 10:29:42 +05:30
morris
d178d1d58a Merge branch 'bugfix/esp32s2_startup_garbled_output' into 'master'
esp_system: fix garbled UART output on startup on esp32s2

Closes IDFGH-7615

See merge request espressif/esp-idf!18549
2022-06-21 15:02:35 +08:00
Martin Vychodil
692b9980b5 Merge branch 'feature/memprot_api_unified_s3_2' into 'master'
System/Security: Memprot API unified (ESP32S3)

See merge request espressif/esp-idf!16169
2022-06-20 17:34:22 +08:00
Martin Vychodil
339fcbf14d System/Security: Memprot API unified (ESP32S3)
Unified Memory protection API for all PMS-aware chips - ESP32S3 port
2022-06-20 02:36:44 +00: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
Darian Leung
95955ed170 esp_system: Workaround esp_ipc_isr_stall_other_cpu() deadlock with SMP FreeRTOS
SMP FreeRTOS uses a single kernel lock for all critical sections. There is a known
issue with esp_ipc_isr_stall_other_cpu() that can cause dead if the other CPU is
already in a critical section.

This commit adds a temporary workaround to reduce the chance of deadlock by taking
the SMP FreeRTOS kernel lock first before stalling the other CPU.

See IDF-5257 for more details.
2022-06-17 15:37:07 +08: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
Armando (Dou Yiwen)
0b80546f8e Merge branch 'feature/new_esp_psram_component' into 'master'
esp_psram: new esp psram component

Closes IDF-4318, IDF-4382, IDF-4841, and IDFGH-7192

See merge request espressif/esp-idf!18050
2022-06-15 19:16:56 +08:00
Darian
e213e66ba3 Merge branch 'refactor/esp_hw_support_cpu' into 'master'
esp_hw_support: Add new esp_cpu.h abstraction

Closes IDF-4769

See merge request espressif/esp-idf!17091
2022-06-14 21:11:30 +08:00
Michael (XIAO Xufeng)
7b8e5888ca Merge branch 'refactor/add_clk_tree_ll' into 'master'
clk_tree: Stage3 - HAL for clock subsystem

Closes IDF-4334

See merge request espressif/esp-idf!18270
2022-06-14 17:16:29 +08:00
Armando
cdad8a02fe esp_psram: remove g_spiram_ok 2022-06-14 15:44:27 +08:00
Armando
38e5043ae8 esp_psram: new psram component 2022-06-14 15:44:27 +08:00
Darian Leung
a8a3756b38 hal: Route CPU and Interrupt Controller HAL/LL to esp_cpu calls
This commit makes changes to cpu_ll.h, cpu_hal.h, and interrupt_controller_hal.h:

- Moved to esp_hw_support in order to be deprecated in the future
- HAL/LL API now route their calls to esp_cpu.h functions instead

Also updated soc_hal.h as follows:

- Removed __SOC_HAL_..._OTHER_CORES() macros as they dependend on cpu_hal.h
- Made soc_hal.h and soc_ll.h interfaces always inline, and removed soc_hal.c.

This commit also updates the XCHAL_ERRATUM_572 workaround by

- Removing it's HAL function and invoking the workaround it directly the bootloader
- Added missing workaround for the ESP32-S3
2022-06-14 14:40:03 +08:00
Konstantin Kondrashov
7d942e0a5d Merge branch 'feature/efuse_rst_is_treated_as_poweron_rst' into 'master'
reset_reasons: EFUSE_RST is treated as POWERON_RST + checks errors of eFuse BLOCK0

Closes IDF-3702

See merge request espressif/esp-idf!14742
2022-06-13 21:26:13 +08:00
songruojing
03477a59db rtc_clk: Fix rtc8m calibration failure after cpu/core reset
1. make sure 8md256 clk is enabled before calibration
2. improve bootloader and application startup 8m, 8md256 enable logic
2022-06-13 17:47:51 +08:00
songruojing
c8752cee6a clk_tree: Refactor rtc_clk.c by adding HAL layer for clock subsystem 2022-06-13 17:47:50 +08:00
Mitch Bradley
8d9e110a04 Reverts Backtrace: format to what it used to be
Was:  Backtrace: N:M N:M N:M ...
Now:  Backtrace:N:MN:M N:M ...

The problem with the new format is that it is hard to parse and
breaks the parser that is used by PlatformIO.  The old format
is much more reasonable.  I do not see how the pattern in IDFDUT.py
can work with the new format, due to the missing space after the :
2022-06-10 18:33:46 -10:00
Armando
44f771c713 psram: support s3 copy flash to psram 2022-06-10 10:39:29 +08:00
KonstantinKondrashov
5ec9baff36 efuse: Checks errors of 4x coding scheme for BLOCK0 if so then abort 2022-06-09 17:49:03 +08:00
KonstantinKondrashov
46f0313d6b reset_reasons: EFUSE_RST is treated as POWERON_RST
ESP32 does not have the EFUSE_RST, the rest chips has this reset reason.
2022-06-09 17:49:03 +08:00
Cao Sen Miao
6589daabb9 MMU: Add configurable mmu page size support on ESP32C2 2022-06-08 19:34:31 +08:00
Fu Hanxi
da947e2544 Merge branch 'test/remove_rtc_power_pytest' into 'master'
test_rtc: remove invalid test case file

See merge request espressif/esp-idf!18374
2022-06-07 23:56:28 +08:00
Michael (XIAO Xufeng)
773715d900 Merge branch 'feature/support_refresh_brownout_v1' into 'master'
spi_flash: send reset when brownout detected on XMC flash

Closes IDF-3882

See merge request espressif/esp-idf!16873
2022-06-06 16:27:58 +08:00
Michael (XIAO Xufeng)
e372710b35 test_rtc: remove invalid test case file 2022-06-06 00:36:21 +08:00
Michael (XIAO Xufeng)
d798662421 Merge branch 'bugfix/s3_sleep_voltage' into 'master'
esp32s3: fixed dangerous power parameters in sleep modes

See merge request espressif/esp-idf!18168
2022-06-04 00:47:32 +08:00
morris
067e0f65bd Merge branch 'bugfix/c2_uart_default_pin_num' into 'master'
C2: Added default UART pin numbers

See merge request espressif/esp-idf!18351
2022-06-03 20:35:11 +08:00
Michael (XIAO Xufeng)
4e231f9dac ci: partially enable pytest for esp32c2 2022-06-02 15:07:53 +08:00
Michael (XIAO Xufeng)
6a8aed12ee ci: partially enable ut tests for esp32c2
Disabled test cases are tracked in:

 IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131

- test_fatfs: IDF-5136

- test_pm: IDF-5053

- test_cache_mmu: IDF-5138

- test_partitions: IDF-5137

- test_vfs: IDF-5139

- test_freertos: IDF-5140

- test_wpa_supplicant: IDF-5046

- test_mbedtls: IDF-5141

- test_pthread: IDF-5142

- test_protocomm: IDF-5143

- test_lightsleep: IDF-5053

- test_taskwdt: IDF-5055

- test_tcp_transport: IDF-5144

- test_app_update: IDF-5145

- test_timer: IDF-5052

- test_spi: IDF-5146

- test_rtc_clk: IDF-5060

- test_heap: IDF-5167

ci: fixed issues for tests of libgcc, ets_timer, newlib

test_pm: support on C2
2022-06-02 14:23:35 +08:00
Jakob Hasse
11a8c95d11 bugfix (esp_system): Added default UART pin numbers for C2 2022-06-02 11:22:20 +08:00
Cao Sen Miao
6a2d3509dc spi_flash: Making XMC flash works more stable when brownout detected 2022-06-02 10:38:55 +08:00
Cao Sen Miao
895a3e1bb2 esp_intr: Split RTC interrupt, making some of signals can be triggered with cache disabled 2022-06-02 10:38:55 +08:00
Michael (XIAO Xufeng)
1d018fd3bd test_rtc: add test_app to test power consumption 2022-06-01 21:03:54 +08:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Konstantin Kondrashov
b824f68b35 Merge branch 'feature/move_dport_workaround_to_g0' into 'master'
dport_access: Move DPORT workaround to G0

Closes IDF-2177

See merge request espressif/esp-idf!17961
2022-06-01 12:11:12 +08: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
KonstantinKondrashov
ac4c7d99fe dport: Move DPORT workaround to G0 2022-05-31 13:44:18 +08:00
Anton Maklakov
3c8a1390a0 Merge branch 'bugfix/esp-system-warnings' into 'master'
system: minor fixes of warnings

See merge request espressif/esp-idf!18310
2022-05-30 19:33:01 +08:00
Jiang Jiang Jian
2bc5d58807 Merge branch 'feature/support_sleep_for_esp32c2' into 'master'
esp32c2: support power management

Closes IDF-4440 and IDF-4617

See merge request espressif/esp-idf!18174
2022-05-30 17:57:18 +08:00
Anton Maklakov
0c549320b2 esp_system: intentionally suppress -Wstringop-overread 2022-05-30 14:48:12 +07:00
morris
4352c39e3e Merge branch 'feature/cache_c2_support' into 'master'
cache: access error & illegal error ll functions

Closes IDF-3820

See merge request espressif/esp-idf!18203
2022-05-30 11:40:11 +08:00
Darian Leung
daa950d9ed freertos: Replace portSET_INTERRUPT_MASK_FROM_ISR() call for SMP
The behavior of portSET_INTERRUPT_MASK_FROM_ISR() has changed in SMP FreeRTOS. It's
previous behavior is now implemented in portDISABLE_INTERRUPTS() and portRESTORE_INTERRUPTS().

This commit replaces all portSET_INTERRUPT_MASK_FROM_ISR() and portCLEAR_INTERRUPT_MASK_FROM_ISR()
calls with portDISABLE_INTERRUPTS() and portRESTORE_INTERRUPTS() respectively
2022-05-30 06:11:24 +08:00
jingli
9eec740a16 enable external 32k osc for esp32c2 2022-05-27 19:29:29 +08:00
Darian
3b57f6d40c Merge branch 'bugfix/task_wdt_freertos_smp_unicore_build' into 'master'
esp_system: FIx TWDT SMP FreeRTOS unicore build error

See merge request espressif/esp-idf!18241
2022-05-26 09:20:33 +08:00
Song Ruo Jing
cf32e49aeb Merge branch 'refactor/cleanup_rtc_h' into 'master'
clk_tree: Prework2 of introducing clock subsystem control

Closes IDF-4934

See merge request espressif/esp-idf!17861
2022-05-26 09:16:47 +08:00
Darian Leung
8af172ec46 esp_system: FIx TWDT SMP FreeRTOS unicore build error
When configNUM_CORES = 1, vTaskCoreAffinityGet() is not defined. This
commit fixes the TWDT to omit calls to vTaskCoreAffinityGet() when building
for unicore.
2022-05-25 13:51:17 +08:00
Sachin Parekh
9a763f4ff2 esp32c2: Enable IRAM/DRAM split using PMP 2022-05-24 21:36:06 +05:30
songruojing
a5b09cf015 rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
soc/clk_tree_defs.h
2022-05-24 22:59:41 +08:00
Marius Vikhammer
0687daf2c8 kconfig: move remaining kconfig options out of target component
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
Armando
8532d09259 cache: access error & illegal error ll functions 2022-05-23 15:00:47 +08:00
Darian Leung
bd8b03888c esp_system: Tidy up INT WDT
This commit tidys the INT WDT code formatting, comments, and API descriptions.
2022-05-18 20:12:25 +08:00
Darian Leung
7dc6fd9ff6 esp_system: Make interrupt WDT private API
This commit makes the interrupt WDT API private. To use the API,
IDF components should now '#include "esp_private/esp_int_wdt.h"'
2022-05-18 20:12:25 +08:00
Darian
4d751b9d6b Merge branch 'feature/task_watchdog_freeertos_smp' into 'master'
esp_system: Add task watchdog user feature and fix SMP FreeRTOS idle task watchdog

Closes IDF-3340

See merge request espressif/esp-idf!17768
2022-05-17 15:13:43 +08:00
Michael (XIAO Xufeng)
b920676e59 pm: add test for RTC using 8MD256 as clock source 2022-05-14 22:35:41 +08:00
Darian Leung
7c02bde904 esp_system: Update task watchdog unit tests and example
This commit does the following:

- Update existing unit tests that use the TWDT to call the new
  esp_task_wdt_init() API
- Add a set of dedicate TWDT unit tests
- Updates the TWDT example
2022-05-13 18:01:28 +08:00
Darian Leung
5953bca376 esp_system: Add arbitrary user feature to TWDT
This commit moidifies the TWDT as follows:

- Adds a feature to allows subscribing arbitrary users to the TWDT
- Changes esp_task_wdt_init() API to accept configuration structure
- Changes esp_task_wdt_init() and esp_task_wdt_deinit() to subscribe/unsubscribe
  idle tasks of various cores.
- Adds support for SMP FreeRTOS idle tasks
- Updates startup code TWDT initialization
- Updates API documentation
2022-05-13 18:01:28 +08:00
Darian Leung
4877a9fcba esp_system: Refactor task_wdt
This commit refactors the task watchdog as follows:

- Renamed variables, types, and functions
- Replaced manual linked list implementation with SLIST()
- Moved calloc()/free() calls out of critical sections
- Shortened ISR critical sections
- Updated API description
- Updated code formatting
2022-05-13 17:57:44 +08:00
morris
24f5fecef0 hal: use ROM implementation for systimer and wdt on esp32c2 2022-05-12 05:18:57 +00:00
morris
334126315f esp32c2: level up from preview targets 2022-05-12 05:18:57 +00:00
morris
523c51818c Merge branch 'feature/c2_soc_hwsupport_code' into 'master'
ESP32-C2 (729) RTC update (Clock, PM)

Closes IDF-3833 and IDF-4874

See merge request espressif/esp-idf!17311
2022-05-11 11:23:57 +08:00
zlq
6336f8191e C2 rtc code 2022-05-09 17:50:54 +08:00
morris
722fde218d uart: add default source clock for all targets 2022-05-09 11:26:30 +08:00
wuzhenghui
ba76b10d3f esp32c2: fix ut case header imssing 2022-05-05 17:41:11 +08:00
wuzhenghui
b530632f33 esp32c2: fix soc_caps defines 2022-05-05 17:41:11 +08:00
morris
595df1d3fa Merge branch 'refactor/move_rtc_ctrl_to_esp_hw_support' into 'master'
hw_support: move rtc_ctrl from driver to hw_support

See merge request espressif/esp-idf!17963
2022-05-05 11:57:31 +08:00
Ivan Grokhotkov
81f2a94f9a
esp_system: make dependencies on vfs and esp_wifi optional 2022-05-02 20:47:17 +02:00
morris
9ab4abfb46 hw_support: move rtc_ctrl from driver to hw_support 2022-04-29 14:28:09 +08:00
Simon
e4d85807ea Merge branch 'feature/spi_flash_esp8684_support' into 'master'
spi_flash: refactor spi_flash clock configuration logic and support esp32c2

Closes IDF-4474, IDF-4025, and IDF-4066

See merge request espressif/esp-idf!16602
2022-04-27 11:05:45 +08:00
Cao Sen Miao
4418a855ba spi_flash: refactor the spi_flash clock configuration, and add support for esp32c2 2022-04-26 15:22:37 +08: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
Marius Vikhammer
45c1d1cba2 Merge branch 'feature/move_target_kconfig_2' into 'master'
system: move kconfig options out of target component

See merge request espressif/esp-idf!17321
2022-04-24 13:29:43 +08:00
Marius Vikhammer
d2872095f9 soc: moved kconfig options out of the target component.
Moved the following kconfig options out of the target component:
 * CONFIG_ESP*_DEFAULT_CPU_FREQ* -> esp_system
 * ESP*_REV_MIN -> esp_hw_support
 * ESP*_TIME_SYSCALL -> newlib
 * ESP*_RTC_* -> esp_hw_support

Where applicable these target specific konfig names were merged into
a single common config, e.g;
CONFIG_ESP*_DEFAULT_CPU_FREQ -> CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ
2022-04-21 12:09:43 +08:00
Armando (Dou Yiwen)
5bb59b00e7 Merge branch 'feature/support_bss_on_psram' into 'master'
psram: support .bss on psram on esp32s3

Closes IDF-4814, IDF-4396, IDFGH-7148, and IDFGH-7153

See merge request espressif/esp-idf!17557
2022-04-20 11:16:28 +08: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
Armando
f8249550f8 psram: support .bss on psram on esp32s3 2022-04-19 19:48:00 +08:00
Roland Dobai
667edfa7a9 Merge branch 'bugfix/s3_otg_compressed_flash_with_stub' into 'master'
esptool_py: Support ESP32-S3 USB OTG compressed flashing with stub

Closes ESPTOOL-372

See merge request espressif/esp-idf!17559
2022-04-14 18:26:18 +08:00
morris
cb5507f11c Merge branch 'feature/clk_tree_defs' into 'master'
clk_tree: prework of introducing clock subsystem control

Closes IDF-4892

See merge request espressif/esp-idf!17631
2022-04-13 10:36:56 +08:00
Roland Dobai
3b161a40d6 esptool_py: Update to support ESP32-S3 USB OTG compressed flashing with stub 2022-04-12 08:53:12 +00:00
songruo
60bb5c913d clk_tree: prework of introducing clk subsystem control
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
   upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
   Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
morris
483149e41b global: fix some potential out-of-bounds issue
...that found by Coverity Scan
2022-04-08 11:05:43 +08:00
Konstantin Kondrashov
a7578a68c0 Merge branch 'bugfix/ipc_blocking' into 'master'
esp_ipc: Fix a case when ipc_task() can wake up blocking task early

Closes IDFGH-6939

See merge request espressif/esp-idf!17508
2022-03-31 13:28:39 +08:00
morris
29e9b5b46a hw_support: move periph_ctrl from driver to hw_support 2022-03-29 11:53:31 +08:00
KonstantinKondrashov
915168c36d esp_ipc: Fix a case when ipc_task() can wake up blocking task early
Closes https://github.com/espressif/esp-idf/issues/8559
2022-03-25 21:15:40 +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
Marius Vikhammer
5618ba80f9 Merge branch 'feature/refactor_esp_sys_deps' into 'master'
esp-system: removed esp_phy and nvs dependencies, change app update and pm to weak dependencies

Closes IDF-4656

See merge request espressif/esp-idf!17092
2022-03-25 17:17:43 +08:00
Anton Maklakov
68e5d9d585 Remove IRAM_ATTR from any function declarations
IRAM_ATTR expands to a unique section attribute. Applying it to both
declaration and definition results in a section conflict.
2022-03-22 09:58:50 +00:00
Marius Vikhammer
9274a062fb esp-system: removed esp_phy and nvs dependencies, change app update and pm to weak dependencies 2022-03-22 11:19:32 +08:00
Ivan Grokhotkov
2f9d47c708 Merge branch 'feature/gdbstub_rt_multicore' into 'master'
Extension for GDBstub runtime component (multicore, breakpoints, steps etc...)

See merge request espressif/esp-idf!13896
2022-03-17 19:59:29 +08:00
Marius Vikhammer
453516fbbe Merge branch 'bugfix/replace_deprecated_options' into 'master'
kconfig: replace deprecated options with new values

See merge request espressif/esp-idf!17494
2022-03-16 09:32:55 +08:00
Marius Vikhammer
0fbae992dd config: removed references to non-existing kconfig options 2022-03-15 18:32:22 +08:00
Marius Vikhammer
ca3c056ac9 kconfig: replace deprecated options with new values 2022-03-15 16:28:53 +08:00
Anton Maklakov
0d86151b82 esp_system: fix ubsan builtins' prototypes to suppress Wbuiltin-declaration-mismatch 2022-03-14 09:31:00 +00:00
Armando (Dou Yiwen)
6ed3ffbbf1 Merge branch 'refactor/remove_redundant_rom_cache_dependency' into 'master'
cache: remove redundant rom cache dependency in bootloader

Closes IDF-4523

See merge request espressif/esp-idf!17077
2022-03-12 10:11:39 +08:00
Armando
c1cbd7bbf6 cache/mmu: implememnt cache and mmu hal APIs in bootloader 2022-03-11 22:43:11 +08:00
Laukik Hase
3b3b668256 ci: Disable failing UTs
- For ESP32 | SPIRAM_MALLOC_ALWAYSINTERNAL=0
2022-03-10 05:01:17 +00:00
Laukik Hase
6f9fc0ba8e esp_system: Place ipc_task semaphores on DRAM
- For CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL < 92, the ipc_task semaphores
  were allocated on SPIRAM rather than internal RAM
- SemaphoreHandle_t has a size of 92, thus the failure
2022-03-10 05:01:17 +00:00
Marius Vikhammer
934a3951b8 Merge branch 'feature/s2_s3_support_ext_mem_stack' into 'master'
soc: support placing task stacks in external memory for S2 and S3

Closes IDF-2797 and IDF-1805

See merge request espressif/esp-idf!16186
2022-03-09 11:57:31 +08:00
Darian Leung
27f5c90e2e freertos: Fix usage of vTaskSuspendAll()/xTaskResumeAll()
IDF FreeRTOS uses vTaskSuspendAll()/xTaskResumeAll() to stop preemption
on a particular core. However, those functions behave differently in FreeRTOS SMP.
This commit replaces all calls of vTaskSuspendAll()/xTaskResumeAll() with
vTaskPreemptionDisable()/vTaskPreemptionEnable() when compiling with SMP FreeRTOS.
2022-03-08 14:59:18 +08:00
Sudeep Mohanty
a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Marius Vikhammer
e543e97c7b system: fix SET_STACK macro crashing in windowoverflow8 exception
If a windowoverflow8 happened after changing the SP, the exception handler would look for
the extra save area by looking at the previous frame's SP. This SP would be a garbage value
and could cause the windowoverflow exception to write to invalid memory ares.
2022-03-04 15:25:52 +08:00
Marius Vikhammer
29db173536 Merge branch 'feature/move_target_kconfig' into 'master'
system: move kconfig options out of target component

See merge request espressif/esp-idf!16893
2022-03-03 09:39:54 +08:00
Omar Chebib
2571aaf3c9 G0: target component (components/esp32*) doesn't depend on driver anymore 2022-03-02 04:21:00 +00:00
Marius Vikhammer
bb88338118 system: move kconfig options out of target component
Moved the following kconfig options out of the target component:
 * ESP32_X_BROWNOUT_* -> esp_system
 * ESP32_X_DEBUG_OCDAWARE -> esp_system
 * APP_NO_BLOBS -> build type (main kconfig)
2022-03-02 01:22:26 +00:00
Dmitry
a8c3fe56c8 This commit add to GDBstup:
1. Multicore suupor
2. Stepping
3. Console output
4. Update example + readme
5. Jumps
2022-03-01 19:49:24 +03:00
Mahavir Jain
15ab3466fa Merge branch 'contrib/github_pr_8467' into 'master'
Fix typos. (GitHub PR)

Closes IDFGH-6843

See merge request espressif/esp-idf!17289
2022-02-28 16:50:33 +08:00
Mahavir Jain
47fb454baa esp_system: Fix copyright header 2022-02-28 11:41:02 +05:30
Konstantin Kondrashov
44e5ac2c59 Merge branch 'feature/efuse_hal' into 'master'
hal: Adds efuse hal layer

See merge request espressif/esp-idf!16354
2022-02-28 13:38:43 +08:00
Eva Dengler
9fd621c7ad Fix typos.
alignement -> alignment
2022-02-25 19:32:15 +01:00
KonstantinKondrashov
9605f3eb1a soc: Adds efuse hal
Replaced eFuse ROM funcs with hal layer
2022-02-24 22:20:09 +08:00
Alexey Gerenkov
dea45a9d72 riscv: Use semihosting to set breakpoint and watchpoint when running under debugger 2022-02-24 08:55:40 +00:00
Martin Vychodil
0e52b9d230 System: Memory section .rtc.dummy removed
ESP32H2 doesn't support access to RTC memory through various buses, thus .rtc.dummy section
makes no sense here. The section is used for blind padding in LD script - to provide proper section offsets)
2022-02-22 13:52:46 +01:00
Song Ruo Jing
da3b7f106b Merge branch 'feature/support_esp32c2_reset_cause' into 'master'
esp_system: support esp32c2 reset reason

Closes IDF-3832 and IDF-4244

See merge request espressif/esp-idf!17158
2022-02-22 03:12:44 +00:00
songruojing
b860fa96e0 esp_system: support esp32c2 reset reason 2022-02-15 13:50:22 +08:00
Marius Vikhammer
edb76f14d6 esp_timer: remove legacy ESP32 FRC timer implementation. 2022-02-10 15:17:49 +08:00
Darian
61639fe1ec Merge branch 'refactor/freertos_remove_legacy_types' into 'master'
FreeRTOS: Remove usage of legacy data types

Closes IDF-4566

See merge request espressif/esp-idf!16680
2022-02-10 04:57:00 +00:00
Song Ruo Jing
40d1102ca5 Merge branch 'bugfix/cpu_reset_perip_clk_disable' into 'master'
esp_system: change range comparsion for reset reason to specifc cpu reset reason comparison

See merge request espressif/esp-idf!15492
2022-02-10 03:44:15 +00:00
Darian Leung
57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
songruojing
c1dedb33fa esp_system: replace the range comparsion for reset reason in perip clk init with specific reset reason check, also add a test case in LEDC to check for the perip clk not being disabled after cpu reset 2022-02-09 15:54:34 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Marius Vikhammer
0ffeaf9350 Merge branch 'feature/confgen_rename_many_to_one' into 'master'
kconfig: update confgen to handle sdkconfig.rename with target specific markup

Closes IDF-4544

See merge request espressif/esp-idf!16949
2022-02-08 02:38:22 +00:00
Darian Leung
3336b057d6 xtensa: Move saving of a0 register to match upstream
Upstream xtensa exception handling will save PS, PC, and a0 registers
together when saving a minimal context. This commit ppdates the xtensa
exception handling to match upstream behavior.
2022-02-03 17:08:14 +08:00
Marius Vikhammer
23c55946a6 kconfig: also parse target specific sdkconfig.rename.TARGET files
Adds functionality for target specific sdkconfig.rename files which can be
used when certain renames are only needed for a specific target.
2022-01-31 11:36:08 +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
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Zim Kalinowski
d0890037c5 Merge branch 'feature/esp_ipc_isr_init_in_ipc_task' into 'master'
esp_system: ipc_isr does not use its own initialization task, it is done from ipc_task()

See merge request espressif/esp-idf!16495
2022-01-18 00:54:37 +00:00
Ivan Grokhotkov
876f4d6a1c vfs: add support for semihosting on ESP32-C3 2022-01-14 17:29:03 +01:00
KonstantinKondrashov
f49787ac9f esp_system: ipc_isr does not use its own initialization task, it is done from ipc_task()
It helps to reduce the memory usage at startup.

Closes https://github.com/espressif/esp-idf/issues/8111
2022-01-13 21:28:08 +08:00
Armando
7240ad2b3a psram: refactor spiram.c on esp32s2 2022-01-13 11:07:57 +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
Cao Sen Miao
3a4db97cec spi_flash: move patch files to common rom patch folder 2021-12-30 14:05:12 +08:00
Cao Sen Miao
3dd1cfea18 spi_flash: refactor spi_flash.h to decline duplicated code 2021-12-30 14:05:12 +08:00
Sudeep Mohanty
e22b4007d3 esp_hw_support: Removed deprecated CPU util functions
The following files were deleted:
- components/esp_hw_support/include/soc/cpu.h
- components/soc/esp32s3/include/soc/cpu.h

The following functions are deprecated:
- get_sp()

The following functions declared in soc/cpu.h are now moved to esp_cpu.h:
- esp_cpu_configure_region_protection()

The following functions declared in soc/cpu.h are now moved to components/xtensa/include/esp_cpu_utils.h:
- esp_cpu_process_stack_pc()

All files with soc/cpu.h inclusion are updated to include esp_cpu.h instead.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-28 16:58:37 +05:30
morris
0afafb743d Merge branch 'bugfix/app_compatible_with_3_1_bootloader' into 'master'
esp_system: Fix RTC_WDT protection in esp_restart_noos

See merge request espressif/esp-idf!16480
2021-12-24 03:43:52 +00:00
Martin Vychodil
16891e7a6c System: fix RTCFAST section alignment
This bugfix contains 3 fixes:
1. .rtc_dummy section is removed (not needed for C3)
2. .rtc_text section is padded with 16B for possible CPU prefetch
3. .rtc_text section is aligned to 4B boundary to comply with PMS Memprot requirements
2021-12-23 19:58:39 +08:00
KonstantinKondrashov
ff96769b0e esp_system: Fix RTC_WDT protection in esp_restart_noos
Fixed issue - v4.3 app not compatible with 3.1 bootloader
2021-12-21 14:48:14 +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
Ivan Grokhotkov
5b3b5f006f Merge branch 'feature/cmake_weak_deps_helper' into 'master'
cmake: add idf_component_optional_requires utility function, simplify some component dependencies

Closes IDF-3086

See merge request espressif/esp-idf!16373
2021-12-16 13:46:45 +00:00
Cao Sen Miao
e3d14858c7 rtc_clk: change clock source from xtal to pll on real board(ESP8684) 2021-12-15 12:21:11 +08:00
Ivan Grokhotkov
8df306ab60 freertos,esp_system: make dependencies on some components optional
Dependencies on gdbstub, espcoredump, app_trace will only be added
if these components are present in the build.
2021-12-13 18:39:49 +01:00
Cao Sen Miao
e81841318f CI: Enable ESP8684 build stage CI on master 2021-12-13 19:18:47 +08:00
Cao Sen Miao
7f0a746e6a move brownout trax cache_int_err to private folder 2021-11-26 18:27:53 +08:00
Cao Sen Miao
c794808297 cache_err_int: delete old headers 2021-11-26 14:56:30 +08:00
Cao Sen Miao
eddc196081 esp_clk: refactor target/clk.h to private/esp_clk.h 2021-11-26 14:56:30 +08:00
Michael (XIAO Xufeng)
c4310fb0db Merge branch 'feature/add_h2_beta2_target_support' into 'master'
esp32h2: Add support for esp32h2 beta2 version

Closes IDF-4230

See merge request espressif/esp-idf!15630
2021-11-26 03:56:01 +00:00
Alexey Gerenkov
47921a1588 Merge branch 'bugfix/app_trace_tmo_init' into 'master'
startup: init timer before calling esp_apptrace_tmo_init

See merge request espressif/esp-idf!16084
2021-11-25 19:35:46 +00:00
Marius Vikhammer
93afdea821 Merge branch 'bugfix/s3_rtc_ram_deepsleep_test' into 'master'
ci: fix "can set sleep wake stub from stack in RTC RAM" test case failure

Closes IDFCI-137

See merge request espressif/esp-idf!16116
2021-11-25 04:15:52 +00:00
Marius Vikhammer
469d047aeb ci: fix "can set sleep wake stub from stack in RTC RAM" test case failure
"can set sleep wake stub from stack in RTC RAM" would randomly fail on S3 due to stack overflow.

Fixed wrong usage of stack size and slightly increased it.
2021-11-25 10:25:59 +08:00
laokaiyao
f21020ce04 esp32h2: update reg and struct for beta2 2021-11-24 12:34:17 +08:00
wuzhenghui
388615add0 update esp32h2beta2 chip_id to 14 2021-11-24 12:30:43 +08:00
Erhan Kurubas
4741682c50 startup: timer_early_init before calling esp_apptrace_tmo_init 2021-11-24 01:43:15 +01:00
Sudeep Mohanty
722a6b7cf4 docs: update programming guide for esp32s3 chip independent system chapters
This commit updates the chip independent system chapters of the
programming guide for esp32s3.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-11-23 12:48:10 +05:30
KonstantinKondrashov
209702d055 esp_ipc: Update documentation and API descriptions
This commit updates the documentation and API descriptions of
the esp_ipc and esp_ipc_isr features.
2021-11-18 21:34:50 +08:00
morris
2e008825a9 Merge branch 'feat/rm_makefiles' into 'master'
Build & config: Remove leftover files from the unsupported make build system

Closes IDF-4273 and IDF-2827

See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
morris
207891ef6c clk: fix esp32h2 print wrong CPU frequency 2021-11-15 17:40:51 +08:00
Li Shuai
37e1e9c540 Merge branch 'bugfix/memory_region_define_rtc_fast' into 'master'
substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC

Closes WIFI-4115

See merge request espressif/esp-idf!15743
2021-11-15 02:34:35 +00:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Omar Chebib
9d5923a13e IPC: Move ipc sources to esp_system
IPC shall be put back into esp_system as it is an 'OS additions'.
2021-11-11 10:30:01 +08:00
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Cao Sen Miao
09487761cf ESP8684: add freertos, hal, esp_system support 2021-11-06 17:33:44 +08:00
Alexey Gerenkov
bb9cd84cdc debug_stubs: Refactor and add support for RISCV 2021-11-04 01:33:24 +03:00
Cao Sen Miao
adfb7bed96 vfs_usb_serial: set secondary selection for making usb port can output under default menu 2021-11-01 15:48:36 +08:00
Li Shuai
9ac58e32a2 substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC 2021-10-29 21:24:09 +08:00
Martin Vychodil
dffb92e45f System/Security: wrong check of the Memprot feature in esp_restart()/panic_restart()
esp_restart()/panic_restart() never resets the Digital system (so far required only by the Memprot feature) as there's a typo in the corresponding #define:
it checks CONFIG_ESP_SYSTEM_CONFIG_MEMPROT_FEATURE instead of CONFIG_ESP_SYSTEM_MEMPROT_FEATURE.
Issue fixed.

IDF-4094
2021-10-29 16:28:28 +08:00
Ivan Grokhotkov
249abb3fe8 esp_timer: allow querying the timer before esp_timer_init is called 2021-10-26 19:07:34 +08:00
Alexey Gerenkov
e777653222 Merge branch 'feature/esp32s3_apptrace' into 'master'
apptrace/trax: Adds ESP32-S3 support

Closes IDF-1785

See merge request espressif/esp-idf!14857
2021-10-26 09:50:40 +00:00
Ivan Grokhotkov
265038bea3 esp_system: fix high level interrupt handler not linked for GNU Make
In 4972605, high-level interrupt handler hook was renamed from
ld_include_highint_hdl to ld_include_panic_highint_hdl. However the
change wasn't applied in GNU Make based build system. As a result,
the default interrupt handler was linked and features which depended
on the high-level interrupt didn't work.

Closes https://github.com/espressif/esp-idf/issues/7759
Closes https://github.com/espressif/esp-idf/issues/7447
2021-10-24 11:08:40 +02:00
Alexey Gerenkov
111ba5bbe6 trax: Adds ESP32-S3 support 2021-10-22 23:36:28 +03:00
Darian Leung
d6f2fa4bab freertos: Remove critical nested macros
This commit removes the following critical nested macros as follows:

- portENTER_CRITICAL_NESTED()
- portEXIT_CRITICAL_NESTED()

They are replaced with portSET_INTERRUPT_MASK_FROM_ISR() and
portCLEAR_INTERRUPT_MASK_FROM_ISR() which are the proper FreeRTOS interfaces.

Created a portmacro_deprecated.h for each port to contain deprecated API
that were originally from portmacro.h
2021-10-22 13:17:20 +08:00
morris
3a530e3311 Merge branch 'refactor/timer_ll_hal_clean_before_ng' into 'master'
timer: clean up hal/ll for driver-ng

See merge request espressif/esp-idf!15123
2021-10-20 23:59:30 +00:00
morris
e2275b1f63 gptimer: clean up hal and ll for driver-ng 2021-10-20 18:40:08 +08:00
Mahavir Jain
81e3eb45ca cpu_start: rename function to add core prefix for more clarity 2021-10-20 15:16:25 +05:30
Mahavir Jain
61820f5b30 cpu_start: let individual core clear its interrupt matrix
There was race condition where interrupt entries set by APP cpu core
could have been cleared during PRO cpu startup.

This was observed while setting up "cache access error" interrupt in
SMP mode for ESP32-S3.

This fix allows to NOT modify or clear any entries set by other core
(APP or PRO) and thus avoiding any race conditions during startup code.
2021-10-20 15:16:25 +05:30
Mahavir Jain
bdeaeb8d7f esp_system: enable "cache disable but cache accessed" interrupt for ESP32-S3 2021-10-20 15:16:25 +05:30
Li Shuai
e8188e5d8f ci: replacing old header with new SPDX header style 2021-10-20 11:36:23 +08:00
Li Shuai
7c7f3aa84e unit test: add sleep test case for esp32s3 2021-10-20 11:36:23 +08:00
Li Shuai
a939f7d34b light sleep: add software workaround for esp32s3 gpio reset issue 2021-10-20 11:36:22 +08:00
Li Shuai
881e1b0fd5 deep sleep: add deep sleep support for esp32s3 2021-10-20 11:36:20 +08:00
Li Shuai
9298db641e deep sleep: fix some rtc fast memory definition errors in esp32s3 2021-10-19 21:47:27 +08:00
Omar Chebib
8048677b4c Xtensa: Branch and jump intructions referencing a relative label have been replaced
As branches/jumps on Xtensa have a maximum range for the destination, it is
unsafe to refer to a label to another compilation unit in a branch/jump instruction.
The labels have been replaced by absolute addresses.
2021-10-19 12:21:12 +08:00
Darian Leung
b23de0f8a1 twdt: Fix timeout decimal literals to prevent uint32_t overflow
This commit fixes the decimal literals used in calculating task
watchdog timeouts to prevent them from causing a uint32_t oveflow.

Closes https://github.com/espressif/esp-idf/issues/6648
2021-10-15 16:07:27 +08:00
Chen Yu Dong
f0a96e586d pre-commit fix 2021-10-12 14:05:19 +08:00
alex.li
26d8b7ee17 Add HW external coexist api.
Simplify the external coex flow.

And replace gpio of driver interface with hal one.
2021-10-12 14:05:14 +08:00
Zim Kalinowski
6dc684d2fa Merge branch 'feature/github-7517' into 'master'
[system] fix compiler warning with silent panic option

Closes IDFGH-5812

See merge request espressif/esp-idf!15420
2021-10-11 08:56:57 +00:00
Zim Kalinowski
584806a78a updated copyright text 2021-10-11 11:38:35 +08:00
Zim Kalinowski
f2b538b9e7 Merge branch 'master' into feature/github-7517 2021-10-09 18:58:27 +08:00
Armando
2655a506c9 mspi: support auto detect octal flash vendor 2021-10-08 15:59:57 +08: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
Bao Hong De
eccb1f85d8 Merge branch 'bugfix/btdm_link_error_of_kconfig' into 'master'
Bugfix/btdm link error of kconfig

See merge request espressif/esp-idf!15176
2021-09-17 06:26:37 +00:00
baohongde
b310c062cd components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2021-09-16 20:26:35 +08: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
Armando
c45c6f52f1 adc: support adc efuse-based calibration on esp32s3 2021-09-14 11:42:50 +08:00
David Čermák
9f957cbfe2 Merge branch 'bugfix/memprot_panic_print_const_correction' into 'master'
panic: Fix minor const string correction on meprot panic print

See merge request espressif/esp-idf!14851
2021-09-13 06:13:33 +00:00
Andrei Safronov
9159aa58d3 tests: refactoring of the gcc's inner functions, because clang doesn't support them 2021-09-10 19:51:27 +03:00
baohongde
006a10b050 components/doc: Update doc about high-level interrupt
some bugfix.
2021-09-09 20:40:09 +08:00
David Cermak
0ee4c235eb panic/memprot: Fix minor const string correction on panic print 2021-09-09 11:46:21 +02:00
baohongde
e2fb413329 components/bt: add config option to choose Bluetooth intterupt level. 2021-09-09 11:29:17 +08:00
baohongde
6d63fe06fa components/os: add config option to choose system check intterupt level. 2021-09-09 11:29:12 +08:00
baohongde
8a4696d25a components/os: Fix live lock int bt isr using ocd multicore debug
components/os: Fix live lock in bt isr immediately
2021-09-09 11:29:08 +08:00
baohongde
d1db2df316 components/bt: High level interrupt in bluetooth
components/os: Move ETS_T1_WDT_INUM, ETS_CACHEERR_INUM and ETS_DPORT_INUM to l5 interrupt

components/os: high level interrupt(5)

components/os: hli_api: meta queue: fix out of bounds access, check for overflow

components/os: hli: don't spill registers, instead save them to a separate region

Level 4 interrupt has a chance of preempting a window overflow or underflow exception.
Therefore it is not possible to use standard context save functions,
as the SP on entry to Level 4 interrupt may be invalid (e.g. in WindowUnderflow4).

Instead, mask window overflows and save the entire general purpose register file,
plus some of the special registers.
Then clear WindowStart, allowing the C handler to execute without spilling the old windows.
On exit from the interrupt handler, do everything in reverse.

components/bt: using high level interrupt in lc

components/os: Add DRAM_ATTR to avoid feature `Allow .bss segment placed in external memory`

components/bt: optimize code structure

components/os: Modify the BT assert process to adapt to coredump and HLI

components/os: Disable exception mode after saving special registers

To store some registers first, avoid stuck due to live lock after disabling exception mode

components/os: using dport instead of AHB in BT to fix live lock

components/bt: Fix hli queue send error

components/bt: Fix CI fail

# Conflicts:
#	components/bt/CMakeLists.txt
#	components/bt/component.mk
#	components/bt/controller/bt.c
#	components/bt/controller/lib
#	components/esp_common/src/int_wdt.c
#	components/esp_system/port/soc/esp32/dport_panic_highint_hdl.S
#	components/soc/esp32/include/soc/soc.h
2021-09-09 11:29:06 +08:00
Cao Sen Miao
6c0aebe279 esp_flash: add opi flash support in esp_flash chip driver, for MXIC 2021-09-07 14:44:40 +08:00
boarchuz
ec70bc0523 fix compiler warning with silent panic option 2021-09-04 14:46:26 +10:00
Mahavir Jain
e0d29d4ada esp_system: create ld template to abstract few common settings
PMS aware chips require prefetch padding size for instruction fetch, or
some memory alignment considerations. These settings are now exposed
through kconfig options (hidden) and used through common ld template.
This shall help to add and manage future chips support easily for
these considerations.

Closes IDF-3624
2021-09-02 16:13:17 +08:00
Marius Vikhammer
88e7b5f7be Merge branch 'feature/s3_cache_bringup' into 'master'
soc: S3 cache bringup

Closes IDF-2952

See merge request espressif/esp-idf!12887
2021-09-02 02:51:10 +00:00
Marius Vikhammer
bdf3a8ff29 Merge branch 'feature/xtwdt' into 'master'
WDT: Add support for XTAL32K Watchdog timer

Closes IDF-2575

See merge request espressif/esp-idf!15000
2021-09-02 02:44:47 +00:00
Marius Vikhammer
4869b3cd4a WDT: Add support for XTAL32K Watchdog timer 2021-09-02 09:09:00 +08:00
gaoxiaojie
191a494e08 support dcache 64Byte and 16k 2021-09-02 02:27:40 +08:00
jiangguangming
f7137254e9 flash_mmap: register flash2spiram info to ROM 2021-09-02 02:27:40 +08:00
Armando
a3dc625da6 mspi: support 120MHz Quad Flash and PSRAM on ESP32S3 2021-08-31 16:06:44 +08:00
Martin Vychodil
58aed7df98 ESP32S2: No assert()/abort() in Memprot API, use esp_err_t instead
JIRA IDF-3634
2021-08-26 09:20:00 +02:00
Shu Chen
f8f9e545e8 Merge branch 'feature/support_esp32h2_hw_support' into 'master'
Feature/support esp32h2 hw support

Closes IDF-3378 and IDF-3396

See merge request espressif/esp-idf!14545
2021-08-26 06:00:27 +00:00
sly
11dfd802e0 esp32h2: add rtc clock support 2021-08-26 11:25:39 +08:00
Jiang Jiang Jian
cec0f5edfb Merge branch 'optimization/config_option_LWIP_TCPIP_CORE_LOCKING' into 'master'
optimization config option LWIP_TCPIP_CORE_LOCKING

Closes IDF-2478

See merge request espressif/esp-idf!11809
2021-08-25 08:52:43 +00:00
Wu Zheng Hui
3128a2544b Adjust the variable name &
Add mapping support for different sizes of spi ram
2021-08-25 16:06:28 +08:00
wuzhenghui
6ab495b4dc esp32h2: chip env support
brownout init fixed
2021-08-25 11:02:47 +08:00
Erhan Kurubas
2a5d0a041e gcov: add stub table size entry 2021-08-20 15:00:55 +08:00
Erhan Kurubas
ca88b269ed gcov: add gcov callback into the ipc task 2021-08-20 15:00:55 +08:00
Erhan Kurubas
bbf919709f gcov: added dbg stub capabilites and magic number entry to keep backward compatible 2021-08-20 15:00:55 +08:00
xueyunfei
0d07569fff optimization config option LWIP_TCPIP_CORE_LOCKING 2021-08-18 21:32:13 +08:00
simon.chupin
294f9783fc Tools: Fix memory calculations of idf_size.py 2021-08-11 17:51:51 +02:00
Michael (XIAO Xufeng)
064f12cb90 idf_size.py: fixed diram counted twice issue, and improve display
Currently static RAM usage are listed under corresponding physical
memory.

ld: fix linker script for C3 and S3
2021-08-11 17:51:50 +02:00
Marius Vikhammer
85b107bf54 Merge branch 'bugfix/rename_ext_mem_bss_section' into 'master'
ld: rename .ext_ram.noinit to .ext_ram_noinit

See merge request espressif/esp-idf!14717
2021-08-11 05:51:00 +00: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
Jiang Jiang Jian
6e1f8a68b9 Merge branch 'feature/support_esp32s3_wifi_lightsleep' into 'master'
support esp32s3 wifi lightsleep

Closes IDF-1781

See merge request espressif/esp-idf!14569
2021-08-06 12:51:46 +00:00
Roland Dobai
7384149780 Merge branch 'update_copyright_notice_esp32s2_esp32s3' into 'master'
esp32s2, esp32s3: update copyright notice

See merge request espressif/esp-idf!13831
2021-08-06 10:36:07 +00:00
Jan Brudný
562ce4d009 esp32s2, esp32s3: update copyright notice 2021-08-05 15:01:26 +02:00
Sachin Parekh
6582f7070e Update tests for assert and abort
- Place panic_abort in IRAM
- Added abort, assert test case in case of cache disabled
- Expect assert instead of abort in a freertos_mutex test
2021-08-05 11:09:22 +05:30
Li Shuai
d73a09cd8b light sleep: add wifi mac sleep support for esp32s3 2021-08-04 21:58:33 +08:00
Li Shuai
366d0a724a light sleep: set wifi light sleep clock source to rtc slow clock 2021-08-04 21:31:47 +08:00
Zim Kalinowski
1fd56e0b87 Merge branch 'feature/systimer_generate_rtos_tick' into 'master'
freertos(esp32s3): SysTick uses systimer

Closes IDF-2613

See merge request espressif/esp-idf!12246
2021-08-04 12:33:52 +00:00
Konstantin Kondrashov
29f581fc70 freertos(esp32s3): SysTick uses systimer 2021-08-04 20:33:44 +08:00
Armando (Dou Yiwen)
03fb3973a2 Merge branch 'feature/support_quad_flash_octal_psram_on_esp32s3' into 'master'
mspi: support up-to-80MHz quad flash & up-to-80MHz octal psram on esp32s3

Closes IDF-3603

See merge request espressif/esp-idf!14346
2021-08-04 03:57:16 +00:00
Armando
0f91a01a46 mspi: support up-to-80MHz quad flash & up-to-80MHz octal psram on esp32s3 2021-08-03 16:54:00 +08:00
Konstantin Kondrashov
4972605b16 esp_common: Add API for IPC to run small pieces of code on the other CPU, in the context of the level 4 interrupt 2021-08-03 14:35:29 +08:00
Armando (Dou Yiwen)
0dad76329f Merge branch 'feature/support_noinit_section_in_psram_on_esp32' into 'master'
memory: support noinit section in psram on esp32

Closes IDFGH-2621

See merge request espressif/esp-idf!14088
2021-07-31 09:58:59 +00:00
Jiang Jiang Jian
aebdaf08a6 Merge branch 'bugfix/esp32s3_app_core_clock_gate_invalid_issue' into 'master'
fix app cpu core clock gate invalid issue

Closes WIFI-3899

See merge request espressif/esp-idf!14518
2021-07-31 03:00:58 +00:00
Cao Sen Miao
c29b3e2e36 spi_flash: move the unlock patch to bootloader and add support for GD 2021-07-29 10:46:33 +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
Li Shuai
8a10ba4179 system: fix app cpu core clock gate invalid issue 2021-07-28 11:34:29 +08:00
Michael (XIAO Xufeng)
18bee2380a Merge branch 'refactor/usb_device_driver' into 'master'
tiny_usb: support on esp32-s3

Closes IDF-3234

See merge request espressif/esp-idf!14293
2021-07-26 16:21:55 +00:00
Martin Vychodil
ce28af2dd4 System/memprot: ESP32C3 IRAM section alignment fix (LD)
IRAM section didn't contain sufficient padding for possible CPU instruction prefetch,
ie instruction fetch could happen in DRAM section which is prohibited by the Memprot module.
This is fixed by adding 16B to the end of IRAM section in LD script (C3 CPU prefetch buffer depth is 4 words)

Closes IDF-3554

* fix
2021-07-23 17:11:12 +02:00
Michael (XIAO Xufeng)
fbb6b1b11a Merge branch 'bugfix/fix_uart_reset_issue_on_esp32c3' into 'master'
bugfix(uart): reset uart0 core before uart apb reset

Closes IDF-3362

See merge request espressif/esp-idf!12749
2021-07-22 07:20:58 +00:00
morris
81448dcae8 tiny_usb: rename Kconfig name
1. Renamed Kconfig file of tinyusb (distinguish tinyusb stack from usb
   peripheral)
2. bugfix/typofix/doc update of tinyusb
2021-07-22 10:43:10 +08:00
KonstantinKondrashov
c19b37d2a9 esp_system: Adds sync of FRC & RTC counters in esp_restart
In case when FRC and RTC counters are very different then
the need to sync them before to restart the ESP
to get the correct system time after reboot.
2021-07-21 10:23:24 +05:00
Wangjialin
2b986fbd49 For esp_restart API, reset uart0 core first, then reset uart0 apb side, so as to prevent uart output garbage after cpu reset. (UART0 RST bits will be cleared in ROM)
Add UART0/1 core reset on esp32c3, in case uart driver would also reset uart hardwares.
2021-07-21 11:41:04 +08:00
morris
2058e89448 Merge branch 'feature/fpga_bootloader' into 'master'
Boot ESP32 & ESP32-S2 apps on FPGA

See merge request espressif/esp-idf!8270
2021-07-18 08:06:38 +00:00
Angus Gratton
c1ca7a35b0 ldgen: Remove some remaining references to TARGET.project.ld.in 2021-07-16 20:14:27 +08:00
Angus Gratton
f0471b18b2 esp32h2: Move from target component to esp_hw_support (new structure) 2021-07-16 20:14:27 +08:00
Renz Bagaporo
b06dba7823 esp32: move app linker scripts 2021-07-16 20:14:27 +08:00
Renz Bagaporo
fddc0b6799 esp32: move remaining tests 2021-07-16 20:14:27 +08:00
Renz Bagaporo
7c22cccb9c esp32: cleanup build script 2021-07-16 20:14:27 +08:00
Angus Gratton
1a626ef6ca esp32: App can boot on FPGA image
Includes fix for detecting ESP32 ECO3 on FPGA
2021-07-16 10:50:06 +10:00
Angus Gratton
bbbbd5cf0c esp32s2: FPGA can boot to Hello World 2021-07-16 10:50:06 +10:00
Omar Chebib
0771bd1711 espsystem: Rearchitecture and fix eh_frame_parser bugs
eh_frame_parser is architecture independent, thus the files have
been rearchitectured. Some bugs have been fixed in the test.
A README file has also been added to eh_frame_parser host test
directory.

eh_frame_parser is now able to detect empty gaps in .eh_frame_hdr
table (missing DWARF information).
Fix a bug occuring when parsing backtraces originated from abort().
Fix build missing dependencies issue.
2021-07-15 12:47:51 +08:00
Omar Chebib
b967dc0dbf espsystem: add support for RISC-V panic backtrace
Add .eh_frame and .eh_frame_hdr sections to the binary (can be
enabled/disabled within menuconfig). These sections are parsed
when a panic occurs. Their DWARF instructions are decoded and
executed at runtime, to retrieve the whole backtrace. This
parser has been tested on both RISC-V and x86 architectures.

This feature needs esptool's merge adjacent ELF sections feature.
2021-07-13 15:42:40 +08:00
morris
1560d6f1ba soc: add reset reasons in soc component 2021-07-13 10:45:38 +08:00
Shu Chen
ee23a489b9 esp32h2: code clean up 2021-07-01 19:53:50 +08:00
Shu Chen
5e3689ae0f esp32h2: update esp_system and esp_hw_support to support esp32h2 2021-07-01 19:53:11 +08:00
Shu Chen
7d4b2617e1 esp32h2: copy esp_system and esp_hw_support from esp32c3
Copy the esp32c3 code without any change:
 * components/esp_hw_support/include/soc/esp32h2
 * components/esp_hw_support/port/esp32h2
 * components/esp_system/port/soc/esp32h2
2021-07-01 19:53:11 +08:00
Angus Gratton
2f8debdde1 Merge branch 'feature/esp32s3_remove_rtc_apb_freq_reg' into 'master'
esp32s3: Remove APB frequency RTC register

See merge request espressif/esp-idf!11137
2021-06-29 23:50:23 +00:00
Angus Gratton
1969e4b8e5 Merge branch 'bugfix/panic_handler_disable_wdts_early' into 'master'
esp_system: Reconfigure the WDTs at the start of the panic handler

Closes IDFCI-361

See merge request espressif/esp-idf!14138
2021-06-29 23:48:40 +00:00
Angus Gratton
57fa883127 esp32s3: Remove APB frequency RTC register
Usage of this register changed between ESP32-S3 beta2 and the
final chip.
2021-06-29 17:38:46 +10:00
Angus Gratton
14c7d4965b esp_system: Reconfigure the WDTs at the start of the panic handler
This is mostly important on ESP32 ECO3 with the
ESP32_ECO3_CACHE_LOCK_FIX, because when we stall the other CPU core
before we disable the TG1 WDT then the first CPU can get stuck
in WDT ISR handle_livelock_int routine waiting for the other CPU.
2021-06-28 17:24:39 +10:00
Ivan Grokhotkov
d7928bf1db Merge branch 'feature/esp32c3_apptrace' into 'master'
apptrace: refactoring & esp32c3 support

See merge request espressif/esp-idf!11702
2021-06-28 06:00:24 +00:00
Michael (XIAO Xufeng)
afc2bc94b3 Merge branch 'feature/add_opi_flash_psram_support' into 'master'
spi flash: opi flash psram support and spi timing tuning  support on 727

Closes IDF-3097

See merge request espressif/esp-idf!12946
2021-06-28 01:59:19 +00:00
Armando
bc248278f8 spiflash: add octal spi psram support on 727 2021-06-25 19:41:57 +08:00
Alexey Gerenkov
20fd09728f apptrace: Adds ESP32-C3 support 2021-06-24 13:16:14 +03:00
Alexey Gerenkov
821869d98d apptrace: Refactors apptrace for better support various tracing HW 2021-06-24 13:16:13 +03:00
Jakob Hasse
64750acbb0 [esp_system]: added __cxx_eh_arena_size_get again
* This function has been accidentally removed.
  It is necessary to provide the emergency
  exception memory pool size for C++ code.
  Since our libstdc++ always has exceptions
  enabled, this function must exist here even if
  -fno-exception is set for user code.
2021-06-22 14:14:08 +08:00
Cao Sen Miao
f2fe0847d5 usb_serial_jtag: add initial support for S3 (including flashing, monitoring, writing, and reading) but console is not avaliable now 2021-06-18 12:42:41 +08:00
Angus Gratton
059353b0c2 Merge branch 'feature/refactor_common_secure_boot_code' into 'master'
secure_boot/flash_encryption: Refactoring

Closes IDF-2582 and IDF-2035

See merge request espressif/esp-idf!12963
2021-06-16 23:21:45 +00:00
Konstantin Kondrashov
f339b3fc96 efuse(esp32): Deprecate esp_efuse_burn_new_values() & esp_efuse_write_random_key()
These functions were used only for esp32 in secure_boot and flash encryption.
Use idf efuse APIs instead of efuse regs.
2021-06-17 07:21:36 +08:00
Marius Vikhammer
f124536948 system: add support for reset reason hint on S3 2021-06-15 13:39:51 +08:00
Angus Gratton
d995086621 Merge branch 'bugfix/memprot_bypass' into 'master'
System/Security: Memprot bypassing mitigation

Closes IDF-2700

See merge request espressif/esp-idf!13795
2021-06-09 00:02:30 +00:00
Jiang Jiang Jian
5cbea220b0 Merge branch 'feature/decouple_esp_phy' into 'master'
esp_phy: decouple esp_phy component from esp_wifi and bt

See merge request espressif/esp-idf!13742
2021-06-04 05:20:17 +00:00
Shu Chen
6061a547e5 esp_phy: decouple esp_phy component from esp_wifi and bt
* add esp-phy-lib submodule
* move libphy.a and phy_init.c from esp_wifi to esp_phy
* move librtc.a from esp_wifi to esp_phy
* move libbtbb.a from bt to esp_phy
* corresponding updates to build system
2021-06-03 16:17:31 +08:00
Angus Gratton
dc6b950257 doc: Add performance guides for execuion speed, binary size, RAM usage
Closes https://github.com/espressif/esp-idf/issues/7007
Closes https://github.com/espressif/esp-idf/issues/6715
Closes https://github.com/espressif/esp-idf/issues/3781
Closes https://github.com/espressif/esp-idf/issues/2566
2021-06-03 13:55:34 +10:00
Martin Vychodil
1e58eb6928 system/security: Memprot bypassing mitigation
Check Memprot lock bit(s) during the system startup, abort/reset on any Memprot parts found locked during this phase.
There is no legal reason to disallow the Memprot configuration by the system, so it's either a critical bug in the
application or an malicious attempt to bypass the system security.
Error message is printed before digital system reset.

Closes IDF-2700
2021-06-01 00:07:09 +02:00
Dmitry
00a7ecb5a3 Code cleanup. Bugfix after rebase with master. Formating. 2021-05-13 15:03:40 +03:00
Dmitry
f8197c2446 Fix problem with panic handler with gdbstubs. 2021-05-11 16:09:32 +03:00
Dmitry
7bb91f912c gdbstub component 2021-05-11 15:55:39 +03:00
Ivan Grokhotkov
c88287851d Merge branch 'feature/raise_log_level' into 'master'
feature: Set maximum log level, add startup time example

Closes IDFGH-3599 and IDFGH-333

See merge request espressif/esp-idf!12714
2021-05-03 08:52:27 +00:00
Jiang Jiang Jian
efb9f87951 Merge branch 'bugfix/fix_728_series_reboot_failure' into 'master'
[system]: Fix two  (re)boot failure issues on ESP32S3Beta

Closes WIFI-3548, WIFI-3559, and IDF-3170

See merge request espressif/esp-idf!13268
2021-04-30 03:20:47 +00:00
Michael (XIAO Xufeng)
76fbb689fd Merge branch 'bugfix/remove_uart2_c3' into 'master'
uart: remove misleading ld files and soc defs for UART2

See merge request espressif/esp-idf!13340
2021-04-29 05:18:25 +00:00
wuzhenghui
57d43d1bc5 fix 728 series reboot failure 2021-04-29 03:10:47 +00:00
Jeroen Domburg
2c75f63f89 * ets_delay_us(1) has too much overhead; change logic
* Fix MR comments
2021-04-28 16:38:24 +08:00
Michael (XIAO Xufeng)
a0d13a31ec uart: fix misleading files for UART2
Includes: header files, ld files and clk.c

ESP32-C3 only have UART0 and UART1.
2021-04-27 17:40:19 +08:00
Angus Gratton
69309c88a0 Merge branch 'bugfix/fix_c3_typos' into 'master'
esp32c3: fix typos of c3 path

See merge request espressif/esp-idf!13318
2021-04-23 13:05:09 +00:00
Shu Chen
ff3320ca8a esp32c3: fix typos of c3 path 2021-04-23 18:11:39 +08:00
Angus Gratton
6e80811ca2 log: Remove redundant definition of LOG_LOCAL_LEVEL
After adding a maximum setting, the default value of LOG_LOCAL_LEVEL
will be CONFIG_LOG_MAXIMUM_LEVEL not CONFIG_LOG_DEFAULT_LEVEL
2021-04-23 18:13:04 +10:00
Ivan Grokhotkov
9069f70db3 system: add option to enable undefined behavior sanitizer (UBSAN)
Closes https://github.com/espressif/esp-idf/issues/1574
2021-04-22 23:33:45 +02:00
Omar Chebib
bb9aa806f7 panic: handlers can now be placed in flash
By unchecking "Place panic handler code in IRAM" in the menuconfig,
the panic handlers will be placed in flash. Of course, flash cache must
be activated when entering panic handlers.
2021-04-15 11:58:46 +08:00
Martin Vychodil
f27c9c5139 esp32c3: memprot API upgrade and test application
Closes IDF-2641
2021-04-12 13:44:11 +10:00
Marius Vikhammer
38d9251bda sleep: disable switch-case jump tables from being placed in flash
sleep_modes.c contains switch statements that should be placed in flash.
Settings for avoiding this was not updated during sleep_modes refactor.
2021-04-09 14:16:27 +08:00
Angus Gratton
cef3b26a91 Merge branch 'refactor/move_from_esp_system' into 'master'
Movements from esp_system

Closes IDF-2165

See merge request espressif/esp-idf!12695
2021-04-08 10:16:08 +00:00
Angus Gratton
70cab5bd81 Merge branch 'bugfix/ulp_riscv_unintended_wake' into 'master'
ulp: unintended wakeup in ulp_riscv

See merge request espressif/esp-idf!12894
2021-04-08 01:52:41 +00:00
Renz Bagaporo
586023790e esp_system: move sleep modes to esp_hw_support, power down light sleep to esp_pm 2021-04-07 17:53:37 +08:00
Renz Bagaporo
c112bd8b57 esp_system: move intr_alloc 2021-04-07 17:53:37 +08:00
Renz Bagaporo
8762bfebde esp_system: move asysnc memcpy to esp_hw_support 2021-04-07 17:53:37 +08:00
Angus Gratton
c22eb769e7 Merge branch 'bugfix/panic_instrprohibited' into 'master'
esp_system: fix instrprohibited panic backtrace regression

See merge request espressif/esp-idf!13023
2021-04-07 05:14:19 +00:00
Angus Gratton
94ac251091 Merge branch 'doc/general_notes' into 'master'
doc: Update docs about startup sequence and memory types

Closes IDF-2321, IDF-2409, and IDFGH-1540

See merge request espressif/esp-idf!12636
2021-04-05 23:51:25 +00:00
Renz Bagaporo
75624c5355 esp_system: fix instrprohibited panic backtrace regression
First PC should have been ignored in the case of InstProhibited panic
when printing backtrace.
2021-04-05 22:05:27 +08:00
Angus Gratton
6b57f33858 Merge branch 'refactor/movements_from_target_components' into 'master'
Movement from target components 1

See merge request espressif/esp-idf!12482
2021-04-05 02:37:21 +00:00
Renz Bagaporo
301c48b6b2 esp_system: remove duplicate panic backtrace code 2021-04-01 07:22:57 +00:00
Angus Gratton
3c9e9a7704 Merge branch 'bugfix/renable_unit_tests' into 'master'
ci: enable previously disabled unit tests

See merge request espressif/esp-idf!12582
2021-04-01 03:23:22 +00:00
Renz Bagaporo
bbc599493e esp32: move common fragment definitions 2021-03-31 19:17:33 +08:00
Renz Bagaporo
4a08264e7a esp_system: split esp_system.h header 2021-03-31 19:13:03 +08:00
Renz Bagaporo
a7bac58480 esp32: move system api to esp_system 2021-03-31 19:13:03 +08:00
Renz Bagaporo
393bd64a1e esp32: move crosscore int 2021-03-31 19:13:03 +08:00
Renz Bagaporo
7d85c42e52 esp32: move brownout and cache err int setup 2021-03-31 19:13:03 +08:00
Renz Bagaporo
6014e3a198 esp32: move stack check test 2021-03-31 19:13:03 +08:00
Renz Bagaporo
3639c2322b ulp: clear rtc int at initialization
Closes https://github.com/espressif/esp-idf/issues/6654
2021-03-31 17:15:55 +08:00
Angus Gratton
d44034c54d Merge branch 'bugfix/dual_core_app_on_single_core_esp32' into 'master'
esp_system: fix dual core app issue on single core esp32

Closes IDF-2154

See merge request espressif/esp-idf!10728
2021-03-31 01:06:52 +00:00
Marius Vikhammer
b4d2fb56a0 ci: enable previously disabled unit tests 2021-03-29 18:36:41 +08:00
Angus Gratton
a2740be080 Merge branch 'refactor/systimer_reset_alternative' into 'master'
Systimer reset alternative on S2 (and others)

See merge request espressif/esp-idf!12694
2021-03-29 09:27:41 +00:00
Renz Bagaporo
8d32232899 esp_system: check early for single core variant 2021-03-29 06:50:47 +00:00
Jiang Jiang Jian
72ddc6ee40 Merge branch 'bugfix/esp32c3_light_sleep_gpio_reset_issue' into 'master'
light sleep: add software workaround for esp32c3 gpio reset issue

See merge request espressif/esp-idf!12715
2021-03-29 04:55:55 +00:00
Angus Gratton
38af9dffe1 esp_system: Mark the startup array as 'const' to save RAM 2021-03-29 15:11:49 +11:00
Renz Bagaporo
32aa5f7e25 esp_system: add notes on timekeeping 2021-03-25 16:09:33 +08:00
Renz Bagaporo
d7e9567c00 esp_system, esp_timer: fix time function description 2021-03-25 15:47:19 +08:00
Renz Bagaporo
131bbbd5c4 esp_system: test system time for rtc compensation 2021-03-25 15:47:19 +08:00
Renz Bagaporo
cb5a8342d4 esp_system: revert reset of systimer clk at startup 2021-03-25 15:37:48 +08:00
Li Shuai
b3bc27972e light sleep: add software workaround for esp32c3 gpio reset issue 2021-03-25 15:03:09 +08:00
Omar Chebib
49f5fb5112 esp_system: add VDD_SDIO power domain configuration to documentation
Add a warning in `sleep_modes` doc page to explain how to keep
VDD_SDIO power domain ON.
2021-03-24 12:04:57 +08:00
Omar Chebib
87325fa964 esp_system: add VDD_SDIO power domain configuration for light sleep
VDD_SDIO power domain can now be configured for light sleep
by the application. It is now possible to keep the power domain
ON during light sleep, keeping the GPIOs connected to it powered.
The power domain will, by default be:
- Kept ON if CONFIG_ESP_SYSTEM_PD_FLASH is not set
- Turned OFF if not set

The application can still force it to be ON by calling
`esp_sleep_pd_config(ESP_PD_DOMAIN_VDDSDIO, ESP_PD_OPTION_ON);`
2021-03-24 12:04:57 +08:00
Angus Gratton
fa2946d651 Merge branch 'feature/support_esp32s3_beta_3' into 'master'
Support ESP32S3 beta 3 target

Closes IDF-2908

See merge request espressif/esp-idf!12661
2021-03-23 10:17:58 +00:00
Michael (XIAO Xufeng)
67ba80f2ec Merge branch 'bugfix/reduce_the_consumption_of_touch_sensor_during_deep_sleep' into 'master'
fix: reduce the consumption of touch sensor during deep sleep

See merge request espressif/esp-idf!12248
2021-03-22 07:10:44 +00:00
Angus Gratton
54edd4fc58 Merge branch 'feature/wdt_c3' into 'master'
wdt: Fix RTC_SLOW_CLK for chips, corrects WDT timeout.

Closes IDF-2118 and IDF-2332

See merge request espressif/esp-idf!12796
2021-03-22 06:48:58 +00:00
Angus Gratton
1581744c10 Merge branch 'feature/main_task_affinity_pr6627' into 'master'
Allow selection of different core for main task

Closes IDFGH-4828

See merge request espressif/esp-idf!12654
2021-03-22 06:46:24 +00:00
KonstantinKondrashov
aa1338bf23 wdt: Fix timeout and RTC_SLOW_CLK
RTC_SLOW_CLK
ESP32:    150kHz
ESP32-S2:  90kHz
ESP32-S3: 150kHz
ESP32-C3: 150kHz
2021-03-19 00:15:18 +08:00
Marius Vikhammer
2aead8ba57 Support ESP32S3 Beta 3 target
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
KonstantinKondrashov
a90f29fced wdt: Updates 2021-03-18 02:31:28 +08:00
Michael (XIAO Xufeng)
be30289364 Merge branch 'feature/c3_example_tests' into 'master'
CI: add Example_GENERIC for C3

Closes IDF-2935

See merge request espressif/esp-idf!12557
2021-03-16 09:43:38 +00:00
Angus Gratton
d709631393 secure boot: Add boot check for SBV2 "check app signature on update"
As this mode uses the public keys attached to the existing app's signatures to
verify the next app, checking that a signature block is found on boot prevents
the possibility of deploying a non-updatable device from the factory.
2021-03-15 12:30:20 +00:00
fuzhibo
6b361ed70f fix: reduce the consumption of touch sensor during deep sleep 2021-03-15 03:59:54 +00:00
Marius Vikhammer
c85d949c1f ci: run Example_GENERIC for C3
Add support for running example_GENERIC tests for C3 on label.

Fix examples that fail.
2021-03-15 10:27:07 +08:00
Jiang Jiang Jian
ae65cffff0 Merge branch 'bugfix/esp32c3_light_sleep_default_params_optimize' into 'master'
light sleep: some default parameters optimization

See merge request espressif/esp-idf!12461
2021-03-11 03:33:46 +00:00
Angus Gratton
fd164b82b6 Merge branch 'refactor/move_from_xtensa' into 'master'
Movements from xtensa

Closes IDF-2164

See merge request espressif/esp-idf!10556
2021-03-11 00:24:25 +00:00
Li Shuai
92ddbcda05 deep sleep: power down wifi and bt during deep sleep 2021-03-10 18:22:41 +00:00
baohongde
33df1358ef Fix issues during light sleep and DFS 2021-03-09 13:49:59 +08:00
0xFEEDC0DE64
6928db7670 Allow selection of different core for main task
Closes https://github.com/espressif/esp-idf/pull/6627
2021-03-09 10:13:28 +11:00
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
fuzhibo
cfe59031a5 fix: clear interrupt in touch sensor initialization 2021-03-01 03:57:01 +00:00
Renz Bagaporo
1efdcd69d9 xtensa: move out trax 2021-02-26 19:45:48 +08:00
Renz Bagaporo
0f03f450ff esp_hw_support: create esp_cpu
Create a esp_cpu header that contains CPU-related functions and
utilities.
2021-02-26 13:34:29 +08:00
Renz Bagaporo
7e0e91bf76 arch: move debug helpers 2021-02-26 13:34:29 +08:00
Renz Bagaporo
91a5770fd2 arch: move shared stack implementation to esp_system 2021-02-26 13:34:29 +08:00
Cao Sen Miao
a8343bc470 esp_system: support gpio wakeup from deep sleep on esp32c3 2021-02-26 12:26:49 +08:00
Angus Gratton
501af6dfa2 Merge branch 'feature/secure_boot_revoke_check' into 'master'
secure_boot: Checks secure boot efuses

Closes IDF-2609

See merge request espressif/esp-idf!12148
2021-02-25 22:38:42 +00:00
Angus Gratton
a0eb455ec3 Merge branch 'refactor/misc_move_from_esp_common' into 'master'
Movements from esp_common

Closes IDF-1947

See merge request espressif/esp-idf!9692
2021-02-24 23:16:52 +00:00
Michael (XIAO Xufeng)
7ef60b8bde Merge branch 'bugfix/gdma_pair_uninstall_concurrency_issue' into 'master'
gdma: fix wrong level of {group,pair} reference count

See merge request espressif/esp-idf!12269
2021-02-24 09:33:33 +00:00
Angus Gratton
f72c296827 Merge branch 'bugfix/deepsleep_disable_brownout_s2' into 'master'
deep_sleep: on S2 disable the brown out detector before deep sleeping

Closes IDF-2716 and IDFGH-4341

See merge request espressif/esp-idf!12348
2021-02-24 05:48:19 +00: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
5a56f794ec esp_common: move dbg stubs 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
morris
e926298160 async_mcp: clean eof flag when prepare rx descriptors 2021-02-24 11:38:57 +08:00
KonstantinKondrashov
90f2d3199a secure_boot: Checks secure boot efuses
ESP32 V1 and V2 - protection bits.
ESP32xx V2: revoke bits, protection bits

- refactor efuse component
- adds some APIs for esp32 chips as well as for esp32xx chips
2021-02-23 03:56:21 +08:00
morris
bf2480f62d efuse: can disable boot ROM log from Kconfig 2021-02-22 20:56:43 +08:00
morris
0f5d1c1c46 rtc: supported disable rom log temporarily 2021-02-22 20:56:43 +08:00
Marius Vikhammer
0a4e5c99f9 deep_sleep: on S2 disable the brown out detector before deep sleeping
On S2 the brown out detector would occasionally trigger erroneously during deep sleep.

Disable it before sleeping to circumvent this issue.

Closes https://github.com/espressif/esp-idf/issues/6179
2021-02-18 18:39:06 +08:00
Angus Gratton
807c8549e1 Merge branch 'bugfix/esp32s2_wakeup_from_light_sleep_fix' into 'master'
esp32s2 light sleep fix

Closes IDFCI-122

See merge request espressif/esp-idf!10269
2021-02-11 07:34:57 +08:00
morris
e361498a2a intr_alloc: re-enable unit test 2021-02-02 20:25:50 +08:00
Angus Gratton
dfda84c2ab esp_system: Fix some ESP_EARLY_LOG lines not being output fully
At least on ESP32, calling esp_rom_uart_set_clock_baudrate() causes the
contents of the UART FIFO to be discarded.
2021-02-01 14:24:38 +11:00
Jiang Jiang Jian
28faf93c51 Merge branch 'feature/esp32c3_power_down' into 'master'
esp32c3 : power down MAC and BB only if both Wi-Fi and BT power down

Closes FC3-99

See merge request espressif/esp-idf!12076
2021-01-28 23:27:19 +08:00
baohongde
eef66789d4 Mac BB power down in light sleep
components/bt: Do not use feature: timer support isr dispatch method

disable controller after wake up finished.

protect critical section of power down

choose clk in sleep

components/coex: mac bb power down in light sleep

components/coex: Macro changed

components/os: protect reserved interrupt number

update phy to phy_version 300,6e46ba7,Jan 25 2021

some bugfix
2021-01-28 22:28:04 +08:00
Ivan Grokhotkov
9a20283485 Merge branch 'bugfix/scan_test_missing_build_apps_without_tests' into 'master'
ci: bugfix: scan_test missing build apps without tests

See merge request espressif/esp-idf!12138
2021-01-28 17:48:24 +08:00
Martin Vychodil
69096ddce5 Security: ESP32C3 memory protection feature (IRAM0/DRAM0)
Software support for PMS module.
Allows controlled memory access to IRAM (R/W/X) and DRAM0 (R/W)
On/locked by default, configurable in Kconfig (esp_system)

Closes https://jira.espressif.com:8443/browse/IDF-2092
2021-01-27 08:44:03 +01:00
Jiang Jiang Jian
d097988608 Merge branch 'bugfix/keep_esp_rtc_time_correct' into 'master'
newlib: Keep esp rtc time correct

See merge request espressif/esp-idf!11932
2021-01-27 15:22:43 +08:00
Fu Hanxi
e4e375f488 fix: add spi_flash.h for s2, s3, c3 targets in cpu_start.c
update s2, s3, c3 ld files spi_flash_attach to esp_rom_spiflash_attach
2021-01-27 12:35:49 +08:00
Angus Gratton
b432fc8853 esp_system: Enable deep sleep reset reason test for ESP32-C3 2021-01-25 17:20:04 +00:00
Angus Gratton
d3ffaf4684 esp_system: Add soc_caps guards in esp_sleep.h 2021-01-25 17:20:04 +00:00
Angus Gratton
4026e7b250 esp_system esp32c3: Fix uart flush on entering deep sleep 2021-01-25 17:20:04 +00:00
Michael (XIAO Xufeng)
d7d1dee208 system: reset dma when soft reset 2021-01-25 04:51:40 +00:00
Chen Jian Xing
f71adec8fb Support ESP32S3 (beta2) WiFi 2021-01-25 00:18:42 +08:00
Renz Bagaporo
59f7242de1 ci: revert disable esp32s2 timer test 2021-01-22 14:51:50 +08:00
Renz Bagaporo
2dc7b556f3 esp32s2: reset systimer clk on startup 2021-01-22 14:51:50 +08:00
Jiang Jiang Jian
9c5a9ae8fd Merge branch 'bugfix/support_esp32c3_lightsleep_master_cpu_pd_issue' into 'master'
fix cpu pd bug of normal light sleep

See merge request espressif/esp-idf!12083
2021-01-22 14:03:10 +08:00
Angus Gratton
3532f52f60 Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj' into 'master'
ldgen: check mappings

Closes IDF-1624

See merge request espressif/esp-idf!8557
2021-01-21 15:59:35 +08:00
ninh
25dcc68b5d newlib: keep esp_rtc_get_time_us when rewrite the value of RTC_SLOW_CLK_CAL_REG 2021-01-21 02:28:21 +00:00
Li Shuai
58ab3975ea light sleep: fix cpu pd bug of normal light sleep 2021-01-21 10:03:39 +08:00
Li Shuai
6ef2a7def0 bootloader: fix external 32k xtal not found error 2021-01-20 16:51:20 +08:00
Jiang Jiang Jian
26ae354dc5 Merge branch 'feature/support_esp32c3_lightsleep_master' into 'master'
support esp32c3 lightsleep for master

Closes IDF-2106

See merge request espressif/esp-idf!11975
2021-01-20 16:00:06 +08:00
Angus Gratton
55970fe3a2 Merge branch 'feature/esp32c3_support_brownout' into 'master'
esp32c3: Adds support BROWNOUT reset

Closes IDF-2397

See merge request espressif/esp-idf!11910
2021-01-20 12:19:56 +08:00
Li Shuai
f168ac3b39 light sleep: add cpu power down support for esp32c3 2021-01-19 14:51:50 +08:00
Li Shuai
a43de3a44b fix set UART_FORCE_XOFF can't stop new Tx request issue 2021-01-19 14:51:22 +08:00
Li Shuai
ac7d1bec76 light sleep: overhead time accuracy optimization for esp32c3 2021-01-19 14:50:58 +08:00
Li Shuai
aa7fd175b9 light sleep: light sleep support for esp32c3 2021-01-19 14:50:58 +08:00
Renz Bagaporo
d1c800fbbb components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
KonstantinKondrashov
d81a93ae4c esp32c3: Adds support BROWNOUT reset 2021-01-18 15:38:09 +08:00
ninh
659d805411 esp_wifi: light sleep optimization 2021-01-18 15:31:03 +08:00
Angus Gratton
5938b9a892 Merge branch 'feature/support_esp32c3_master_cmake_reset_reason' into 'master'
esp32c3: Add UTs for reset_reason

Closes IDF-2091

See merge request espressif/esp-idf!11546
2021-01-18 07:12:21 +08:00
Konstantin Kondrashov
d23c7690f2 esp32c3: Add UTs for reset_reason 2021-01-18 07:12:21 +08:00
ninh
27aa6c289f components/pm: Add slp gpio configure workaround 2021-01-15 15:34:45 +08:00
Michael (XIAO Xufeng)
2d3f22918f Merge branch 'feature/gdma_channel_allocator' into 'master'
gdma channel allocator

Closes IDF-2124

See merge request espressif/esp-idf!11570
2021-01-14 10:52:49 +08:00
Angus Gratton
f683db7aea Merge branch 'feature/c3_IDF-2554' into 'master'
global: Uses CCOUNT API instead of XTHAL macro

Closes IDF-2554

See merge request espressif/esp-idf!11954
2021-01-13 12:55:21 +08:00
Angus Gratton
820639cede Merge branch 'bugfix/c3_init_priority' into 'master'
fix[cxx/system]: init_priority ordering on RISCV

Closes IDF-2206 and IDFGH-4527

See merge request espressif/esp-idf!11660
2021-01-13 12:52:21 +08:00
Angus Gratton
9769be3fde Merge branch 'bugfix/fix_sign_compare' into 'master'
global: fix sign-compare warnings for system level components

See merge request espressif/esp-idf!11252
2021-01-13 12:45:05 +08:00
morris
40a6a0fac6 async_mcp: apply gdma driver 2021-01-13 10:52:27 +08:00
ninh
6dd6c8c3cf ci: fix IDFCI-377 2021-01-12 13:04:53 +00:00
KonstantinKondrashov
dada7cd035 global: Uses CCOUNT API instead of XTHAL macro 2021-01-12 16:24:23 +08:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
Marius Vikhammer
9c8e4fd4c5 C3: build and run unit tests
Enable building and running of unit tests in CI for C3 as well as fix
related compile errors

Also enables building of C3 test apps
2021-01-11 11:34:37 +08:00
Chen Jian Xing
5b44295cb9 esp_wifi: fix esp32c3 code issues
1. enable wifi clk and rm dport header
2.syn phy_init_data.h from esp32
2021-01-10 16:16:28 +08:00
Jakob Hasse
ed42758549 [cxx/system]: fix init_priority ordering on RISCV
* C++ init_priority attributes work now on RISCV
* Add debug output for init_array functions

Closes IDF-2206
Closes https://github.com/espressif/esp-idf/issues/6351
2021-01-07 16:04:17 +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
Angus Gratton
da44e06f02 Merge branch 'feature/riscv_test_branch_cleanup' into 'master'
cleanup: move freertos code out from riscv component plus complete the interrupt-allocator implementation for C3

Closes IDF-2126, IDF-2228, IDF-2301, and IDF-2545

See merge request espressif/esp-idf!11136
2021-01-06 12:36:29 +08:00
Jiang Jiang Jian
eb9c2d584f Merge branch 'bugfix/fix_tx_issue_after_esp_restart' into 'master'
components/bt: Shutdown Bluetooth before esp_restart.

See merge request espressif/esp-idf!11698
2021-01-06 12:32:03 +08:00
ninh
dc7bdb9857 adjust lightsleep overhead time and cali slowclk 2021-01-06 03:40:28 +00: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
5d316ac142 interrupt: added INTC FLEXIBLE capabillity to esp32c3 CPU caps 2021-01-05 15:39:46 +08:00
Felipe Neves
544a3f7df5 interrupt-allocator: reject vector allocation if its marked as not-implemented. and search to next available 2021-01-05 15:39:46 +08:00
Felipe Neves
09bc1580be intr_allocator: add abstractions for priority, type and edge-ack interrupt controller functions 2021-01-05 15:39:46 +08:00
Omar Chebib
c218f669ba panic on RISC-V: Take into account Merge Request comments 2020-12-31 15:46:17 +08:00
Ivan Grokhotkov
5962b1dc56 panic: print register dump on abort for RISC-V
Register values are necessary to perform host-side backtracing on
RISC-V. Print them in case of an abort as well.
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
Marius Vikhammer
eed154a583 esp_system: sync with C3 changes
Fixes interrupt allocation issue
2020-12-31 15:20:05 +11:00
Marius Vikhammer
f54e9269f3 esp_system: Don't compile sleep_mode.c on c3 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
Marius Vikhammer
3458469204 newlib: Update esp32c3 ROM support, use single init function 2020-12-31 09:27:37 +11:00
Angus Gratton
62cc864cbe Merge branch 'feature/c3_hw_sup_merge_master' into 'master'
esp_hw_support: merge C3 changes to master

See merge request espressif/esp-idf!11820
2020-12-30 20:06:23 +08:00
Marius Vikhammer
eb788deb03 esp_hw_support: merge C3 changes to master
Merge RTC related C3 changes to master
2020-12-30 12:20:41 +08:00
Ivan Grokhotkov
b7b9ea4361 newlib: add _RETARGETABLE_LOCKING support
This adds support for the retargetable locking implementation in
newlib 3. This feature will be enabled in the future toolchain builds.
With the present version of the toolchain, this code doesn't get used.

When _RETARGETABLE_LOCKING gets enabled, newlib locking implementation
will be modified as follows:

- Legacy ESP-specific _lock_xxx functions are preserved. This is done
  because ROM copies of newlib in ESP32 and ESP32-S2 rely on these
  functions through the function pointer table. Also there is some
  code in IDF which still uses these locking functions.

- New __retarget_lock_xxx functions are introduced. Newlib expects
  these functions to be provided by the system. These functions work
  pretty much the same way as the ESP-specific _lock_xxx functions,
  except one major difference: _lock_acquire receives the lock pointer
  by value, and as such doesn't support lazy initialization.

- Static locks used by newlib are now explicitly initialized at
  startup. Since it is unlikely that these static locks are used at
  the same time, all compatible locks are set to point to the same
  mutex. This saves a bit of RAM. Note that there are still many locks
  not initialized statically, in particular those inside FILE
  structures.
2020-12-29 16:18:04 +01:00
Ivan Grokhotkov
7f3b16a99d freertos: always enable static allocation
to use it for newlib locks
2020-12-29 16:18:04 +01: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
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
61c77d9212 esp_system: Add port-specific esp32c3 files 2020-12-24 13:40:01 +11:00
Angus Gratton
55155c3f82 esp_system: Rename _init_start symbol to _vector_table 2020-12-24 13:40:01 +11:00
Angus Gratton
cfbded2ea1 esp_system: Add extra MMU config step for ESP32-C3 2020-12-24 13:40:01 +11:00
Angus Gratton
01696afc34 esp32c3: Add new esp_sleep_is_valid_wakeup_gpio() function 2020-12-24 13:40:01 +11:00
Angus Gratton
a5aac93051 esp_rom: Small changes for esp32c3 support
Updated from internal commit 6d894813
2020-12-24 13:40:01 +11:00
Liu Ning
57aa65eeed components/pm: Add sleep related code iram opt chioce 2020-12-23 14:45:36 +08:00
baohongde
3b0fc48ab4 components/bt: Shutdown Bluetooth before esp_restart. 2020-12-21 20:08:10 +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
Ivan Grokhotkov
829d94ad01 Merge branch 'fix/rtc_fast_memory_force_on_in_use_for_heap' into 'master'
fix: RTC_FAST_MEM always power on if used for heap

See merge request espressif/esp-idf!11555
2020-12-15 18:45:20 +08:00
Michael (XIAO Xufeng)
40b08e33c9 Merge branch 'bugfix/touch_sensor_reading_error_in_light_sleep_process' into 'master'
driver(touch): fix touch sensor false trigger in sleep mode

See merge request espressif/esp-idf!10983
2020-12-14 14:51:51 +08:00
morris
c39476d699 esp_rom: added esp_rom_install_uart_printf 2020-12-11 11:45:10 +08:00
fuzhibo
985e94139d driver(touch): fix touch sensor false trigger in sleep mode 2020-12-10 17:43:14 +08:00
fuzhibo
f4aedfd017 fix: RTC_FAST_MEM always power on if used for heap 2020-12-10 14:45:41 +08:00
Angus Gratton
5228d9f9ce esp32c3: Apply one-liner/small changes for ESP32-C3 2020-12-01 10:58:50 +11:00
Armando
05a4a8d864 uart: seperate sclk and baudrate setting 2020-11-24 19:12:52 +08:00
chaijie
a48b5246cc ESP32: Fix xtal 32k not oscillate or oscillate too slowly issue
ESP32 in revision0 and revision1 uses touchpad to provide
current to oscillate xtal 32k. But revision2 and revision3
do not need to do that.
Note: touchpad can not work and toupad/ULP wakeup sources
are not available when toupad provides current to xtal 32k
2020-11-23 19:38:11 +08:00
morris
115069386b async_mcp: add DMA capability to allocated memory 2020-11-17 20:09:14 +08:00
morris
e039a28821 console: support create REPL over USB CDC 2020-11-13 10:51:40 +08:00
Renz Bagaporo
4cc6b5571b esp_system: support riscv panic 2020-11-13 07:49:11 +11: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
e82eac4354 cmake: Apply cmakelint fixes 2020-11-11 07:36:35 +00:00
Angus Gratton
0032971311 Merge branch 'bugfix/ulp_wakeup_trigger' into 'master'
ulp risc_v: fix bug about bit for wakeup trigger

Closes IDF-2298

See merge request espressif/esp-idf!11106
2020-11-09 14:57:36 +08:00
Jeroen Domburg
4b444316ab Psram: Do not initialize spiram cache if no chip is found.
Closes https://github.com/espressif/esp-idf/issues/6063
2020-11-06 02:32:39 +00:00
Cao Sen Miao
bd2d70ca0b ulp risc_v: fix bug about bit for wakeup trigger 2020-11-04 10:47:40 +08:00
fuzhibo
93c7cf094e rtc: update rtc related code(rtc_sleep rtc_init) to support esp32s3 2020-11-04 02:43:41 +00:00
morris
9de6cba434 ci: add more build test for esp32-s3 2020-10-27 17:22:17 +08:00
morris
d084ef4473 gdma: fix wrong m2m mode wrong config 2020-10-27 16:53:19 +08:00
Angus Gratton
f806261964 Merge branch 'bugfix/fix_rtc_io_hal_desc' into 'master'
Sleep related minor description fixes

Closes IDFGH-3868

See merge request espressif/esp-idf!10725
2020-10-26 18:48:03 +08:00
Renz Bagaporo
b3a7c6e27e components: remove some unneeded headers from source files 2020-10-22 19:37:10 +08:00
Renz Bagaporo
0aa9ee5b24 esp32s3: delete duplicate esp32s3 2020-10-22 20:01:59 +11: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
Angus Gratton
466ad65cf4 Merge branch 'bugfix/usb_console_critical_section' into 'master'
esp_system: fix incorrect critical section usage in usb_console

Closes IDF-2049

See merge request espressif/esp-idf!10826
2020-10-15 10:36:57 +08:00
Felipe Neves
dfa2d547a7 freertos: pin timer task in core 0 plus fixed in SMP race conditions
freertos: replace the freertos regular malloc to the specific malloc from xtensa port for tcb and stack allocations

freertos: avoid the cpu1 to unwind pended ticks when xTaskResumeAll is called insed of an ISR

freertos: protected the xPortGetCoreID functions with missing critical sections

tests: re-eanble the ignored tests that was failling before race-condition fixes
2020-10-14 16:11:49 +11:00
Felipe Neves
656b706ea4 freertos: added core-ID member to task status structure aloowing its tracing.
Closes https://github.com/espressif/esp-idf/issues/5763
2020-10-14 16:11:39 +11:00
Felipe Neves
f3783ba258 app_trace/sysview: fixed freertos tracing calling plus sync apptrace component with the master branch version
docs: remove reference to backported features in freertos 10 api-reference.
2020-10-13 23:52:03 +00:00
Ivan Grokhotkov
4dc1195ca5 esp_system: fix incorrect critical section usage in usb_console
spinlock_acquire does not disable interrupts, whereas
portENTER_CRITICAL does.

Closes IDF-2049
2020-10-13 17:39:31 +02:00
Angus Gratton
ff8d05466e Merge branch 'bugfix/deep_sleep_stub_heap_rtc_fast_mem' into 'master'
deep sleep: Calculate RTC CRC without using any stack or other RTC heap memory

Closes IDF-2242

See merge request espressif/esp-idf!10741
2020-10-13 06:17:50 +08:00
Angus Gratton
562ab01046 deep sleep: Calculate RTC CRC immediately before deep sleep, without using RAM
Fix for issues where RTC FAST memory is updated as part of going into deep
sleep. Very high risk if heaps are in RTC memory - in particular task stacks
may be in RTC memory, but also other variables.

Also fixes potential concurrency problems as RTC FAST memory is not accessible
by CPU during the CRC calculation itself.

Method:
- Disable interrupts (currently for single core only, will need update for S3)
- Load all registers before calculating CRC or going to sleep
2020-10-12 11:19:56 +11:00
Martin Vychodil
497b730e8f * memprot support for RTC_SLOW
* API upgrade
JIRA IDF-1636
2020-10-08 11:19:23 +08:00
Angus Gratton
e28cd68839 esp_system: Add test case for using deep sleep wake stub when stack is in RTC memory
This test currently fails on ESP32 & ESP32-S2, fix will be in next commit.
2020-10-08 11:17:27 +11:00
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
Mahavir Jain
20af94ff53 Coredump config option rename throughout IDF 2020-09-30 20:22:27 +05:30
Mahavir Jain
bd19088125 esp_system: initialize coredump for ESP32-S2
This was regression introduced in recent refactoring changes
from startup code.
2020-09-30 20:22:27 +05:30
Felipe Neves
2e826b7a8f intr_alloc: split interrupt allocator into common-code and platform-code
esp_system: removed repeated interrupt allocator code and moved common code to esp_system

xtens: moved xtensa specific code from freertos to the xtensa component

hal/interrupt_controller: added interrupt controller hal and ll files

docs: update the doxyfile with new location of esp_itr_alloc.h file

xtensa: fixed dangerous relocation problem after moving xtensa interrupt files out of freertos

docs: removed Xtensa reference from intr_allocator api-reference

xtensa: pushed the interrupt function that manages non iram interrupts to the xtensa layer

esp_system/test: fixed platform dependent setting for intr_allocator tests

hal: rename the functions used to manage non iram interrupt mask.
2020-09-30 07:44:12 +08:00
Renz Bagaporo
fb749440fd esp_pm: create pm init function 2020-09-25 05:24:10 +00:00
Renz Bagaporo
6462f9bfe1 esp32, esp32s2: create esp_pm component 2020-09-25 05:24:10 +00:00
Jiang Jiang Jian
e093eb064c Merge branch 'feature/run_esp32c3_code_on_esp32_and_esp32s2' into 'master'
Feature/run esp32c3 code on esp32 and esp32s2

See merge request espressif/esp-idf!10213
2020-09-24 13:27:47 +08:00
Xia Xiaotian
bdbe74693f esp_wifi: refactor wifi code in order to adapter to new chips 2020-09-24 10:15:50 +08:00
jiangguangming
28145e0894 support flash instr and rodata copy to SPIRAM 2020-09-22 15:15:03 +08:00
morris
61f89b97c6 bringup esp32-s3 on FPGA 2020-09-22 15:15:03 +08:00
chenjianqiang
f19cabb7e4 psram: support psram for esp32s3 2020-09-22 15:15:03 +08:00
morris
6225932201 bootloader_support: add esp32-s3 initial support 2020-09-22 15:15:03 +08:00
Felipe Neves
e8a276d641 esp_system: revert the esp_system_abort to the IRAM section 2020-09-18 22:18:30 -03:00
Michael (XIAO Xufeng)
3c283b490a Merge branch 'feature/async_memcpy' into 'master'
async_mcp: support async memory copy on esp32s2 and esp32s3

See merge request espressif/esp-idf!10242
2020-09-17 16:54:28 +08:00
morris
a3cc43485f async memcpy: support async memcopy on esp32s2/s3
Added async memory copy API:
on esp32-s2, the implementation is based on CP_DMA
on esp32-s3, the implementation is based on GDMA
2020-09-16 21:30:54 +08:00
Felipe Neves
e67162a7ea startup: namespaced start_app and start_app_other_core to avoid user code collision 2020-09-15 16:05:19 -03:00
Felipe Neves
a1e5dd58b2 startup: moved init core functions out of iram memory 2020-09-15 16:02:12 -03:00
Michael (XIAO Xufeng)
1a1e1911f9 Merge branch 'bugfix/spi_dma_close_before_cpu_reset' into 'master'
spi: fix issue with closing DMA before CPU reset

Closes FCS-484

See merge request espressif/esp-idf!9844
2020-09-14 23:02:05 +08:00
Ivan Grokhotkov
77afbd51ae sleep: fix esp32 light sleep duration
Commit aa43ed8 was fixing the light sleep overhead calculation for
ESP32-S2. However it also changed the overhead values for ESP32,
resulting in incorrect light sleep time. This caused regression in
light sleep example test.

Revert the original values for the ESP32, keep different set of values
for each chip.
2020-09-09 23:34:54 +02:00
ninh
aa43ed8bb8 fix reboot or crash when enable lightsleep on esp32s2 2020-09-07 15:38:00 +08:00
Ivan Grokhotkov
9d3add538b Merge branch 'feature/toolchain_2020r3' into 'master'
Update toolchain to esp-2020r3

See merge request espressif/esp-idf!10250
2020-09-04 14:07:24 +08:00
Anton Maklakov
f63bbc169e toolchain: fix the C++ exception workaround for new toolchains that don't have such hook 2020-09-03 13:50:54 +07:00
Mahavir Jain
7f5b6d1843 Merge branch 'bugfix/time_spinlock' into 'master'
newlib: revert back from spinlocks to using newlib locks for time.h

Closes IDFGH-3858

See merge request espressif/esp-idf!10130
2020-09-03 12:34:29 +08:00
Marius Vikhammer
6fb996b1ac newlib: revert back from spinlocks to using newlib locks for time.h
Spinlocks from spinlock.h do not disable the scheduler and thus cannot safely
be directly used as a locking mechanism. A task holding the lock can get
pre-empted, and at that point the new running task will also be allowed to
take the spinlock and access whatever it was protecting.

Another issue is that the task holding a spinlock could migrate to a different
core which in turn would cause the application to fail asserts. The current
implementation assumes the core that takes the lock is also the core that
releases it.

Closes https://github.com/espressif/esp-idf/issues/5762
2020-09-03 09:56:02 +08:00
Michael (XIAO Xufeng)
9e7eda9770 Merge branch 'feat/spi_flash_override_size' into 'master'
spi_flash: add config option to override flash size in bootloader header

See merge request espressif/esp-idf!10131
2020-09-03 02:57:31 +08:00
Michael (XIAO Xufeng)
37423083bb spi_flash: add config option to override flash size in bootloader header
Sometimes the flash size read from bootloader is not correct. This may
forbid SPI Flash driver from reading the the area larger than the size
in bootloader header.

When the new config option is enabled, the latest configured
ESPTOOLPY_FLAHSIZE in the app header will be used to override the value
read from bootloader header.
2020-09-02 00:35:53 +08:00
KonstantinKondrashov
b1e667cdcc esp_system: Disable UTs for ESP32-S2 linked to sleep mode
- disable source trigger behavior
- light sleep followed by deep sleep
- wake up from light sleep using timer
2020-09-01 17:10:28 +08:00
me-no-dev
0aa1c13027 Fix USB CLK always reset and USB with swapped pins not working 2020-08-25 10:59:59 +03:00
Armando
aa93347972 spi: remove spi4 related macros and codes 2020-08-17 21:32:15 +08:00
Renz Bagaporo
3f6e366f56 esp_system: force RTC_SLEEP_PD_XTAL on ESP32 via get pdflags
Based on the original code (`esp32/sleep_modes.c`), `RTC_SLEEP_PD_XTAL`
is always given as an argument to `esp_sleep_start`. Enforce this in
function to get power down flags to avoid redundancy.
2020-08-17 19:09:24 +08:00
Renz Bagaporo
0db3edd490 esp32: move sleep test to esp_system 2020-08-17 19:09:24 +08:00
Renz Bagaporo
fe65bf00b1 esp_system: use ext0, ext1, ulp wakeup prepare hal 2020-08-17 19:09:24 +08:00
Renz Bagaporo
4f5135030f esp_system: remove register level operations for timer wakeup 2020-08-17 19:09:24 +08:00
Renz Bagaporo
b30522f701 esp32, esp32s2: move sleep modes code to esp_system 2020-08-17 19:09:23 +08:00
Angus Gratton
62c4b569ad Merge branch 'refactor/timekeeping_init' into 'master'
Timekeeping refactor

Closes IDF-1864

See merge request espressif/esp-idf!7824
2020-08-17 08:13:44 +08:00
liu zhifu
6ed4dd65a4 esp_wifi: optimize WiFi debug log
1. Add esp_wifi_statis_dump()
2. Optimize WiFi related debug log
2020-08-15 11:35:10 +08:00
Angus Gratton
1a47f025e9 Merge branch 'bugfix/cpu_start_build' into 'master'
esp_system: fix bootloader wdt enabled build issue

Closes IDFGH-3717

See merge request espressif/esp-idf!9816
2020-08-13 16:52:31 +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
Renz Bagaporo
5785e4dfb6 newlib: move some functions to soc, esp32, esp32s2 2020-08-10 15:11:38 +08:00
Ivan Grokhotkov
5ff9cd495e panic: skip over the first invalid PC in case of InstrFetchProhibited
InstrFetchProhibited usually occurs because of a jump to an invalid
pointer. In this case, PC in the exception frame is the address of
the jump destination. 'esp_ptr_executable' check in print_backtrace
function recognizes the first frame as invalid, and the backtrace is
interrupted. This prevents the user from finding the location where
the invalid pointer is dereferenced.

Bypass the 'esp_ptr_executable' check if the exception cause is
InstrFetchProhibited. Update the test case to no longer ignore this
issue.
2020-08-05 12:00:50 +02:00
Renz Bagaporo
43af455457 esp_system: fix bootloader wdt enabled build issue
Closes https://github.com/espressif/esp-idf/issues/5643
2020-08-05 10:39:12 +08:00
Jiang Jiang Jian
d1f9a238f3 Merge branch 'bugfix/sys_fix_build_error_about_livelock' into 'master'
components/sys: Fix build error about livelock when intwdt is disable

See merge request espressif/esp-idf!9312
2020-07-31 16:43:22 +08:00
Angus Gratton
75402afcae Merge branch 'feature/esp32s3_clk_memory_layout' into 'master'
esp32s3: memory layout

See merge request espressif/esp-idf!9753
2020-07-29 13:48:25 +08:00
Ivan Grokhotkov
8ac56e904b Merge branch 'bugfix/coredump_esp_panic_reason' into 'master'
Coredump ESP panic reason

See merge request espressif/esp-idf!9072
2020-07-28 23:49:10 +08:00
Ivan Grokhotkov
16c73edc67 Merge branch 'refactor/add_alias_name_for_ets_common_api' into 'master'
esp_rom: extract common ets apis into esp_rom_sys.h

See merge request espressif/esp-idf!9701
2020-07-28 15:04:55 +08:00
Alexey Gerenkov
21091c6b0e coredump: Fixes ESP-specific panic reasons handling 2020-07-27 21:38:33 +03:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
morris
19761e3113 esp32s3: clk, memory layout 2020-07-27 13:05:22 +08:00
baohongde
acb835d86f components/sys: Fix build error about livelock when intwdt is disable 2020-07-23 02:21:32 +00:00
Renz Bagaporo
837052c86f esp_system: restore deleted no stack check flag
Restores the change of startup refactor changes removed the no stack
check protection flag when compiling the source file that contains
execution of constructors - which contains function to setup stack
guard. Restore that and update the source file, since this is in the 2nd
stage of the startup now.

Closes https://github.com/espressif/esp-idf/issues/5617
2020-07-22 11:57:18 +08:00
Angus Gratton
442736c5d6 Merge branch 'refactor/common_rom_uart_apis' into 'master'
esp_rom: extract common uart apis into esp_rom_uart.h

See merge request espressif/esp-idf!9313
2020-07-21 15:24:21 +08:00
Angus Gratton
3755fb6597 Merge branch 'feature/add_esp32s3_bootloader_ld_file' into 'master'
move part of esp32-s3 codes to master (bootloader linker, esp32s3 empty componnet)

See merge request espressif/esp-idf!9608
2020-07-21 14:51:04 +08:00
Angus Gratton
5c58564f90 Merge branch 'feature/support_for_esp32_pico_v3_02' into 'master'
psram: support for esp32-pico-v3-02

See merge request espressif/esp-idf!9405
2020-07-21 13:28:26 +08:00
chenjianqiang
bff6b5b70e bugfix(psram): configure MMU after PSRAM initialization 2020-07-20 12:21:32 +08:00
morris
d066c3ab2c esp_system: add panic high interrupt handler for esp32s3 2020-07-20 11:15:24 +08:00
morris
6316e6eba2 esp_system: add CONFIG_ESP_SYSTEM_RTC_EXT_CRYS 2020-07-20 11:15:24 +08:00
Ivan Grokhotkov
c943516c96 esp_system: fix compilation error when security features are enabled
affects CONFIG_SECURE_DISABLE_ROM_DL_MODE, CONFIG_SECURE_ENABLE_SECURE_ROM_DL_MODE
2020-07-17 21:04:08 +02:00
morris
345606e7f3 esp_rom: extract common uart apis into esp_rom_uart.h 2020-07-17 16:00:59 +08:00
morris
458b14a8ea esp_rom: extract common efuse apis into esp_rom_efuse.h 2020-07-15 10:40:50 +08:00
Angus Gratton
24e49cc21d Merge branch 'refactor/panic_handler_follow_ups' into 'master'
Panic handler follow ups

See merge request espressif/esp-idf!7732
2020-07-15 08:21:09 +08:00
Shubham Kulkarni
d4ce5de16e Include header file soc/cpu.h in memprot.c and system_api.c
This fixes build issues with Vanilla FreeRTOS
2020-07-10 13:56:42 +05:30
Renz Christian Bagaporo
08ad0f8194 esp_system: remove usage of CONFIG_FREERTOS_UNICORE from panic handler 2020-07-06 15:33:56 +08:00
xiehang
8b523efc6f esp_wifi: Add API to get available internal heap size. 2020-06-30 21:51:00 +08:00
Darian Leung
97721d469c TWAI: Add ESP32-S2 support
This commit adds TWAI driver support for the
ESP32-S2. The following features were added:

- Expanded BRP support
- Expanded CLKOUT Divider Support
- Updated example READMEs
2020-06-30 16:56:03 +08:00
Ivan Grokhotkov
45fff86e05 Merge branch 'feature/usb_console_ig' into 'master'
add USB CDC as a console option

Closes IDF-1620

See merge request espressif/esp-idf!8459
2020-06-29 05:16:15 +08:00
Ivan Grokhotkov
e94848556b esp32, esp32s2: update console initialization 2020-06-26 15:38:49 +02:00
Ivan Grokhotkov
34f441249b esp32s2: add internal usb_console API 2020-06-26 15:38:49 +02:00
Jakob Hasse
f4c2f680f7 toolchain: C++ exception workarounds
* enable C++ exception crash workaround
* disable C++ crash workaround

Closes https://github.com/espressif/esp-idf/issues/5360
Closes IDF-1128
Closes IDF-1301
Closes IDF-1804
2020-06-24 17:55:35 +08:00
Renz Bagaporo
98f4ccaef5 esp_system: fix other core init issue
Core 1 was not being stopped when in single core mode resulting to GDB
timing out.
2020-06-19 18:40:10 +10:00
Renz Bagaporo
98dc1b0188 esp_system: introduce intermediary function to call after system init
This MR uses an intermediary function `start_app` to call after system
initialization instead of `app_main`.

In RTOS builds, freertos provides `start_app` and calls `app_main`.
In non-RTOS builds, user provides `start_app` directly.
2020-06-19 18:40:10 +10:00
Renz Bagaporo
08cbfa6187 esp_system: fix various review issues 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo
67983d5c1c esp_system: restore order of some init functions 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo
4d094eccca esp_system: move brownout init due to dependency issue 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo
ef2a44d251 esp_system: introduce single core mode proxy config 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo
c53ad56515 esp_system: startup flow modifications
Changes the startup flow to the ff:

hardware -> core libraries init  -> other libraries init -> os
init (optional) -> app_main

- hardware init resides in the port layer, and is the entry point

- core libraries init executes init functions of core components

- other libraries init executes init functions of other components (weak
references)

- after other lib is init, the app_main function is called, however,

 an OS can wrap the real call to app_main to init its own stuff, and
 *then* call the real app_main
2020-06-19 18:40:09 +10:00
Renz Christian Bagaporo
0f43a2620d esp_system: component init functions macro
Allows components to declare initialization function, such that the
startup code does not have direct dependency on the component.
2020-06-19 18:40:09 +10:00
Renz Bagaporo
bb5535ca5d esp32, esp32s2: move startup code into esp_system 2020-06-19 18:40:09 +10:00
Renz Christian Bagaporo
62ef63e835 esp32, esp32s2: move clk init functions to esp_system 2020-06-19 18:40:09 +10:00
Jiang Jiang Jian
c3e6689777 Merge branch 'bugfix/customer_baidu_int_wdt_master' into 'master'
system: add soft solution for esp32 eco3 live lock issue

See merge request espressif/esp-idf!8968
2020-06-17 11:53:25 +08:00
morris
067b1b91c2 global: add new target name: esp32-s3
add target name, chip ID, toochain descriptions for ESP32-S3
2020-06-11 21:40:08 +08:00
Li Shuai
72f583dfa7 add soft solution for esp32 eco3 live lock issue 2020-06-05 06:04:18 +00:00
Sachin Parekh
46d914ff45 gdb: Modify PC in case of invalid PC
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2020-05-08 18:34:52 +05:30
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
Ivan Grokhotkov
8bdfb265a4 panic handler: fix cache error handling 2020-05-04 10:13:14 +00:00
Ivan Grokhotkov
0a389b1764 esp_system: restore weak esp_reset_reason functions 2020-05-04 10:13:14 +00:00
Renz Bagaporo
5abb4f6455 esp_system, esp_common: fixes to some panic handler refactor issues 2020-04-24 16:34:15 +08:00
Martin Vychodil
7491ea677a esp32s2: IRAM/DRAM memory protection
* new mem_prot API
* mem_prot on & locked by default (see Kconfig)
* feature activated in start_cpu0_default()

JIRA IDF-1355
2020-04-21 15:10:58 +02:00
David Cermak
06c46837ce panic: ignore deliberate null dereference to pass static analysis 2020-03-27 19:18:40 +01: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
Renz Bagaporo
ee519634a5 esp_system: retain backtrace no space 2020-03-10 19:56:24 +08:00
Renz Bagaporo
7cc8cb68bd esp_system: suppress reason display on software abort panic 2020-03-10 19:56:24 +08:00
Renz Bagaporo
890510aecd esp32, esp32s2: move reset reason source to esp_system 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
29ebfc3f46 esp_system: let panic handler break on debug mode on software abort 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
af9b1131a3 esp_system: share abort panic with port layer 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
2855bb6f0a newlib: move abort to newlib 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
2b100789b7 esp32, esp32s2: move panic handling code to new component 2020-03-10 19:56:24 +08:00