You are using staging server - a separate instance of the ESP Component Registry that allows you to try distribution tools and processes without affecting the real registry.

0xjakob/freertos

0.1.0-beta

pre-release
uploaded 6 months ago
FreeRTOS API wrapping around POSIX functions for running IDF apps on POSIX-compliant OS

readme

This component overrides the original FreeRTOS component iff the target is linux. This enables ESP-IDF applications to use FreeRTOS on a Linux computer for developing and testing. It works by implementing the public FreeRTOS API as wrappers around POSIX functions.

# Prerequisites

Latest IDF.

# Error Handling

There are three types of errors that can occur when using the POSIX wrapper:
* *Simulator Errors*, e.g., out-of-memory on the host system
* *FreeRTOS Usage Errors* that may or may not be caught by a `configASSERT` in the original source code, e.g., passing a null pointer as a static buffer to `xTaskCreateStaticPinnedToCore()`, calling `xSemaphoreGiveRecursive()` on a non-recursive mutex
* *Recoverable Errors* identified by a return value

The *Simulator Errors* are treated as non-recoverable and will abort directly. The simulator should print an message appropriate message to identify the error. This avoids different error handling code when running applications on the POSIX wrapper, compared to running them on a chip target. This needs to taken in mind, e.g., if running long tests on the simulator.

The *FreeRTOS Usage Errors* are caught with an assert or abort and thus fail fast, too. On chip targets, some of these erros are caught by `configASSERT`, if asserts are enabled. There are other errors that are also caught by the POSIX wrapper, but would go unnoticed on a chip target. An example of this is calling `xSemaphoreTake()` on a recursive mutex.

*Recoverable Errors* should be handled by user code the same way as they are handled on chip targets.

Supports all targets

License: Apache

To add this component to your project, run:

idf.py add-dependency "0xjakob/freertos^0.1.0-beta"

or download archive

Stats

  • Archive size
    Archive size: 21.81 KB
  • Downloaded in total
    Downloaded in total 1 time
  • Downloaded this version
    This version: 1 time

Badge

0xjakob/freertos version: 0.1.0-beta
|