You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This directory provides a FreeRTOS-Kernel port that can be used with the Raspberry Pi Pico SDK. It supports:
4
+
5
+
* Simple CMake INTERFACE libraries, to provide the FreeRTOS-Kernel and also the individual allocator types, without copying code into the user's project.
6
+
* Running the FreeRTOS-Kernel and tasks on either core 0 or core 1
7
+
* Use of SDK synchronization primitives (such as mutexes, semaphores, queues from pico_sync) between FreeRTOS tasks and code executing on the other core, or in IRQ handlers.
8
+
9
+
Note that a FreeRTOS SMP version of this port is also available in the FreeRTOS-Kernel smp branch, which additionally supports utilizing both RP2040 CPU cores for FreeRTOS tasks simultaneously.
10
+
11
+
## Using this port
12
+
13
+
Copy [FreeRTOS-Kernel-import.cmake](FreeRTOS-Kernel-import.cmake) into your project, and
14
+
add:
15
+
16
+
```cmake
17
+
import(FreeRTOS_Kernel_import.cmake)
18
+
```
19
+
20
+
below the usual import of `pico_sdk_import.cmake`
21
+
22
+
This will find the FreeRTOS kernel if it is a direct sub-module of your project, or if you provide the `FREERTOS_KERNEL_PATH` variable in your environment or via `-DFREERTOS_KERNEL_PATH=/path/to/FreeRTOS-Kernel` on the CMake command line.
23
+
24
+
## Advanced Configuration
25
+
26
+
Some additional `config` options are defined [here](include/rp2040_config.h) which control some low level implementation details.
27
+
28
+
## Known Limitations
29
+
30
+
- Tickless idle has not currently been tested, and is likely non-functional
0 commit comments