uKOS-II: µKernel Project
uKOS-II: µKernel Project
20th of May 2013
Night work counter = 1225
v. 2.0.5
uKOS
uKOS is a multi-tasking OS suitable for small embedded µController systems. I developed uKOS early in 1992 during the Khepera mobile robot project. When I designed Khepera I had to think about “how to write code to control it”. So, this was the starting point of uKOS. The first implementation was written in CALM assembler (a LAMI-EPFL tool). I have completely rewritten uKOS in C in 1996; the used host computer was a Mac running OS9 with the MPW environment. Now Apple has switched to OSX (unix world) and I decided to reactivate and update it, and to share the ideas and the experiences cumulated during this project and use GCC environment to maintain it. All the sources will be available for a download. I consider this development as an open source project.
I hope that this project can interest all the people that would like to be inspired by all the work I did (or to use it). I do not ask royalties or licenses for the usage of all this project (schematics or sources).
I hope to increase the quality of this work thanks to all the feedbacks, suggestions, recommendations, etc. I will receive.
Please, consult regularly the download page to discover all the latest documents, application notes, etc.
Supported targets
ARM Cortex M4 (STM32F407)
ARM Cortex M3 (STM32F103)
CSEM IcyCAM SoC (icyflex-1)
Coldfire (discontinued)
CPU32 (discontinued)
...
Main features of the µKernel
Up to 255 static processes
Overlay processes for limited resources CPU-ASIC implementations
Up to 255 dynamic priorities
Preemptive multitasking
Support of supervisor/user spaces
Time management
-Process time-out
-Process suspension
-Actions waiting under time-out
-Support of the Unix time
Up to 255 static semaphores
Up to 255 interprocess associations
Up to 255 interprocess mailboxes
Process-to-process synchronization
CPU statistics
Customizable to other CPUs via stubs
Romable
The µKernel is fully customizable; this could be required in applications where memory or hardware resources are limited.
Available free packages:
OS (IcyCAM and Cortex M3-M4 versions)
-Sources of the OS modules and the µKernel for the following CPUs
-Icyflex-1 (CSEM - IcyCAM)
-Cortex M3 (STM32F103)
-Cortex M4 (STM32F407)
-Support of the multi-thread newlib
Application notes and book
-Introduction
-The Cortex-M4 board
-uKOS System Calls
-The uKOS system
-The µKernel
-Inside uKOS
-The uKOS Package
-GCC Toolchains for Cortex M3-M4, blackfin, icyflex-1, CPU32, ColdFire
-The I2C0 manager
-A standalone µKernel application
Commercial issues
Free packages under GPL3