Commit Graph

10 Commits

Author SHA1 Message Date
Darian Leung
b09462eae8 feat(freertos): Add beta support for FreeRTOS v10.5.1 kernel
This commit adds beta support for the FreeRTOS v10.5.1 kernel which can be
enabled by enabling the CONFIG_FREERTOS_USE_KERNEL_10_5_1 option.

The following changes have been made:

- Updated freertos/CMakeLists.txt to build v10.5.1 kernel with v10.4.3. ports
- Updated existing Xtensa and RISC-V ports to work with V10.5.1
- Modifications to other ESP-IDF components to work with v10.5.1
- Added some ESP-IDF specific tracing changes to v10.5.1 kernel
- Make CONFIG_FREERTOS_USE_KERNEL_10_5_1 a public option

Note: The beta release is missing some minor fixes, performance improvements,
and features. Using this beta release for production is not recommended.

Closes https://github.com/espressif/esp-idf/issues/7137
2023-09-18 21:32:14 +08:00
Darian Leung
49af70506a feat(freertos): Add SMP critical section changes to FreeRTOS v10.5.1
This commit adds the SMP critical section changes to the v10.5.1 kernel. These
changes are temporarily documented in the `idf_changes.md` document. This
commit...

- Adds granular spinlocks to each data group (e.g., kernel, queues, event_groups etc.)
- Updates critical section macros to use those spinlocks
- Add missing critical sections required in SMP
2023-09-18 18:32:55 +08:00
Darian Leung
db64e51e53 feat(freertos): Add SMP kernel changes to FreeRTOS v10.5.1
This commit adds the key kernel changes to the v10.5.1 kernel to support
dual-core SMP. These changes are temporarily documented in the `idf_changes.md`
document. This commit...

- Added changes to kernel data structures to support multiple cores
- Changes to scheduling algorithm support SMP scheduling.
- Changes to each FreeRTOS function to support multiple cores and SMP
scheduling algorithm.
2023-09-18 18:32:54 +08:00
Darian Leung
0a77949477 fix(freertos): Removed croutine.h from v10.5.1
Remove croutine.h as is not supported in ESP-IDF
2023-07-19 23:09:19 +03:00
Zim Kalinowski
a2d76ad38a Merge branch 'feature/freertos-10.5.1-added-base-riscv-porting-layer' into 'master'
feat(freertos): added base risc-v porting layer to 10.5.1

See merge request espressif/esp-idf!24773
2023-07-18 03:24:10 +08:00
Zim Kalinowski
ccf51a6263 feat(freertos): added base risc-v porting layer to 10.5.1
This commit adds the source files for the GCC RISC-V port of FreeRTOS V10.5.1.
Files copied from https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/V10.5.1/portable/GCC/RISC-V
2023-07-17 18:59:16 +08:00
Zim Kalinowski
9fe9a9d7c6 feat(freertos): added static buffers support on the top on 10.5.1 (upstreamed) 2023-07-13 19:01:37 +08:00
Darian Leung
d044e63b39 freertos(IDF): Update kernel version tag of V10.5.1 source files
This commit updates the kernel version tags of all V10.5.1 source files to
indicate that the source files are modified.
2023-05-10 16:58:57 +08:00
Darian Leung
f76194add9 freertos(IDF): Add hidden build option for V10.5.1 kernel
This commit adds a "CONFIG_FREERTOS_USE_KERNEL_10_5_1" hidden option to enable
building of the v10.5.1 kernel for development/testing purposes. Currently
enabling this option will just cause CMake to error out.

Also added a markdown file to record the code changes made to the V10.5.1 source
when porting over SMP behavior.
2023-05-10 16:53:00 +08:00
Darian Leung
74f37f50ec freertos(IDF): Add upstream V10.5.1 files
This commit adds the source files for the FreeRTOS Kernel V10.5.1 in
preparation for upgrading ESP-IDF FreeRTOS Kernel version (files copied from
https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/V10.5.1)

The following modifications were made to the files when copying

- Added "SPDX-FileCopyrightText" and "SPDX-FileContributor" tags to all files
  to pass ESP-IDF pre-commit checks.
- Left out some files unnecessary to ESP-IDF (e.g., URLs, "History.txt", and
"portable" folder).
2023-05-10 16:52:22 +08:00