Skip to content

Commit b8f1488

Browse files
committed
FreeRTOS - update readme
1 parent 765cd05 commit b8f1488

File tree

2 files changed

+23
-22
lines changed

2 files changed

+23
-22
lines changed

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=FreeRTOS
2-
version=10.1.0-1
2+
version=10.1.0-2
33
author=Richard Barry <info@freertos.org>
44
maintainer=Phillip Stevens <phillip.stevens@gmail.com>
55
sentence=Real Time Operating System implemented for AVR (Uno, Leonardo, Mega).

readme.md

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ It does this by keeping hands off almost everything, and only touching the minim
55

66
## Further Reading
77

8-
The canonical source for information is the [FreeRTOS Web Site](https://www.freertos.org/ "FreeRTOS").
9-
Within this site, the [Getting Started](https://www.freertos.org/FreeRTOS-quick-start-guide.html "Quick Start Guide") page is very useful.
8+
The canonical source for information is the [FreeRTOS Web Site](https://www.freertos.org/).
9+
Within this site, the [Getting Started](https://www.freertos.org/FreeRTOS-quick-start-guide.html) page is very useful.
1010

1111
I have a short blog post on [Arduino FreeRTOS](https://feilipu.me/2015/11/24/arduino_freertos/), and another much older post on using [FreeRTOS with AVR](https://feilipu.me/2011/09/22/freertos-and-libraries-for-avr-atmega/), which may be useful to read too. There are some further posts I've written on [Hackster.IO](https://www.hackster.io/feilipu), but they're essentially the same content.
1212

@@ -24,19 +24,19 @@ This does not affect the use of any of the normal Timer functions in Arduino.
2424
Time slices can be selected from 15ms up to 500ms. Slower time slicing can allow the Arduino MCU to sleep for longer, without the complexity of a Tickless idle.
2525

2626
Watchdog period options:
27-
* WDTO_15MS
28-
* WDTO_30MS
29-
* WDTO_60MS
30-
* WDTO_120MS
31-
* WDTO_250MS
32-
* WDTO_500MS
33-
34-
Note that Timer resolution is affected by integer math division and the time slice selected. Trying to measure 100ms, using a 60ms time slice for example, won't work.
35-
36-
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.
37-
Users should prefer to allocate larger structures, arrays, or buffers using pvPortMalloc(), rather than defining them locally on the stack.
38-
39-
Memory for the heap is allocated by the normal malloc() function, wrapped by pvPortMalloc().
27+
* `WDTO_15MS`
28+
* `WDTO_30MS`
29+
* `WDTO_60MS`
30+
* `WDTO_120MS`
31+
* `WDTO_250MS`
32+
* `WDTO_500MS`
33+
34+
Note that Timer resolution is affected by integer math division and the time slice selected. Trying to measure 50ms, using a 120ms time slice for example, won't work.
35+
36+
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.
37+
Users should prefer to allocate larger structures, arrays, or buffers using `pvPortMalloc()`, rather than defining them locally on the stack.
38+
39+
Memory for the heap is allocated by the normal `malloc()` function, wrapped by `pvPortMalloc()`.
4040
This option has been selected because it is automatically adjusted to use the capabilities of each device.
4141
Other heap allocation schemes are supported by FreeRTOS, and they can used with additional configuration.
4242

@@ -47,12 +47,12 @@ Other heap allocation schemes are supported by FreeRTOS, and they can used with
4747

4848
## Errors
4949

50-
* Stack Overflow: If any stack (for the loop() or) for any Task overflows, there will be a slow LED blink, with 4 second cycle.
50+
* Stack Overflow: If any stack (for the `loop()` or) for any Task overflows, there will be a slow LED blink, with 4 second cycle.
5151
* Heap Overflow: If any Task tries to allocate memory and that allocation fails, there will be a fast LED blink, with 100 millisecond cycle.
5252

5353
## Errata
5454

55-
Testing with the Software Serial library shows some incompatibilities at low baud rates (9600), due to the extended time this library disables the global interrupt.
55+
Testing with the Software Serial library shows some incompatibilities at low baud rates (9600), due to the extended time this library disables the global interrupt. Use the hardware USARTs.
5656

5757
## Compatibility
5858

@@ -63,16 +63,17 @@ Testing with the Software Serial library shows some incompatibilities at low bau
6363
* ATmega328 @ 12MHz : Adafruit Pro Trinket 3V
6464
* ATmega32u4 @ 16MHz : Arduino Leonardo, Arduino Micro, Arduino Yun, Teensy 2.0
6565
* ATmega32u4 @ 8MHz : Adafruit Flora, Bluefruit Micro
66+
* ATmega1284p @ 16MHz: Sanguino, WickedDevice WildFire
6667
* ATmega1284p @ 24.576MHz : Seeed Studio Goldilocks, Seeed Studio Goldilocks Analogue
6768
* ATmega2560 @ 16MHz : Arduino Mega, Arduino ADK
6869
* ATmega2560 @ 16MHz : Seeed Studio ADK
6970
* ATmegaXXXX @ XXMHz : Anything with an ATmega MCU, really.
7071

7172
## Files & Configuration
7273

73-
* Arduino_FreeRTOS.h : Must always be #include first. It references other configuration files, and sets defaults where necessary.
74-
* FreeRTOSConfig.h : Contains a multitude of API and environment configurations.
75-
* FreeRTOSVariant.h : Contains the AVR specific configurations for this port of freeRTOS.
76-
* heap_3.c : Contains the heap allocation scheme based on malloc(). Other schemes are available, but depend on user configuration for specific MCU choice.
74+
* `Arduino_FreeRTOS.h` : Must always be `#include` first. It references other configuration files, and sets defaults where necessary.
75+
* `FreeRTOSConfig.h` : Contains a multitude of API and environment configurations.
76+
* `FreeRTOSVariant.h` : Contains the AVR specific configurations for this port of freeRTOS.
77+
* `heap_3.c` : Contains the heap allocation scheme based on `malloc()`. Other schemes are available, but depend on user configuration for specific MCU choice.
7778

7879

0 commit comments

Comments
 (0)