04 December 2017

  RTOS Power Management example project was added.

  This example shows the usage of the sleep and deep sleep operating modes with the low-power microcontrollers.The switching to the sleep and deep sleep modes is implemented automatically and very efficiently. The approach removes unnecessary active time and gains sleep/deep-sleep performance.

The project uses TNKernel RTOS ver.3.0

06 July 2013

  TNKernel ver.2.7 has been released.
  The purpose of the ver.2.7 is to fix some obscure and direct bugs in TNKernel source code.

Thanks to

  Vyacheslav Ovsiyenko
  Alex Borisov
  Eugene Scopal
  Audrius Urmanavicius
  Sergey Koshkin
  Efim Monyak
  Nils Springob
  Anders Montonen
  Maxim Salov
  Michael Fischer
  Vavilov D.O.
  Angelo R. Di Filippo
  Dr. Jan Menzel
  kosyak© from
  megajohn from
  Poul-Henning Kamp
  Basaev Alexander

for their participation in TNKernel project and help !

25 June 2013

  SLFS (Small Logger File System) has been released.

  The SLFS is a logger file system, implemented on the serial flash with unified sector size (4 KB).

9 March 2013

  TNKernel port for Cortex-M4 CPU with FPU was written by Vyacheslav Ovsiyenko.

  The port supports both "Lazy Stacking" and context switching on demand methods for the context switching
with FPU usage.

  TNKernel for the port comes with some optimizations - the context switch time is reduced by about 30 percent.

1 March 2011

  TNKernel v.2.6 has been released.
  TNKernel v.2.6 has now ports for ARM, Cortex M3 and completely new port for the TI MSP430x CPU.

  A context switching in TNKernel v.2.6 is a significantly faster (for the ARM and Cortex-M3 ports) than previous versions.

  The mutex ceiling protocol in ver 2.6 is more "lightweight" in comparison  to previous versions - in the competition "speed vs features" the speed is winner now.
  The code of ceiling protocol in v2.6 is derived from Vyacheslav Ovsiyenko TNKernel branch.

  Thanks to Vyacheslav Ovsiyenko, Audrius Urmanavicius, Alex Borisov, Michael Fisher for their improvements and remarks.

12 February 2011

  A new TNKernel WEB site has been released.

24 November 2009

  Sony Corporation(r) uses TNKernel RTOS in their GPS-CS3KA GPS Image Tracker.

05 October 2009

  An examples for a Cortex-M3 NXP(c) LPC1766 MCU has been added.
  A function tn_tick_int_processing() was improved - thanks to Audrius Urmanavicius from Lithuania

01 October 2009

  A TN NET TCP/IP stack version 0.9 has been released.
  A DHCP client was added. A TCP and UDP examples were updated for the using with DHCP.
  A few bugs fixed in the UDP and ARP protocols implementation.

22 September 2009

  A TN NET TCP/IP stack version 0.8.6 has been released.
  A critical bug fixed in the function sbcompress() - thanks to Audrius Urmanavicius from Lithuania
  A TCP source code was rearranged - file tn_tcp_usrreq.c was excluded from the project.

14 September 2009

  A TN NET TCP/IP stack version 0.8.5 has been released.
  An embedded Web server example was added.
  TN NET TCP/IP stack ver.0.8.5 seems to be ready for the using/testing in the applications.

26 August 2009

   A TN NET TCP/IP stack version 0.8.3 has been released.
   The version includies TCP/UDP/IP/ICMP/ARP protocols.

13 August 2009

   A preliminary TN NET TCP/IP stack version (0.8) has been released.
   This version does not include TCP and DHCP protocol.

02 August 2009

   TNKernel port for the Freescale ColdFire(r) CPU has been released.

03 December 2008

   An examples for a Luminary Micro (c) LM3S811 MCU (Cortex-M3 core) has been added.

01 December 2008

  TNKernel port for the ARM(c) Cortex-M3 CPU has been released.
   A project with comparison DMA and FIFO performance for high speed UART communications was published.

11 November 2008

  • TNKernel v.2.5 has been released. 
    A critical bug fixed in the function tn_task_timer_func()  - thanks to Cheng from China.
    A mutex bug fixed in the function task_wait_complete()  - thanks to Efim Monyak.
    If you use timeouts (timeout value is not equal TN_WAIT_INFINITE) in your projects,
  upgrading to the version 2.5 is strongly recommended.
  • TNKernel now has a new port (TNKernel LP) for Freescale (r) HCS08 Ultra-Low-Power 8-bits MCU.  
    TNKernel LP supports an automatic power-down mode management, transparent switching
  OS time ticks sources etc.
  •  A full source code for the file FirmwareLoader.exe (MFC application) now is available for downloading for free.

04 April 2007

   TNKernel v.2.4 has been released. 

   TNKernel now supports THUMB mode (in ARM processor port).

  Few bugs were fixed in the function tn_task_exit()    - thanks to Alex Borisov and  Marc Walrave. 
  The switch context routine was noticeably improved - thanks to Dimitri Rivkin.
  An additional non-critical bug in switch context routine was fixed - thanks to Vyacheslav Ovsiyenko.

   Upgrading to the version 2.4 is strongly recommended.

04 February 2007

   TNKernel port for the Microchip PIC24/dsPIC microprocessors by Alex Borisov has been published.

   If you have any questions about the port functionality, please contact Alex Borisov directly.

11 November 2006

   TNKernel v.2.3 has been released. 

   The timer ticks routine now is executed inside the timer task  (a task with priority 0) again (as in the versions prior to the ver. 2.1)
   In the version 2.3 fixed bug in the task sleep processing (thanks to Vavilov D.O).

   The documentation has been corrected (thanks to Clemens Fischer)  and published as a separate document (see Downloads

26 September 2006

    VxWorks-related projects description has been added.

    VxWorks BSP for LPC2106 is described. This project shows  ability to use VxWorks for ARM in a minimal configuration.

    Debugging VxWorks BSP for ARM with  Rowley's CrossStudio IDE is described in another new page.

22 July 2006

    Nano-X (Microwindows) GUI library  port for TNKernel  has been released. 

   This project provides a "lite" version of Nano-X (Microwindows)  GUI library (  that works with TNKernel Real-Time kernel (v.2.2 only).

    Free download packages contains :

    - Nano-X (Microwindows) GUI library source code  (subset), adapted for TNKernel + Nano-X
    - example source code (includes TNKernel v.2.2) with  drivers for Samsung S3C44B0X ARM microprocessor
    - Projects for Rowley CrossWorks Studio(GCC)1.5,  IAR ARM v.4.39, GCC 4.1 ARM ADS 1.2, ARM RealView 2.2,  Keil RVC v.3

21 July 2006

  TNKernel v.2.2 has been released. 

   In version 2.2  fixed bug with processing synchronization  functions calls with timeouts that are not equal TN_WAIT_INFINITY (in files tn.c and tn_tasks.c).  It is strongly recommended using files tn.c and tn_tasks.c from version 2.2.

2 June 2006

  USB firmware upgrader v.1.0.1 has been released.

  USB Firmware Upgrader is a standalone program for Philips LPC214x  microcontroller, which allows to download firmware (application program) to  microcontroller's flash using USB.
  This is very useable for field/customer future firmware upgrades.

  Free download packages contains:

    - USB Firmware Upgrader source code
    - Firmware example source code (with TNKernel v.2.1)
    - Projects (Philips LPC2146 microprocessor) for Rowley CrossWorks Studio(GCC)  1.5, IAR ARM v.4.39, GCC 3.4 (4.10), ARM ADS 1.2, ARM RealView 2.2, Keil RVC v.3
    - LPC2146 reference board's schematic for Firmware Upgrader.
    - FirmwareLoader.exe - Firmware Loader Demo PC application for MS Windows(c) 2000/XP

20 April 2006

  TNKernel USB bulk firmware v.1.0  has been released. 

  TNKernel USB bulk firmware is USB bulk device  driver for TNKernel real-time OS. Current version works only with Philips  LPC214x ARM-based microcontrollers with and without DMA support.  Data  transfer speed exceeds 1 MByte/sec.

   Free download package contains USB bulk  firmware source code(with TNKernel v.2.1) and examples for Philips  LPC2146  microprocessor (includes projects for Rowley  CrossWorks Studio(GCC) 1.5, IAR ARM v.4.30,  GCC 3.4  (4.10), ARM ADS 1.2, ARM  RVCT  2.2, Keil  RVC v.3) and also LPC2146 reference board's schematic.

10 Feb 2006

  TNKernel v.2.1 has been released. 

   In version 2.1  timer ticks routine is  executed inside interrupt (file tn.c). It  reduces time of OS  internal operations, but increases interrupts latency. If you don't want this  feature, you still can use file tn.c from version 2.0.

   In file(s) tn_port_asm_xx.s has been  added few sanity checking and disabling interrupts for context switch and  function exit point. It is strongly recommended using file(s) tn_port_asm_xx.s  from version 2.1. 

05 Dec 2005

  TNKernel v.2.0 has been released.   Version 2.0 adds a number of new features and improvements:


    TNKernel  now supports mutexes  with Priority Inheritance Protocol and Priority Ceiling Protocol (details are in the user's manual v.2).

-Additional API functions

   Few additional API functions has been added  mostly for create/delete objects, terminate tasks and also for dynamic  changing task's priority.


  Atmel AT91SAM7S and ST Microelectronics STR711  examples has been added. There are now examples/projects for compilers: Rowley  CrossWorks Studio 1.5, IAR ARM v.4.30,GCC 4.0.1, ARM ADS 1.2,  ARM RVDT 2.2, GreenHills MULTI2000 v.3.5, Keil CA ARM v.2.4, Wind River Diab v.5.0