News

pico]OS 1.0.1 has been released. It is a service-release that includes one more port: MyCPU

Older News:

pico]OS 1.0.0 has been released! Also the new contribution package is out. The contribution package contains a pico]OS based TCP/IP stack, HTTP and FTP server programs for your embedded devices. For a quick taste, please visit the download page and get the demo-package (win32 executables), or the contribution package (source code).

Note: Due to lack of time the both developers are unable to advance pico]OS any further. That does not mean the development of pico]OS has been discontinued; pico]OS is still maintained but the updates may take a longer time.

Please send bug reports to dennis_k@freenet.de .

Welcome to pico]OS

pico]OS is a highly configurable and very fast real time operating system (RTOS). It targets a wide range of architectures, from very small 8 bit processors and microcontrollers up to very huge platforms. Ports are available for 6502, 80x86, PPC and AVR.

Goal

Many RTOS' are either limited in functionality or they are to heavy weighted and too large to be used with small mcu architectures.

The goal of pico]OS is to provide a large set of features that are highly configurable. It can be used on large 32 bit architectures as well as on 8 bit processors.

A no less important goal is to keep pico]OS as open source, so everyone can use it without needing to pay a license fee. pico]OS is available with a modified BSD license, that means that you have no restrictions in using the source code. This is a big advantage against the operating systems that are licensed under the GNU public license.

Features

pico]OS provide a large set of features. See the detailed list.

  • Scheduler: priority based, round robin, preemptive multitasking
  • Events: semaphores, mutexes, flags
  • Message Boxes
  • Timer
  • Software Interrupts
  • Blocking and nonblocking lists
  • Atomic Variables
  • Bottom Halfs
  • Dynamic Memory Management
  • Support for named resources
  • Threadsave Console I/O
  • CPU usage measurement

The operating system is divided into several layer. The core is the pico-layer that contains all basic operating system functions. The complexer functions are implemented in the nano-layer. The micro-layer will support operating system management like device driver support and file system, but is not implemented yet.

The layering scheme is a good mechanism to configure pico]OS to best fit your needs. On very small MCUs you may use only the pico layer.

Available Ports

pico]OS has yet been ported to this architectures (see the detailed description):

  • 6502 CPU and compatible series, especially Commodore 64
  • 80x86 DOS in real mode, the RTOS is loadable from DOS
  • 80x86 WIN32: MS Windows 32Bit, for developing and testing
  • ARM: ARM7 core (SAMSUNG S3C2510A, Philips LPC2000)
  • AVR: Atmel(tm) RISC core processors
  • MyCPU: Port for the Homebrew-Computer called 'MyCPU'
  • PowerPC: IBM PPC440 and compatible w/o floating point