Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

FreeRTOS, short for Free Real-Time Operating System, is an open-source, real-time operating system kernel designed for embedded systems. Developed by Real Time Engineers Ltd., FreeRTOS is known for its simplicity and flexibility, making it a popular choice for a wide range of microcontroller-based applications.

Key features and characteristics of FreeRTOS include:

  1. Real-Time Capabilities: FreeRTOS is specifically designed for real-time systems, providing predictable and deterministic behavior. It includes a real-time scheduler that allows developers to prioritize tasks and manage their execution in a time-sensitive manner.

  2. Task Management: FreeRTOS uses a cooperative multitasking model, allowing developers to create and manage tasks with different priorities. Each task can be assigned a priority level, and the scheduler ensures that tasks with higher priority are executed before those with lower priority.

  3. Resource Management: FreeRTOS includes features for managing resources efficiently, such as lightweight semaphores, queues, and mutexes. These mechanisms enable communication and synchronization between tasks.

  4. Portability: FreeRTOS is designed to be highly portable, and it supports a wide range of microcontrollers and architectures. This portability makes it easier to adapt FreeRTOS to various embedded systems with different hardware configurations.

  5. Memory Management: FreeRTOS includes a memory management scheme that allows dynamic allocation and deallocation of memory for tasks. However, developers can configure the kernel to use a static memory allocation model if needed.

  6. Tickless Operation: FreeRTOS supports tickless operation, where the system enters a low-power state between ticks to conserve energy. This feature is particularly useful in battery-powered and energy-efficient embedded systems.

  7. Community Support: FreeRTOS has an active and supportive user community. Developers can access a wealth of documentation, forums, and resources contributed by the community, making it easier to troubleshoot issues and share knowledge.

FreeRTOS is often used in various embedded applications, including IoT devices, robotics, medical devices, automotive systems, and more. Its open-source nature and permissive license make it a popular choice for both hobbyist projects and commercial products, providing a reliable foundation for building real-time embedded systems.

Default tasks

Tasks

Folders or files

Descriptions

Idle

powerdown

power-down control

powerup

power-up control

tmr Svc

Timer

viorw

virtual IO

wakeupkey

Detect wake-up key


Drivers locations and features

Drivers

Folders or files

Features

ADC (SAR12B)

  1. Support read external voltage.

Audio (I2S)

  1. Support S16_LE format, 48kHz, stereo recording.

  2. Support S16_LE format, 48kHz, stereo playback.

GPIO driver

  1. Support digital output.

  2. Support digital input.

AHB DMA

  1. Support SPI DMA mode transferring.

  2. Support memory-to-memory transferring.

I2C driver

  1. Support RX and TX transferring.

  2. Support 100kHz and 400kHz speeds.

Mailbox

  1. Support communication between CM4 and CA55.

  2. Support normal mode (software).

  3. Support direction mode (hardware).

PWM

  1. Support set frequency and duty.

RTC

  1. Support set and get time.

  2. Support set alarm.

  3. Support alarm interrupt.

  4. Support periodic interrupt.

SPI

  1. Support master mode TX and RX transferring.

  2. Support set clock frequency.

  3. Support mode 0, 1, 2 and 3.

  4. Support DMA mode.

Timer

  1. Support generate timer interrupt.

UART

  1. Support TX and RX transferring.

Watchdog

  1. Support pretimeout function.

Files

Folders

Descriptions

firmware/arduino_core_sunplus/

Root folder of OP-TEE

application/

Code of app_main, freertos_main and arduino_main

application/power_manager/

Code for power manager

application/VirtIOSerial/

Code for virtual IO (UART)

bin/

Firmware (binary) file, resultant files of compilation.

system/drivers

Code for drivers

system/freertos

Code for FreeRTOS

system/Middlewares

Code for OpenAMP

system/sp7350

variants/sp7350_evb/

Platform relevant files

  • No labels