The Configuration File

Top  Previous  Next

The first thing you must do before configuring an application is write a configuration file. This is a text file that provides information about the tasks and processors your application uses. We shall look at how the IDE can create this for you later, but we shall start by doing it manually.

 

To keep things simple we shall consider an application that includes only one task running on one processor, so the configuration file we shall need is simple. For example, the following three-line configuration file (myprog.cfg) could be used to create such an application from myprog.tsk:

 

PROCESSOR root TYPE=SMQ_DSP DEVICE=1      ¤¤2

TASK myprog DATA=?                        ¤¤4

PLACE myprog root                         ¤5

 

¤1

The PROCESSOR statement describes the target hardware we shall be using. It specifies the processor's name, which in this simple case is root, and its type. The type not only indicates that this is a C6000 processor, but it also identifies which type of C6000 module we are using; SMQ_DSP is the type of the DSP we want to use: one on a SignalMaster Quad in this case. Other types can be used, for example, to select boards that have different FPGAs fitted. The various modules may differ in the way their external memory is laid out, and in the way they communicate with the host, so it is important to set the type correctly.

¤2

The DEVICE= attribute tells the configurer which particular processor is being described. Each Lyrtech SignalMaster Quad board has four DSPs and these are numbered from 1–4. Similarly, the two FPGAs (1 and 2) can be identified by the DEVICE= attribute on PROCESSOR statements with type SMQ_LX100_FPGA. In the same way, the daughter modules (or DRC) on the FPGA could be identified by corresponding DEVICE= attributes numbered 1 and 2. SignalMaster Dual boards are handled similarly.

¤3

The TASK statement specifies the name of the task. The configurer uses this to find the task image file.

¤4

The DATA=? attribute tells the configurer to allocate a single contiguous area of memory for the application's stack and heap data areas. This area will be the largest area left when the memory needed for everything else (the code and static data, for example) has been allocated. If you omit DATA=? the configurer acts in the same way, but will output a warning message. Other ways to allocate memory are discussed in 'OPT Attribute'.

¤5

The final line of the configuration file is a PLACE statement, telling the configurer to place the task myprog on processor root.