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