ANN: NicheTask Open Source Operating System

This is a one-time announcement of the launch of

formatting link

Recognizing that many designs require only a clean, small and flexible tasking system, InterNiche Technologies has elected to contribute NicheTask to the embedded development community as open source software. The royalty-free "C" source code is being made freely available to all device developers to speed development of next generation appliances, consumer electronics and Internet connected devices.

NicheTask is a round-robin tasking system that contains only control logic. The API has been designed so that later the application can easily be mapped to more sophisticated embedded operating systems, such as µC/OS, without adding any overhead by simply #defining the application's tasking calls to the RTOS calls. This means that you can start with NicheTask and upgrade or convert to a different RTOS or more complex architecture at a later time without having to re-port their protocol stack and application code.

Once a task gains control, it runs until it voluntarily blocks. The programmer has control over the length of time that a task is allowed to run so it will not lock the system. Tasks can be dynamically created, with each task having its own stack and control structure.

Key Features:

  • Free to acquire, and no royalties. * ANSI "C" Source Code. * Low memory footprint * Portable to any CPU * Network protocol stacks available from InterNiche * Easy to upgrade to a preemptive RTOS * Multiple tasks, limited only by memory availability

formatting link

Reply to
Free RTOS
Loading thread data ...

It is? That's strange I could have sworn I saw this very announcement a while back. Maybe I should get a job as a clairvoyant?

Ian

Reply to
Ian Bell

Sorry, Ian. I just "threw the switch" on FreeRTOS.com early this afternoon.

- Larry Snyder

Reply to
Free RTOS

Looked at the manual, amazing similarity to work done by a customer back in the 1980's for OmegaSoft Pascal, from the function definition header:

function self : byte ; external ; procedure swap ; external ; procedure schedule (enable : boolean) ; external ; procedure taskinit (task1_priority : byte ; task1_timeslice : byte ; tcbtables : hex ; num_tasks : byte) ; external ; procedure taskterm ; external ; procedure cause (var event : ^tcb ; swap_it : boolean) ; external ; function wait (var event : ^tcb ; var count : byte ; timeout : integer) : boolean ; external ; procedure block (task_id : byte) ; external ; procedure unblock (task_id : byte) ; external ; procedure timeslice (task_id : byte ; new_timeslice : byte) ; external ; procedure priority (task_id : byte ; new_priority : byte) ; external ; procedure status (task_id : byte ; var ready : boolean ; var cur_priority : byte ; var cur_timeslice : byte) ; external ; function tas (var region : boolean) : boolean ; external ; procedure clear (var region : boolean) ; external ; procedure delay (timeout : integer) ; external ; procedure msg_send (message : hex ; id : byte) ; external ; procedure msg_read (var message : hex ; var id : byte) ; external ; function msg_wait (timeout : integer) : boolean ; external ; function msg_asend (message : hex ; id : byte ; timeout : integer) : boolean ; external ; procedure kill (id : byte) ; external ; procedure stackleft (id : byte ; var sysleft, dataleft : hex) ; external ;

Reply to
Robert Reimiller

Despite their use of the FreeRTOS.com domain, and despite their use of the "word" FreeRTOS on their site, and despite their license being called "the FreeRTOS open source license", this is NOT FreeRTOS.

FreeRTOS can be found on

formatting link

Reply to
Richard

Rather a bold claim! Wonder how well it'd work on e.g. a 12 bit PIC core with two stack levels (and no users access to the stack)?

Mike

Reply to
Mike

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.