Commit Graph

647 Commits

Author SHA1 Message Date
Martin Vychodil
af81bd1b0a Storage: Partition APIs moved to the new component 'esp_partition'
All the partition handling API functions and data-types were moved from the 'spi_flash' component to the new one named 'esp_partition'. See Storage 5.x migration guide for more details
2022-11-02 21:49:08 +01:00
Jiang Jiang Jian
2635a18df2 Merge branch 'bufix/Backport_some_wifi_lwip_bugs_for_5.0_0821' into 'release/v5.0'
Bufix/backport some wifi lwip bugs for 5.0 0821

See merge request espressif/esp-idf!20732
2022-10-28 16:33:50 +08:00
Li Shuai
b306b48aa3 backup dma: force clear reset signal to fix the backup dma operation failure caused by RTC_SW_CPU_RST 2022-10-24 04:27:54 +00:00
xueyunfei
9948de101d lwip:bugfix for increase ping task stack size 2022-10-21 16:21:06 +08:00
Jiang Jiang Jian
a0bc7f57cc Merge branch 'bugfix/fix_xtal32k_error_detect_backport_v5.0' into 'release/v5.0'
esp_hw_support/clk_cali: fix xtal32k error detect(backport v5.0)

See merge request espressif/esp-idf!20266
2022-09-21 22:36:04 +08:00
jingli
e012b2b454 esp_hw_support/clk_cali: remove redundant check for cali value 2022-09-21 16:21:23 +08:00
jingli
9fa4bb272e esp_hw_support/clk_cali: fix xtal32k error detect 2022-09-21 16:21:11 +08:00
Darian Leung
0c8ac295c5 riscv: Remove redundant riscv_interrupts.h header
This commit removes the riscv_interrupts.h header is it has become redundant. The previously
exposed API has been handled as follows:

- "riscv_interrupt_enable()" and "riscv_interrupt_disable()" have been removed. These functions
  were declarations only and never had any implementation.
- "riscv_global_interrupts_enable()" and "riscv_global_interrupts_disable()" renamed to
  "rv_utils_intr_global_enable()" and "rv_utils_intr_global_disable()" respectively and now
  placed in rv_utils.h
2022-09-19 14:19:11 +08:00
Jiang Jiang Jian
db69ae2787 Merge branch 'bugfix/remove_remaining_rom_time_t_dependencies_v5.0' into 'release/v5.0'
Newlib: Add workaround for ROM Newlib stdio functions using 32-bit time_t callpath (v5.0)

See merge request espressif/esp-idf!19685
2022-08-29 22:52:33 +08:00
Armando
29ae238845 mmu: driver framework, for vaddr maintenance
This commit gives basic mmu driver framework. Now it is able to maintain
mmu virtual address usage on esp32, esp32s2 and esp32s3. Usage to
external virtual address should rely on mmu functions to know which
address range is available, instead of hardcoded.

This commit also improves psram memory that is added to the heap
allocator. Now it's added to the heap, according to the memory
alignment.

Closes https://github.com/espressif/esp-idf/issues/8295
Closes https://github.com/espressif/esp-idf/issues/9193
2022-08-27 16:05:51 +08:00
Mahavir Jain
6d37f012e1 Merge branch 'feature/app_metadata_to_esp_system_v5.0' into 'release/v5.0'
app_update: Moved app metadata to new component `esp_app_format` (v5.0)

See merge request espressif/esp-idf!19754
2022-08-25 17:06:50 +08:00
Laukik Hase
5545b3790f
esp_app_format: Fixed build errors and resolved dependencies 2022-08-24 14:46:32 +05:30
Michael (XIAO Xufeng)
6ed15178b6 uart: move frequency of clock sources out of HAL 2022-08-22 14:28:12 +08:00
Darian Leung
a202ec2caf newlib: Add workaround for printf functions using 32-bit time_t on first call
sizeof(time_t) was previously switched from 4 to 8, ROM functions that use
time_t or dependent types (such as "struct stat") are no longer called due as
they still treat sizeof(time_t) as 4 (see commit
24c20d18).

However, there is a ROM callpath that was left out. If putchar is the first
stdio print related call, the call path will result in cantwrite() ->
__swsetup_r() -> __smakebuf_r() -> __swhatbuf_r() using the ROM "struct stat"
(where sizeof(time_t)==4).

Instead of removing all printf related ROM newlib functions (which will result
in increased binary size), this commit adds a workaround to setup the stdio
files before any print related calls occur.

This results in cantwrite() always returning false, thus the callpath described
above never being reached.

Closes https://github.com/espressif/esp-idf/issues/9269
2022-08-22 11:28:55 +08:00
Darian Leung
aa25d83787 esp_hw_support: Fix esp_light_sleep_start() deadlock
esp_light_sleep_start() will stall the other CPU via esp_ipc_isr_stall_other_cpu(). After stalling the other CPU,
will call esp_clk_... API which themselves take locks. If the other stalled CPU is holding those locks, this will
result in a deadlock.

This commit adds a workaround calling esp_clk_private_lock() to take the lock before stalling the other CPU.
2022-08-11 18:38:51 +08:00
jingli
8cd7c30bc7 kconfig: refactor xtal freq kconfig to common configuration item 2022-08-08 13:53:02 +08:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Omar Chebib
2f7bae7a6e Task WDT: add a panic test case for to test panic on both CPU cores 2022-08-02 12:41:14 +08:00
Omar Chebib
e25cda2c40 Task WDT: Interuptee task stack is now used for backtracing, regardless of the CPU core
For RISC-V and Xtensa targets, in case a panic needs to happen when
Task WDT is triggered (ESP_TASK_WDT_PANIC), the interruptee's stack
is now used for printing the backtrace.
Abort after Task Watchdog is triggered can happen on APP CPU (second core).
2022-08-02 12:41:14 +08:00
Marius Vikhammer
67d0a10548 Merge branch 'bugfix/rtc_brownout_isr_handler_stall' into 'master'
system: fix brownout ISR triggering assert on single-core configs.

Closes IDFGH-7939

See merge request espressif/esp-idf!19304
2022-08-02 10:38:29 +08:00
Roland Dobai
956f08826f Merge branch 'fix/esp32c2_gcov_example_build' into 'master'
esp32c2: fix gcov example build

See merge request espressif/esp-idf!19201
2022-08-01 20:28:36 +08:00
Marius Vikhammer
0f555b2a1d system: fix brownout ISR triggering assert on single-core configs.
ISR handler was incorrectly calling stall other cpu even on single core systems

Closes https://github.com/espressif/esp-idf/issues/9456
2022-08-01 16:18:30 +08:00
morris
dba813bac4 Merge branch 'bugfix/disable_rom_lgo' into 'master'
system: moved placement of disable rom log efuse in startup flow

Closes IDFGH-7940

See merge request espressif/esp-idf!19305
2022-08-01 16:04:20 +08:00
Ivan Grokhotkov
0d4a533b74 Merge branch 'bugfix/usb_console_reset' into 'master'
esp_system: usb_console: fix restart when Wi-Fi is working

Closes IDFGH-5683

See merge request espressif/esp-idf!19289
2022-08-01 13:36:44 +08:00
Marius Vikhammer
da91fb7a81 system: moved placement of disable rom log efuse in startup flow
Functions used for burning this efuse would log, but at this point
esp_log is not initialized. Moved to a later point in the startup process.

Closes https://github.com/espressif/esp-idf/issues/9457
2022-08-01 11:16:17 +08:00
Darian Leung
e073fc4254 esp_system: Increase IPC stack size for ESP32-S3
ESP32-S3 stacks have currently have less useable space compared to other targets (due to
AI coprocessor context registers). This has caused a stack overflow in the IPC tasks under
some configurations. This commit increases the default IPC stack size for the ESP32-S3.
2022-07-29 15:00:57 +08:00
Ivan Grokhotkov
bf10146a15
esp_system, vfs: fix incomplete blocking reads in vfs_cdcacm
Blocking read from cdcacm VFS could return less bytes than requested.
This didn’t match the behaviour of other VFS drivers, and higher level
code could misbehave.
2022-07-28 17:28:08 +02:00
Ivan Grokhotkov
3254f8deae
esp_system: usb_console: fix restart when Wi-Fi is working
Previously, reset over USB CDC was done by calling esp_restart from
an interrupt handler. This works only until some restart hook function
is registered using esp_register_shutdown_handler, and the hook
function tries to do something that isn’t allowed in an interrupt
handler. One such case is with Wi-Fi. When Wi-Fi driver is installed,
it registers esp_wifi_stop as a shutdown handler function. However
esp_wifi_stop cannot be called from an ISR, and hence we shouldn’t
call esp_restart from an ISR either.

This commit modifies USB CDC driver to call esp_restart by posting it
to esp_timer task.

Closes https://github.com/espressif/esp-idf/issues/7404
2022-07-28 17:15:03 +02:00
Erhan Kurubas
22d771bf51 esp32c2: fix gcov example build 2022-07-28 13:59:29 +02:00
Darian Leung
05ff1039dc esp_hw_support: Fix misuse of spinlocks as critical sections
Spinlocks themselves do not constitute critical sections as after a spinlock is acquired, interrupts
can remain enabled. However, there are some places where spinlocks are used direclty instead of using
the portMUX_TYPE and portENTER_CRITICAL_...() APIs. This commit fixes those calls.
2022-07-28 17:25:00 +08:00
Darian
c8ee369a7c Merge branch 'feature/deprecate-old-cpu-api' into 'master'
HAL: Deprecate old CPU/SoC/Interrupt Controller HAL API

Closes IDF-4919 and IDF-5032

See merge request espressif/esp-idf!18987
2022-07-23 00:37:33 +08:00
Jakob Hasse
bff6826ee1 bugfix (esp_system): made xt_wdt spinlock static 2022-07-22 08:17:59 +00:00
Guillaume Souchere
0bac33ed41 esp_system: Remove deprecate section from esp_cpu.h
- Remove esp_cpu_in_ocd_mode() from esp_cpu.h. Users should call esp_cpu_dbgr_is_attached() instead.
- Remove esp_cpu_get_ccount() from esp_cpu.h. Users should call esp_cpu_get_cycle_count() instead.
- Remove esp_cpu_set_ccount() from esp_cpu.h. Users should call esp_cpu_set_cycle_count() instead.
- Other IDF components updated to call esp_cpu_dbgr_is_attached(), esp_cpu_get_cycle_count() and esp_cpu_set_cycle_count() as well.
2022-07-22 00:06:06 +08:00
Guillaume Souchere
6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Marius Vikhammer
ccc184de51 ipc: Increase stacksize when compiling with -O0 2022-07-18 13:55:03 +08:00
Fu Hanxi
c0568611dd docs: changes docs supported targets tables 2022-07-14 08:26:32 +08:00
Fu Hanxi
05d2357062 feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
Ivan Grokhotkov
230e732018 Merge branch 'feature/system_init_priorities' into 'master'
esp_system: introduce priorities for startup functions

Closes IDFGH-5683 and IDF-4954

See merge request espressif/esp-idf!18159
2022-07-14 06:22:25 +08:00
Ivan Grokhotkov
02f28ef32a Merge branch 'bugfix/esp_error_check_func_addr' into 'master'
esp_err: two minor issues

Closes IDFGH-7530

See merge request espressif/esp-idf!18665
2022-07-14 04:14:16 +08:00
Mahavir Jain
20e21fb29d Merge branch 'refactor/remove_rom_deps' into 'master'
RFC: remove dependency to target-specific ROM headers

Closes IDF-1968

See merge request espressif/esp-idf!18206
2022-07-13 16:44:44 +08:00
Jiang Jiang Jian
b610b47a83 Merge branch 'feature/esp32s3_memprot_additional_improvements' into 'master'
[System/Security] Memprot after-merge improvements (v5.0)

Closes IDF-5263 and IDF-5208

See merge request espressif/esp-idf!18893
2022-07-13 15:48:20 +08:00
Jakob Hasse
33a3616635 refactor (bootloader_support, efuse)!: remove target-specific rom includes
The following two functions in bootloader_support are private now:
* esp_secure_boot_verify_sbv2_signature_block()
* esp_secure_boot_verify_rsa_signature_block()
They have been moved into private header files
inside bootloader_private/

* Removed bootloader_reset_reason.h and
  bootloader_common_get_reset_reason() completely.
  Alternative in ROM component is available.

* made esp_efuse.h independent of target-specific rom header
2022-07-13 10:29:02 +08:00
Ivan Grokhotkov
ca7c9947fc
esp_system: fix address printed by ESP_ERROR_CHECK
...to point to the calling function, not to _esp_error_check_failed.
2022-07-12 17:01:47 +02:00
Ivan Grokhotkov
a334cd50ce
app_trace: perform initialization using ESP_SYSTEM_INIT_FN 2022-07-12 16:58:15 +02:00
Ivan Grokhotkov
0e53b32d2e
esp_hw_support: perform sleep initialization using ESP_SYSTEM_INIT_FN 2022-07-12 16:58:15 +02:00
Ivan Grokhotkov
bb771fb7c4
esp_timer: perform initialization using ESP_SYSTEM_INIT_FN
(startup.c still calls esp_timer_early_init directly)
2022-07-12 16:58:15 +02:00
Ivan Grokhotkov
42654927d5
esp_system: add a script to check the startup priorities 2022-07-12 16:58:14 +02:00
Ivan Grokhotkov
523aacd413
esp_system: allow defining priorities for startup functions
* Some components have initialization dependencies. To account for
  them, simple numeric priority values are introduced.
* esp_system_init_fn_array moved into Flash from DRAM
* System init functions defined using ESP_SYSTEM_INIT_FN now return
  an error code. This enables simpler and more consistent error
  handling in the init functions. Returning an error from an init
  function is now a valid approach — the startup code will print
  an error and abort.
2022-07-12 16:58:14 +02:00
Song Ruo Jing
ea97cc93ea Merge branch 'feature/c2_systimer_26mhz' into 'master'
esp32c2: 26 MHz XTAL support: Kconfig option, systimer support

Closes IDF-5412 and IDF-5413

See merge request espressif/esp-idf!18835
2022-07-11 16:17:25 +08:00
Marius Vikhammer
6cc871d793 Merge branch 'feature/ulp_riscv_adc' into 'master'
ulp-riscv: add support for using ADC as well as an example show-casing it.

Closes IDFGH-7564 and IDF-1714

See merge request espressif/esp-idf!18767
2022-07-11 12:30:31 +08:00