Lab 1: 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 the 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
  4. Include in your lab report a description of the purpose of each function in cobble.c. This is intended to show you a typical structure of a real-time system.

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 for the target server (this is the ® i button on the toolbar). At the prompt, enter the name of the hello function. The hello message should be printed to the screen. Next, type the name of the goodbye function and make sure the message is printed. (Ignore the value message, this has to do with the return value).