Introduction to Tornado

Tornado is a developing environment for real-time systems. It provides its own version of a C/C++ compiler. After a project has been designed and built using Tornado, it is downloaded onto a target machine running the vxWorks operating system. VxWorks is a real-time operating system, which means it can make scheduling guarantees that normal operating systems cannot. For this lab, we will be using a vxWorks simulator that runs on your local machine. In order for Tornado to connect to a target, it must first start a target server. The server’s purpose is to handle all communication between t he host (your local machine) and the target machine (the simulator). After establishing this connection between the target and host, Tornado provides a great deal of tools such as monitoring task information, examining semaphores, checking memory consumption, etc. In this lab, you will be given a basic introduction into Tornado’s capabilities.

Part 1: Tornado Tutorial

In Part 1 of this lab, you will step through a tutorial in order to become familiar with the different features of Tornado.

  1. Download the Tornado tutorial.
  2. Read and perform every step from page 15 to page 44.
  3. Examine and try to understand the source code cobble.c

Part 2: Hello World, Goodbye World

In Part 2, you will be writing the standard "Hello World" program using Tornado. Use the code from Part 1 as a template. The two functions that you are required to write will be executed by typing their name in the Tornado shell. Therefore, you do not need any type of main function that calls the functions.

  1. Create a new project and add one source file "hello.c".
  2. Write one function, hello, which simply prints "hello world!" to the screen.
  3. Write another function, goodbye, which simply prints "goodbye world!" to the screen.
  4. Build the project the same way you did in part 1.
  5. Download the project to the target. In this case, the target is the vxWorks Target Simulator. Respond to all the options the same way that you did for Part1.
  6. Start the shell and run both functions.


CS122B, Winter 2002