Jarda Pajskr / freemaster_lib

Dependents:   FreeMASTER_HelloWorld FreeMASTER_HelloWorld2 FreeMASTER_HelloWorld3

Fork of freemaster_lib by Jarda Pajskr

Homepage

FreeMASTER driver V1.8

FreeMASTER is a user-friendly real-time debug monitor and data visualization tool that you can use for any application development and information management. You can display multiple variables changing over time on an oscilloscope-like display, or view the data in text form. The FreeMASTER installer for PC is available on http://www.freescale.com/FREEMASTER page.

Library

Import libraryfreemaster_lib

FreeMASTER library, Realtime monitor - debugger, data visualisaton

Example of the driver initialization

#include "freemaster_class.h"
//Initialize FreeMASTER driver
Freemaster fm(USBTX, USBRX);

//Registration of all variables to observe in the FreeMASTER tool
FMSTR_TSA_TABLE_LIST_BEGIN()
FMSTR_TSA_TABLE_LIST_END()

Hello World

Import programFreeMASTER_HelloWorld

Simple application which uses the FreeMASTER driver

HelloWorld project for the FreeMASTER tool - The FreeMASTER tool is available on http://www.freescale.com/FREEMASTER page. Configuration of communication interface: /media/uploads/JardaPajskr/fm_config_bd3.png

Hello World 2

Import programFreeMASTER_HelloWorld2

Simple application which uses the FreeMASTER driver with static TSA

Hello World 2 project for the FreeMASTER tool

Hello World 3

Import programFreeMASTER_HelloWorld3

FreeMASTER example application with all features

Hello World 3 project for the FreeMASTER tool

Register variables to monitor - TSA Tables

The TSA tables registers information about the variables into embedded code. With this feature the embedded application can define, which variables are available on PC application. The FreeMASTER driver enables two ways, how to register variables for showing on PC

  • Dynamic definition (Hello World)
  • Static definition (Hello World2)

Dynamic definition of the TSA

The TsaAddVar() method of the Freemaster class adds details of the variable into the TSA table. Call this method in the initialization routine of your application.

Example of the dynamic definition TSA table

volatile unsigned char  var8;
volatile unsigned short var16;

//register global or static variables
fm.TsaAddVar(FMSTR_TSA_RW_VAR_CFG(var8,FMSTR_TSA_UINT8));
//register read only variable
fm.TsaAddVar(FMSTR_TSA_RO_VAR_CFG(var16,FMSTR_TSA_UINT16));

The variables example_var8 and example_var16 wil be available on FreeMASTER tool on PC. Note: The table is defined in RAM and has limited amount of variables to register

Static definition of the TSA

The static TSA table can be defined in each application source file and describes list of global variables, which could be showed on PC by the FreeMASTER tool application.

Example of the TSA table

//Definition of global variables
volatile unsigned char  var8;
volatile unsigned short var16;
volatile unsigned long  var32;

typedef struct {
  unsigned short  a;
} OUTER_STRUCT;

OUTER_STRUCT so1;
//register the global variables in the TSA table
FMSTR_TSA_TABLE_BEGIN(Table_Name)
    FMSTR_TSA_RW_VAR(var8,     FMSTR_TSA_UINT8)     //Register 8 bit variable
    FMSTR_TSA_RO_VAR(var16,    FMSTR_TSA_UINT16)    //Register 16 bit read only variable 
    FMSTR_TSA_RW_VAR(var32, FMSTR_TSA_UINT32)

    FMSTR_TSA_RW_VAR(so1,      FMSTR_TSA_USERTYPE(OUTER_STRUCT)) //Register structure
    FMSTR_TSA_STRUCT(OUTER_STRUCT)                               //Register name of the structure
    FMSTR_TSA_MEMBER(OUTER_STRUCT, a,   FMSTR_TSA_UINT16)        // Register member of structure
FMSTR_TSA_TABLE_END()

Each TSA table have to be registered in the list of the TSA tables

Example of the list of the TSA tables

FMSTR_TSA_TABLE_LIST_BEGIN()
// register all TSA tables from your project
    FMSTR_TSA_TABLE(Table_Name)
//.. other TSA tables
FMSTR_TSA_TABLE_LIST_END()

Support

This driver supports Freescale processors only.


All wikipages