Target Language Compiler

Introducing the Target
Language Compiler

Overview of the TLC Process

Overview of the Code Generation Process

Capabilities

Customizing Output

Inlining S-Functions

Code Generation Process

How TLC Determines S-Function Inlining Status

A Look at Inlined and Noninlined S-Function Code

Process Specifics For The Real-Time Workshop Ada Coder

Advantages of Inlining S-Functions

Motivations

Inlining Process

Search Algorithm for Locating Target Files

Availability for Inlining and Noninlining

Target Language Compiler 4.0 New Features

Compatibility Issues

Where to Go from Here

Related Manuals

Getting Started

Code Architecture

Model.rtw and TLC Overview

The TLC Process

Inlining S-Function Concepts

Noninlined S-Function

Types of Inlining

Fully Inlined S-Function Example

Wrapper Inlined S-Function Example

Code Generation Architecture

Build Process

A Basic Example

Invoking TLC to Generate Code

Code Generation Concepts

Output Streams

Variable Types

Records

TLC Files

Introducing Target Files

System Target Files

Block Target Files

Block Target File Mapping

Target Files

Writing Target Language Files: A Tutorial

Matrix Parameters in Real-Time Workshop

Configuring TLC

Contents of
model.rtw

Overview of model.rtw File

Using Scopes in the model.rtw File

Using Library Functions to Access model.rtw Contents

Caution Against Directly Accessing Record Fields

Exception to Using the Library Functions

Directives and Built-in Functions

Compiler Directives

Syntax

Comments

Line Continuation

Target Language Values

Target Language Expressions

Formatting

Conditional Inclusion

Multiple Inclusion

Object-Oriented Facility for Generating Target Code

Output File Control

Input File Control

Asserts, Errors, Warnings, and Debug Messages

Built-In Functions and Values

TLC Reserved Constants

Identifier Definition

Scoping

Target Language Functions

Command Line Arguments

Filenames and Search Paths

Debugging TLC

About the TLC Debugger

Tips for Debugging TLC Code

Using the TLC Debugger

Tutorial

TLC Debugger Commands

Example TLC Debugging Session

TLC Coverage

Using the TLC Coverage Option

TLC Profiler

Using the Profiler

Inlining S-Functions

Writing Block Target Files to Inline S-Functions

Fully Inlined S-Functions

Function-Based or Wrappered Code Generation

Inlining C MEX S-Functions

S-Function Parameters

A Complete Example

Inlining M-File S-Functions

Inlining Fortran (FMEX) S-Functions

Inlining Ada-MEX S-Functions

TLC Coding Conventions

Block Target File Methods

Block Target File Mapping

Block Functions

Loop Rolling

Error Reporting

TLC Tutorial

Syntax Highlighting with Emacs

Basic Inlined S-Function Written in TLC

Basic Code Generation

Creating an Inlined S-Function

Introduction to TLC Token Expansion

Building a Model Using the TLC Debugger

Preparing the Example

Performing the Tasks

Explore Variable Names and Loop Rolling

Preparing the Example

Performing the Tasks

Code Coverage for Debugging TLC Files

Performing the Tasks

Using a Wrapper S-Function Inlined with TLC

When to Consider?

Exercise

The TLC Wrapper

Solution

Inlined S-Function for Dual Port RAM

Exercise

Further Hints

Solution

"Hello World" Example with model.rtw File

Exercise

Generating Auxiliary Files for Batch FTP

Exercise

Generating Code for Models with States

Derivatives Function

Simulink External Mode and GRT

Running External Mode in Simulink

Advanced External Mode Exercise

Loop Rolling Through a TLC File

Arguments for %roll

Input Signals, Output Signals, and Parameters

TLC Function Library Reference

Obsolete Functions

Target Language Compiler Functions

Common Function Arguments

Input Signal Functions

Output Signal Functions

Parameter Functions

Block State and Work Vector Functions

Block Path and Error Reporting Functions

Code Configuration Functions

Sample Time Functions

Other Useful Functions

Advanced Functions

model.rtw

model.rtw File Contents

Understanding the model.rtw File

General model.rtw Concepts

model.rtw Changes Between Real-Time Workshop 3.0 and 4.0

model.rtw Differences

General Information and Solver Specification

RTWGenSettings Record

Data Logging Information

Data Structure Sizes

Sample Time Information

Data Type Information

Block Type Counts

Model Hierarchy

External Inputs and Outputs

Data Store Information

Block I/O Information

Data Type Work (DWork) Information

State Mapping Information

Block Record Defaults

Parameter Record Defaults

Data and Control Port Defaults

Model Parameters Record

System Record

Stateflow Record

Model Checksums

Block Specific Records

Linear Block Specific Records

TLC Error Handling

Generating Errors from TLC-Files

Usage Errors

Fatal (Internal) TLC Coding Errors

Formatting Error Messages

TLC Error Messages

TLC Function Library Error Messages

Using TLC with Emacs

The Emacs Editor

Getting Started

Creating a TAGS File


 Target Language Compiler