Real-Time Development from Theory to Practice Featuring TenAsys® INtime® (eBook)


By John R. Malin and Sean D. Liming

Windows XP Embedded has grown into a popular operating system choice for embedded systems. The low development cost is a big reason, with off the shelf hardware, a full line of device drivers available, standard development tools for applications and custom drivers with Visual Studio, and the ability to use desktop applications that run in Windows XP Pro.  Different programming solutions such Adobe® Flash™, Adobe® Air™, Java, Silverlight, and .NET Framework allow users to create dynamic and custom branded user interfaces. Deterministic response, a.k.a. real-time, is one aspect that Windows lacks. Being a general purpose operation system, the Windows Kernel doesn’t provide the deterministic response that true real-time operating systems like QNX™, VxWorks, or uCOS provide. Direct programmatic access to hardware under Windows is not supported, requiring a custom Windows driver solution to be developed for all hardware interaction.

Some developers have tried to program in Ring 0 / kernel layer, but the consumption of processor resources can interfere with the timing of the kernel and hurt overall system performance.

TenAsys® INtime® adds on the real-time, deterministic response to Windows by adding a second kernel. Using Visual Studio, you can write real-time applications that take advantage of the INtime kernel and access hardware directly, while still having access to the rich GUI of Widows.

Developing real-time applications is no simple task, though. Timing is everything to the system. The more complex the system the more attention to detail is required. Real-Time Application Programming featuring TenAsys’ INtime provides the core foundation to go from understanding real-time concepts to putting them to use in applications.

The book consists of 8 chapters that cover the basics of real-time such as threads, semaphores, mailboxes, regions, memory management, and hardware access. Interaction with Windows and INtime is demonstrated using C, C++, C#, and VB.NET. The various INtime development tools and features are also covered throughout. There are multiple hands-on exercises that implement all key concepts.


  The INScope utility helps to view thread timing, interrupt latency, and thread switching / priority. The information allows the developer to adjust programs via priority levels or time slicing.

The INtime Explorer is a utility program that displays objects inside an INtime or iRMX node. Much like Task Manager is to Windows, INtime Explorer shows processes, threads, mail boxes, and semaphores. You can also view memory consumption.


INtime Device Manager allows you to set hardware and interrupts to be controlled by the INtime kernel.


Book Details

Publisher: Annabooks (Nov 2009)
Paperback: 488 pages
Language: English
ISBN-10: 0-9842801-0-3
ISBN-13: 978-0-9842801-0-0
Product Number: AB111

eBook Edition (April 11, 2012)
ISBN-10: 0-9842801-8-9
ISBN-13: 978-0-9842801-8-6

Table of Contents:

  1. Introduction: Welcome to Real-Time Development
  2. Real-Time Basics
  3. INtime Architecture and Development Tools Overview
  4. Process and Threads
  5. Inter-thread Communications and Synchronization
  6. Memory Management
  7. Windows Programming and Hardware Access
  8. INtime and Windows® Embedded Standard 2009 / Windows® XP Embedded

Information about INtime and a trial version can be found on TenAsys' website.



Book Exercises - ZIP file contains Visual Studio 2008 projects for each exercise.  


Please review our refund policy before buying.



Below is a list of errors, corrections, and additions.

Figure 7.34 - The parallel port circuit is missing the debounce circuitry. The correct schematic can be found here.