Automatically exported from
Switch branches/tags
Clone or download
Pull request Compare This branch is 7 commits ahead, 1 commit behind lepton-phlb:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Initial version of Lepton/Tauon is
(new version, still under construction, is available here :

Lepton/Tauon is an open source POSIX "compliant" Operating System for 
deeply embedded devices. It tries to bring PSE-53 POSIX capabilities 
to embedded world (including multiprocess, filesystems, IP stacks, BSD socket,  messages 
queues, ...). 
The system implementation follows an UNIX approach. Unix « philosophy". Everything is file. Everything is a stream of bytes. 

The aim of this project, it's not to develop another operating system 
like GNU/Linux, but an human understandable operating system that provides 
more services than a realtime kernel, while keeping a reasonable footprint 
for deeply embedded system. 

We hope Lepton/Tauon will be able to help anybody to develop their personal,
school or professional projects easily and quickly.

We are ready to accommodate contributions to improve Lepton/Tauon and support 
new features.

Supported platforms:
   -. ARM Cortex-M7: SAMV71 (SAM V71 Xplained Ultra).
   -. ARM Cortex-M4: STM32F4 Discovery (ST stm32F407)
   -. ARM Cortex-M4: TWR-K60N512 (Freescale)
   -. ARM Cortex-M4: Olimex P407 (ST stm32F407)
   -. ARM Cortex-M0+: ATSAMD20 Xplained Pro (Atmel)
   -. ARM9: AT91SAM9261-EK (Atmel)
   -. ARM9: AT91SAM9260-EK (Atmel)
   -. ARM7: AT91M55800A (Atmel)

   -. PC (32bits simulation for GNU/Linux and MS Windows)

Lepton/Tauon provides more than 150 POSIX functions over a real-time
operating system that can be:
   -. Proprietary embOS from Segger (original Lepton)
   -. Open source eCos community (Tauon)
Lepton/Tauon offers the ability to use other real-time operating system (closed 
or open source) like FreeRTOS by using a simple abstraction layer. 

Lepton/Tauon uses some parts of underlying real-time operating system:
   -. board startup (HAL)
   -. basic synchronization functions (semaphore, mutex, ...)
   -. task sheduler
   -. ISR mechanisms
   -. some libraries (math.h, stdlib.h, ...)

In addition Lepton/Tauon offers:
  -. Unix « philosophy". Everything is file. Everything is a stream of bytes. 
  -. more than 150 functions from POSIX standard (IEEE Std 1003.1a: open(), read(), write(), close(), ioctl(), select() …), BSD Socket…
  realtime extension (1003.1b) and threads extension (1003.1c)
  -. simple model for device drivers
  -. UNIX stream to improve "reuse"
  -. support lwip stack (1.3.2)
  -. support uip stack (2.0 extracted from Contiki project ) (Lepton only)
  -. support rootfs, ufs, fat16 (msdos and vfat) filesystem
  -. VFS layer to brings new and custom file systems 
  -. USB devices stack and profils CDC-ACM, MSD and Ethernet-ECM (tested
  only on AT91SAM9261-EK)
  -. NanoX and FLTK support (FLNX exactly)
  -. Mongoose WEB server, FTP server (from trollFTPD) and mini shell
  -. simulation process under GNU/Linux (Tauon) and Windows (Lepton)

To install Lepton/Tauon and launch a sample application see docs/INSTALL.
To see what is Lepton/Tauon, installation are tested on:
   -. Debian Squeeze and Wheezy
   -. Ubuntu 11.10
To create your application, see docs/START.
To see all available function, see docs/AVAILABLE_POSIX

Changes made in version are documented in the ChangeLog file.

Directories and/or files in this distribution:
   -. tools : tools to build a Lepton/Tauon application
   -. sys/user : part for user application sources, libraries and
   -. sys/root/lib/arch : install path for all supported eCos HAL
   -. sys/root/prj/scons : general compilations files for arch supported
   by Lepton/Tauon.
   -. sys/root/prj/config : a pkg-config files use for compilation and a
   minicom configuration file for simulation
   -. sys/root/src/sbin : source files for general utilities (mini
   shell aka lsh, mkfs, ls, uname, ...)
   -. sys/root/src/bin/net : source files for high level networking
   utilities like web server or telnet server.
   -. sys/root/src/lib : source files for all common libraries (libc, 
   pthread, ..)
   -. sys/root/src/kernel/core : source files for all kernel functions
   -. sys/root/src/kernel/core/core-ecos : source files for kernel
   functions that use underlying real-time os functions
   -. sys/root/src/kernel/fs : source files for supported filesystems.
   -. sys/root/src/kernel/net : source files for supported net stack.
   Currently, Tauon only supports lwip.
   -. sys/root/src/kernel/dev : source files for device drivers.
Thanks to:
   * eCos:
   * lwip:
   * nano-X:
   * fltk:
   * openOCD:
   * all BSD and GNU tools...

Philippe Le Boulanger (original author of Lepton and maintainer)

Jean-Jacques Pitrolle (maintainer)