Real-Time Operating System

Calvin Ho and Cherry Zhang, Spring 2009

Kernel     (documentation available upon request)

The kernel is designed to work with TS-7200, a circuit board made by Technologic. The board has a system on chip, the Cirrus EP9302. The board contains an ARM 920T CPU, instruction set ARMv4T, two 16550 UARTs, one with hardware handshaking and one without, and a collection of timers. It also has a floating point coprocessor that can be programmed only in assembly language. The kernel is intended to be used as a basic real-time operating system for Märklin train controlling applications [link].

The kernel provides four major functions: initialize resources and devices, schedule tasks, handle software and hardware interrupts and handle system calls.


Application     (documentation available upon request)

For our final project, we made a simple game called “Secret Agent Train Obstacles”. The game uses the reservation system and dynamic route finding algorithm to create a seemingly intelligent operator, aka. the Police, that tries to pursuit and catch the intruder, aka. the Agent. The goal of this game is to remain stealthy and reach a designated destination without being detected which is decided by conflicts in the reservation system. A large part of this pro ject is to create a wrapper for our existing system presentation and user-friendliness are both part of our consideration. There are three playable levels:

  - Level 1: The Police patrols around the large circular track

  - Level 2: The Police loops around both the big and the small tracks

  - Level 3: The Police pursuits the Agent by investigating foreign sensor inputs, which tells the where the Agent is.

We strived to provide a good game-play experience by creating an easy to control UI and a polished look.