Add FreeRTOS support thanks to @hfellner #533

Merged
earlephilhower merged 23 commits from freertos into master 2022-04-25 06:59:57 +03:00
earlephilhower commented 2022-04-09 21:14:39 +03:00 (Migrated from github.com)

Using all the work from @hfellner and others. Things work but are not
stable (i.e. flash operations will make things go badly, fast; delay()
does not actually release the core for other work, etc.).

Using all the work from @hfellner and others. Things work but are not stable (i.e. flash operations will make things go badly, fast; delay() does not actually release the core for other work, etc.).
hfellner commented 2022-04-10 12:46:44 +03:00 (Migrated from github.com)

Making delay() release the core for other work would be simple by making the default implementation a weak symbol and providing an override in the RP2040_FreeRTOS library that calls vTaskDelay(delay / portTICK_PERIOD_MS). However, this cannot be done for delayMicroseconds(), because the minimum yield period for FreeRTOS on the RP2040 is 1ms.

Making delay() release the core for other work would be simple by making the default implementation a weak symbol and providing an override in the RP2040_FreeRTOS library that calls vTaskDelay(delay / portTICK_PERIOD_MS). However, this cannot be done for delayMicroseconds(), because the minimum yield period for FreeRTOS on the RP2040 is 1ms.
Sign in to join this conversation.