TNKernel for PIC24/dsPIC

TNKernel

Document Disclaimer

The information in this document is subject to change without notice. While the
information herein is assumed to be accurate, Yuri Tiomkin (the author) assumes no 
responsibility for any errors or omissions.

The author makes and you receive no warranties or conditions, express, implied, statutory
or in any communications with you. The author specifically disclaims any implied warranty
of merchantability or fitness for a particular purpose.

Copyright notice

TNKernel real time kernel

Copyright © 2004,2006 Yuri Tiomkin
All rights reserved.

Permission to use, copy, modify, and distribute this software in source and binary forms and
its documentation for any purpose and without fee is hereby granted, provided that the above
copyright notice appear in all copies and that both that copyright notice and this permission
notice appear in supporting documentation.

THIS SOFTWARE IS PROVIDED BY THE YURI TIOMKIN AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL YURI TIOMKIN OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Trademarks

Names mentioned in this manual may be trademarks of their respective companies. Brand and
product names are trademarks or registered trademarks of their respective holders.

Introduction

TNKernel is a compact and very fast real-time kernel for the embedded 32/16 bits microprocessors. TNKernel performs a preemptive priority-based scheduling and a round-robin scheduling for the tasks with identical priority. The current version of TNKernel includes semaphores, mutexes, data queues, event flags and fixed-sized memory pools. The system functions calls in the interrupts are supported. TNKernel is a fully portable (is written mostly in ANSI C except the processor-specific parts), but the current version of TNKernel has been ported for the ARM and PIC24/dsPIC microprocessors only. TNKernel has been written "under the significant influence" of the μITRON 4.0 Specifications 1).

TNKernel support the following RTOS objects:

TNKernel is a fully portable (written mostly in ANSI C except processor-specific parts), so I port original version for 16-bits Microchip MCU and DSC.

TNKernel is distributed in the source code form free of charge under the FreeBSD-like

Contents

1) µITRON 4.0 Specifications is an open real­time kernel specification developed by the ITRON Committee of the TRON Association. The µITRON 4.0 Specification document can be obtained from the ITRON Project web site