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
Copy file name to clipboardExpand all lines: readme.md
+8-7Lines changed: 8 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
This is a fork of Richard Barry's freeRTOS, optimised for the Arduino AVR devices.
2
2
3
-
It has been created to provide access to FreeRTOS capabilities, with full compatibility to the Arduino environment.
3
+
It has been created to provide access to FreeRTOS capabilities, with full compatibility to the Arduino IDE environment.
4
4
It does this by keeping hands off almost everything, and only touching the minimum of hardware to be successful.
5
5
6
-
If you want to use FreeRTOS on the Renesas family of Arduino like the Arduino Uno R4, it is [already included](https://github.com/arduino/ArduinoCore-renesas/tree/main/libraries/Arduino_FreeRTOS). All that is required is to include the header file `Arduino_FreeRTOS.h` as noted below.
6
+
If you want to use FreeRTOS on the Renesas family of Arduino like the Arduino UNO R4, it is [already included](https://github.com/arduino/ArduinoCore-renesas/tree/main/libraries/Arduino_FreeRTOS). All that is required is to include the header file `Arduino_FreeRTOS.h` provided by the Arduino IDE, as noted below.
7
7
8
8
## Usage & Further Reading
9
9
@@ -15,8 +15,7 @@ My other [AVRfreeRTOS Sourceforge Repository](https://sourceforge.net/projects/a
15
15
16
16
This library was the genesis of [generalised support for the ATmega platform within FreeRTOS](https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/48).
17
17
18
-
Over the past few years freeRTOS development has become increasingly 32-bit orientated, with little change or improvement for the 8-bit world. As such I'm treating this FreeRTOS V10.5.x (released May 1 2023) as my LTS release.
19
-
18
+
Over the past few years freeRTOS development has become increasingly 32-bit orientated, now including symmetric multiprocessing, with little change or improvement for the 8-bit world. As such I'm treating this FreeRTOS V11.0.1 (released January 1 2024) as my LTS release.
20
19
21
20
## General
22
21
@@ -29,7 +28,7 @@ Tasks that finish before their allocated time will hand execution back to the Sc
29
28
30
29
The Arduino `delay()` function has been redefined to automatically use the FreeRTOS `vTaskDelay()` function when the delay required is one Tick or longer, by setting `configUSE_PORT_DELAY` to `1`, so that simple Arduino example sketches and tutorials work as expected. If you would like to measure a short millisecond delay of less than one Tick, then preferably use [`millis()`](https://www.arduino.cc/reference/en/language/functions/time/millis/) (or with greater granularity use [`micros()`](https://www.arduino.cc/reference/en/language/functions/time/micros/)) to achieve this outcome (for example see [BlinkWithoutDelay](https://docs.arduino.cc/built-in-examples/digital/BlinkWithoutDelay)). However, when the delay requested is less than one Tick then the original Arduino `delay()` function will be automatically selected.
31
30
32
-
The 8-bit AVR Timer0 has been added as an option for the experienced user. Please examine the source code to figure out how to use it. Reconfiguring Timer0 for FreeRTOS will break Arduino `millis()` and `micros()` though, as these functions rely on Timer0.
31
+
The 8-bit AVR Timer0 has been added as an option for the experienced user. Please examine the Timer0 source code to figure out how to use it. Reconfiguring Timer0 for FreeRTOS will break Arduino `millis()` and `micros()` though, as these functions rely on Timer0. Example support for the Logic Green is provided via an open PR.
33
32
34
33
Stack for the `loop()` function has been set at 192 Bytes. This can be configured by adjusting the `configMINIMAL_STACK_SIZE` parameter. If you have stack overflow issues, just increase it. Users should prefer to allocate larger structures, arrays, or buffers using `pvPortMalloc()`, rather than defining them locally on the stack. Ideally you should not use `loop()` for your sketches, and then the stack size can be reduced down to 85 Bytes, saving some valuable memory.
35
34
@@ -39,6 +38,7 @@ Memory for the heap is allocated by the normal `malloc()` function, wrapped by `
39
38
40
39
*[Upgrading to FreeRTOS-9](https://www.freertos.org/FreeRTOS-V9.html)
41
40
*[Upgrading to FreeRTOS-10](https://www.freertos.org/FreeRTOS-V10.html)
41
+
*[Symmetric Multiprocessing with FreeRTOS-11](https://www.freertos.org/2023/12/introducing-freertos-kernel-version-11-0-0-a-major-release-with-symmetric-multiprocessing-smp-support.html)
42
42
43
43
## Errors
44
44
@@ -51,7 +51,7 @@ Testing with the Software Serial library shows some incompatibilities at low bau
0 commit comments