Tics Realtime -----


 
Home Services Products Tutorials Contact Us
- - - - -

Tics RTOS Data Sheet

Overview

The Tics RTOS is unique. It's simple yet powerful. It's small in size yet extremely flexible. It's comprehensive yet very easy to use and understand. Its modern message based architecture makes Tics ideal for today's demanding applications. Since its introduction in June of 1992 Tics has been used in a wide variety of applications ranging from cell phones and small handheld devices to large scale factory automation systems. Tics has even been used in outer space applications aboard the Space Shuttle.

What Our Customers Say

Our customers have these words say about Tics: "elegant", "simple", "straightforward", "easier", "well designed", "performed flawlessly", "excellent balance between simplicity and flexibility ", "very capable yet simple", "code is well written and solid", "very powerful", "productivity enhancing", "The Tics Realtime Operating System has proven time and time again that we made the right decision", "exemplary customer support policy", "very impressed with the personal, knowledgeable, and timely technical support". Click here to read more testimonials from a few of our many satisfied customers.

Key Features

  • Full C source code for kernel and sample code provided. Kernel source code is documented and easy to understand. Simple, easy to use C library interface.
  • Tics is written almost entirely in ANSI C making it portable to virtually any microprocessor.
  • Priority based preemptive scheduling , time-sliced scheduling, or cooperative scheduling, configurable on a task by task basis.
  • Number of tasks limited only by available stack memory. Stack size is variable on a task by task basis.
  • Dynamic stack checking option checks for stack pointer integrity on each context switch.
  • Dynamic priorities. Tasks can be started dynamically.
  • User may specify his own error handling procedure.
  • Tics is less than 8K bytes, is ROMable, and is ideal for embedded applications.
  • High speed timers for in-line pause, one-shot timers, or time critical periodic operation.
  • Differential timer management system.
  • Inter-task communication using message queues or high-speed mailboxes (Mailboxes are like event flags with data).
  • Critical region management (semaphores) and high-speed memory management.
  • Message and timer cancellation. A timer is canceled even if it has already been dispatched.
  • Priorities on both tasks and messages provide great flexibility. Priority on messages means that a high priority message will go straight to the front of the task's message queue ahead of other messages. Essential for emergency stop messages and the like.
  • Object oriented. Create task instances with their own separate instance data. Can optionally be used with Turbo/Borland C++ for real-time object oriented programming.
  • Messages can be sent to tasks from within an isr.
  • We also have versions of Tics that will run on Windows or MS-DOS. This allows for basic testing before running on the actual hardware.

Tasking Modes

Tics provides three methods of multi-tasking: priority based preemptive scheduling , time-sliced scheduling, or cooperative scheduling, configurable on a task by task basis. These multi-tasking modes can be combined so that tasks can multi-task by preemption, cooperation, and time-slicing all in the same application. This very powerful feature allows for complete multi-tasking flexibility. Cooperative tasks may also share a common stack, allowing hundreds of tasks to share a single stack. This feature is essential for applications where hundreds of task instantiations are required.

Messages

Each task is assigned a message queue. Tasks can communicate by sending messages to one another. When a message is sent it is placed in the destination task's message queue. A task can sleep until a specific message arrives or it can periodically check its message queue.

Timer Management

Tics provides three types of timers: pause, one-shot, and periodic. The pause is used in-line to suspend the task for a desired number of milliseconds. One-shot timers allow a task to continue executing; when the timer expires, the task is sent a TIMEOUT message. Periodic timers send the task a TIMEOUT message on a periodic basis. Periodic timers are essential when accurate timing is required. Timer messages may be assigned priorities. No limit on the number of timers pending.

Memory Management

Tics provides very high speed, deterministic, fixed block size memory management. Any number of memory pools can be created. The size of the pool and individual blocks are specified by the programmer.

Priority on Tasks

Each task is assigned a priority. The priority determines which task will run next when more than one task is ready to run. Priorities also allow a high priority task to interrupt a lower priority task.

Priority on Messages

Tics also allows priorities on messages. When a message is sent it is inserted into the destination task's message queue according to its priority. This feature is essential for emergency stop messages and the like that should go straight to the front of the task's message queue.

Documentation

The Tics Realtime Kernel Development system includes a complete manual, and our book, "The Art of Real-time Programming". The book covers a wide variety of real-time topics and assumes no knowledge of real-time systems. The development system also includes comprehensive sample programs that include data acquisition and display, real-time graphics, and more.

System Calls

A partial list of Tics system calls include: makeTics, startTics, makeTask, startTask, makeTimer, startTimer, cancelTimer, pause, makeMsg, sendMsg, waitMsg, rcvMsg, waitTimedMsg, makeMail, sendMail, waitMail, rcvMail, enterRegion, exitRegion, makeMem, getMem, putMem, suspend, wakeup, yield, exitTics, initCom, restoreCom, makeCom, readCom, writeCom, waitCom, rcvCom, xmitCom, writeComField.


Copyright © 2000, Tics Realtime