HOME

TheInfoList



OR:

FunkOS is a real-time operating system (RTOS) developed by Funkenstein Software Consulting, targeting a variety of microcontroller architectures. It is free to use in any project - commercial or otherwise - with few conditions. If the kernel is ported to a new target, that code must also be made available for inclusion in future releases. Also, if used in commercial projects, an attribution statement must be included in some form of product documentation.


Description

FunkOS is a fully preemptive multi-tasking environment, capable of running on a variety of modern microcontroller architectures. The kernel supports an unlimited number of program "tasks" running from up to 255 different priority levels. Tasks are independent programs, each with their own stack. At each RTOS tick, the highest-priority task is chosen for execution, with round-robin scheduling used when multiple tasks from the same priority level are ready to run. An idle task must be defined for every application, and can be used to invoke power-saving functionality of the hardware platform. Key features in the kernel include: * Semaphores * Mutex objects with Priority Inheritance * Periodic lightweight threads * Inter-process communications * Task time quantum support for round-robin tasks * Event queues * Fixed-block dynamic memory allocation * "Core Services" including a software real-time clock, and distributed computing support based on the concept of The Plumber * Device driver HAL * Task deadline monitoring (watchdog) module * 2D display driver library supporting software rendering and hardware-acceleration * GUI framework and widget library * FAT16/32 read-only file system support * Alternate C++ kernel (FunkOS++) * Alternate round-robin only kernel (Pipsqueak) The kernel is highly customizable, allowing the developer to include or eliminate kernel features based on the application requirements. FunkOS is very lightweight as a result - the smallest useful kernel and application compiles to under 2 kilobytes of code space and 400 bytes of RAM on an AVR microcontroller. The FunkOS++ kernel is currently the only open-source, preemptive RTOS for 8-bit microcontrollers written in C++. It is supported by popular
SSL/TLS Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
libraries such as wolfSSL.


Ports

Atmel Atmel Corporation was a creator and manufacturer of semiconductors before being subsumed by Microchip Technology in 2016. Atmel was founded in 1984. The company focused on embedded systems built around microcontrollers. Its products included micr ...
: * AVR (ATmega, ATxmega) (ATmega328P, ATmega644, ATxmega256A1) Texas Instruments: * MSP430 ARM: * Cortex-M3 ntested Ports for other modern microcontrollers are planned for future releases.


Roadmap

Future releases will include the following features: * Virtual machine to enable hybrid native/virtual tasks * Support for
PIC24 PIC (usually pronounced as ''"pick"'') is a family of microcontrollers made by Microchip Technology, derived from the PIC1650"PICmicro Family Tree", PIC16F Seminar Presentation originally developed by General Instrument's Microelectronics ...
and
dsPIC PIC (usually pronounced as ''"pick"'') is a family of microcontrollers made by Microchip Technology, derived from the PIC1650"PICmicro Family Tree", PIC16F Seminar Presentation originally developed by General Instrument's Microelectronics ...
architectures * Stabilize the
ARM Cortex-M3 The ARM Cortex-M is a group of 32-bit reduced instruction set computer, RISC ARM architecture, ARM processor cores licensed by Arm Holdings. These cores are optimized for low-cost and energy-efficient integrated circuits, which have been embedd ...
port * Bitmap font librarian application


See also

* Embedded system, Single-board microcontroller *
Microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
, List of common microcontrollers * Comparison of open-source operating systems


References


External links

* {{DEFAULTSORT:FunkOS Computing platforms Real-time operating systems Embedded operating systems ARM operating systems