Using TASTE GUI for Windows

From TASTE
Jump to: navigation, search

How to build a basic system

Introduction

This page present an ongoing work to refactor the TASTE graphical front-end. Note that this work is not completed yet.


This guide is made using as remote machine tasty.estec.esa.int running tasted on port 1234 and with the TASTE toolset installed for remote use. This server is restarted every 10 minutes in order to keep the installation updated. When restarted, the environment is also updated.

step 1 Check connection parameters

The first step is to make sure that tasteGUI is connected to tasted. For that, once tasteGUI is opened click on Option -> TASTE server... (see figure 1) or simply press Ctrl + T. Make sure the IP address and port are correct (see figure 2)

Fig. 1 - tasteGUI option
Fig. 2 - tasteGUI server parameters

You will only have to set this option once unless you reinstall. In case tasteGUI cannot establish connection with tasted an appropriate error message will be shown.

step 2 - Create a new TASTE project

Next, click on File -> New project (see figure 3) or press Ctrl + N. You will notice that Step 1 of the TASTE process Data View has been enabled (see figure 4).

Fig. 3 - tasteGUI New project
Fig. 4 - tasteGUI Data View enabled

step 3 - Create a Data View

Fig. 5 - tasteGUI Data View Editor

Click on the Edit Data View button of Step 1. The Data View Editor will be opened (figure 5).

As this is a new project and no Data View has been found the default dummy ASN.1 file will be loaded, see figure 5. This editor works as any other editor, text can be copied, cut or pasted, you can undo and redo, etc. It offers ASN.1 syntax highlighting to ease edition and reading.

For this tutorial we will create a very basic Data View. Select and delete the dummy ASN.1 text and write the following:

DataView DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
My-Integer ::= INTEGER (0 .. 65535)
END

Click on the Save and then Close buttons from below. The Data View Editor will close. You will notice a progress bar on the right side of the main window statusbar. This means the TASTE project is being sent and checked. If everything went okay a tick will appear in Step 1 and Step 2 of the TASTE process Interface View will be enabled (see figure 6).

Fig. 6 - tasteGUI Interface View enabled

step 4 - Create an Interface View

Once you have Step 2 enabled click on the Edit Interface View button. The Interface View Editor TASTE-IV will be opened (see figure 7).

The Interface View captures the functional aspects of the system. It lets you define functions with their timing characteristics and interfaces. For this tutorial we will create the following Interface View, see figure 7:

  • A C producer function with a provided interface activator that will activate the producer periodically each 10 ms. This activator will present a 10 ms deadline and 3 ms WCET.
  • A C consumer function with a provided interface receiveint that will receive integers from producer sporadically (with a minimum interval of 10ms) This receiveint will present a 10 ms deadline and 3 ms WCET.
Fig. 7 - tasteGUI Interface View editor

Once the Interface View is finished save and close TASTE-IV. You will notice a progress bar on the right side of the main window statusbar. This means the TASTE project is being sent and checked. If everything went okay a tick will appear in Step 2 and the Edit functional code button from Step 2 will be enabled meaning the function skeletons have been generated. When tasteGUI detects an Interface View regardless of its correctness it will enable Step 3 of the TASTE process Deployment View.

Edit functional code

Fig. 8 - tasteGUI Deployment View enabled
Fig. 9 - tasteGUI code explorer view

To edit the functional code click on the Edit functional code button, see figure 8. An explorer window will appear (see figure 9), first we will edit the producer code. Go to the producer folder and open producer.c with the editor of your choosing. See final C code below.

producer.c

#include "producer.h"
#include <stdio.h>

asn1SccMy_Integer myval = 1;

void producer_startup()
{
	printf ("Start the producer\n");
}

void producer_PI_activator()
{

	printf ("Send value %lld\n", myval);
	producer_RI_receiveint (&myval);
	myval++;
	fflush (stdout);
}

Then we will edit the consumer code. Go to the consumer folder and open consumer.c with the editor of your choosing. See final C code below.

consumer.c

#include "consumer.h"
#include <stdio.h>


void consumer_startup()
{

}

void consumer_PI_receiveint(const asn1SccMy_Integer *IN_val)
{
	printf ("Receive %lld\n" , *IN_val);
	fflush (stdout);
}

step 5 - Create a Deployment View

Once you have your Data View and Interface View you can specify your Deployment View. This step consists on assigning the Interface View functions to your system hardware. Until now, everything was machine-independent. To do so, click on the Edit Deployment View button from Step 3, see figure 8. The Deployment View Editor TASTE-DV will be opened (see figure 10).

Fig. 10 - tasteGUI Deployment View editor

For this tutorial we will create the following Deployment View, see figure 10:

  • A processor board . A processor board contains all hardware components required to execute a system (processors, memories, buses, I/O). When adding a processor board a processor, partition and memory are created by default.
  • A Linux x86 processor.
  • A memory.
  • A partition inside the processor.
  • The two functions producer and consumer defined in the Interface View.

Once the Deployment View is finished save and close TASTE-DV. You will notice a progress bar on the right side of the main window statusbar. This means the TASTE project is being sent and checked. If everything went okay a tick will appear in Step 3 and the Build system button from Step 4 will be enabled meaning you are ready to build your system, see figure 11.

Fig. 11 - tasteGUI Build System enabled
Fig. 12 - tasteGUI Explore binaries enabled

step 6 - Build the system

To build the system you simply need to press the Build system button from Step 4, see figure 11. You will then notice a progress bar on the right side of the main window statusbar. This means the TASTE project is being sent,checked and built.Building the system can take some time. If everything went okay a tick will appear in Step 4 and the Explore binaries button will be enabled, see figure 12.

Explore binaries

Fig. 13 - tasteGUI binaries explorer view

To edit the functional code click on the Edit functional code button, see figure 12. An explorer window will appear (see figure 13). The binaries are placed in the binaries folder.

NOTE: Saving the project will not save the binaries so if you want the binaries you should copy them to a save location once they are built.