Skip to content

lf-lang/lf-freertos-uc-template

Repository files navigation

Reactor-uc FreeRTOS Template

Multi-platform template for building Lingua Franca applications with FreeRTOS.

Supported Platforms

Quick Start

1. Prerequisites

  • Install platform-specific dependencies (see your platform's README)
  • Set required environment variables:
    • REACTOR_UC_PATH - Path to reactor-uc repository
    • Platform-specific variables (see platform README)

2. Build Your Project

mkdir build && cd build
cmake -DPLATFORM_TARGET=pico ..
make

3. Flash to Device

Follow your platform's specific flashing instructions in the platform README.

Project Structure

lf-freertos-uc-template/
├── CMakeLists.txt                # Main CMake configuration
├── CMakePresets.json             # CMake preset configurations
├── README.md                     # This file
├── platforms/                    # Platform-specific configurations
│   └── pico/                     # Raspberry Pi Pico platform
│       ├── include/              # Platform-specific headers
│       │   ├── FreeRTOSConfig.h  # Pico-specific FreeRTOS config
│       ├── platform.cmake        # Pico-specific CMake logic
│       ├── pico_freertos_hooks.c # Compilation bridge for hooks
│       └── README.md             # Pico setup guide
├── src/                          # Your Lingua Franca source files
│   ├── Blink.lf                  # LED blink example
│   ├── HelloFreeRTOS.lf          # Hello world example
│   ├── Timer.lf                  # Timer example
│   └── lib/                      # Additional reactor libraries
└── FreeRTOS/                     # FreeRTOS submodule

Adding New Platforms

To add support for a new platform:

  1. Create a new directory under platforms/<platform-name>/
  2. Add platform.cmake with platform-specific configuration
  3. Add FreeRTOSConfig.h tuned for your platform
  4. (Optional) Implement FreeRTOS hooks if needed in platforms/<platform-name>/<platform-name>_freertos_hooks.c
  5. Create a README.md with setup instructions

Resources

About

Template repository for LF applications on FreeRTOS.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published