Commit Graph

18 Commits

Author SHA1 Message Date
Zim Kalinowski
83e2cf1a68 Merge branch 'staging/riscv_wrapper_freertos_tasks_v5.0' into 'release/v5.0'
RISC-V: Create a wrapper around FreeRTOS Tasks to detect the ones returning (backport v5.0)

See merge request espressif/esp-idf!21202
2022-12-20 16:34:13 +08:00
Zim Kalinowski
759f7ec13d Merge branch 'feature/add_int_task_wdt_esp32c2_v5.0' into 'release/v5.0'
WDT: implement interrupt wdt and task wdt for ESP32-C2 (backport v5.0)

See merge request espressif/esp-idf!20980
2022-12-05 16:38:35 +08:00
Omar Chebib
8731d281f1 FreeRTOS: Make the default stack alignment 16 for Xtensa 2022-12-02 11:17:38 +00:00
Roland Dobai
17ad259e8e Merge branch 'feature/freertos_smp_sysview_v5.0' into 'release/v5.0'
sysview: Adds FreeRTOS SMP port (v5.0)

See merge request espressif/esp-idf!20015
2022-12-02 19:07:14 +08:00
Omar Chebib
b675bb2a4d WDT: implement interrupt wdt and task wdt for ESP32-C2
ESP32-C2 has a single group timer, thus it will use it for the interrupt watchdog,
which is more critical than the task watchdog. The latter is implement in
software thanks to the `esp_timer`component.
2022-12-01 10:45:35 +00:00
Omar Chebib
a4b2aa8a57 RISC-V: fix PC not saved when using backtrace 2022-11-23 15:49:42 +08:00
Omar Chebib
96346c1eed RISC-V: Create a wrapper around FreeRTOS Tasks to detect the ones returning 2022-11-23 15:44:44 +08:00
Darian Leung
ebc57e14f6 riscv: Fix esprv_intc_int_set_threshold() naming
This commit fixes the function declaration naming from esprv_intc_set_threshold()
to esprv_intc_int_set_threshold(), thus allowing the underlying ROM funciton to be
exposed via the header.
2022-09-19 14:19:41 +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
Alexey Gerenkov
5b601cd67f sysview: Adds FreeRTOS SMP port 2022-09-07 13:47:26 +03:00
morris
d94432fea8 systimer: refactor hal to accomodate more xtal choices 2022-07-25 16:08:52 +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
Darian Leung
781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
Darian Leung
a0ab1c2acd freertos: Fix stack and TCB allocation order in SMP FreeRTOS
This commit fixes the allocation order of task stacks and TCBs in
order to reduce the chance of a stack overflow overwriting a TCB.
2022-07-05 14:27:44 +08:00
Sudeep Mohanty
55f1eca248 freertos-smp: Fix build test errors for esp32c3
This commit fixes build test failures for esp32c3.
2022-06-17 09:18:46 +02:00
Sudeep Mohanty
12e2312aaa freertos: FreeRTOS SMP RISC-V port cleanup and enable esp32c3 in KConfig
This commit does general cleanup of the risc-v port files and restricts
FreeRTOS SMP config option to only esp32 and esp32c3.
2022-06-13 13:39:16 +02:00
Darian Leung
71eef9a9b0 freertos: Fix SMP RISC-V Port IDF Style critical sections
Previously the RV port was routing IDF style critical section API to call FreeRTOS style critical section API.
For example, a call to "portENTER_CRITICAL(mux)" would eventually call `vTaskEnterCritical()" via the following call flow:
- portENTER_CRITICAL(mux)
- vPortEnterCritical()
- portSET_INTERRUPT_MASK_FROM_ISR()
- vTaskEnterCritical()

This commit fixes the IDF style critical section by making sure that they are completely orthogonal to FreeRTOS critical sections
2022-06-13 13:34:21 +02:00
Sudeep Mohanty
8fd953c627 freertos-smp: add support for RISC-V targets oon FreeRTOS SMP
TBD: Initial commit. Enables risc-v port.
2022-06-13 13:34:21 +02:00