Target Language Compiler (TLC) is an integral part of the code generator. Use TLC to customize generated code. Through customization, you can produce platform-specific code and incorporate your own algorithmic changes for performance, code size, or compatibility with existing methods.
With the Target Language Compiler, you can :
Customize the set of options specified by your system target file.
Inline the code for S-Function blocks.
Generate additional or different types of files.
To learn about the basics of TLC, see Target Language Compiler Basics.
Target Language Compiler Basics
Use the Target Language Compiler to produce platform-specific code and incorporate your own algorithmic changes for performance, code size, or compatibility with existing methods that you prefer to maintain.
Why Use the Target Language Compiler?
Use the Target Language Compiler to customize the set of options specified by your system target file, inline the code for S-Function blocks, or generate additional or different types of files.
The Advantages of Inlining S-Functions
Determine when, how, and why to inline S-functions.
Learn what information a block object captures.
Target Language Compiler Process
Learn how the Target Language Compiler interprets
files.model
.rtw
Apply techniques for inlining S-functions.
The TLC tutorials describe why and how to use TLC.
Learn how TLC accesses record files and interprets their contents.
TLC inlines S-functions, resulting in faster, optimized code.
Explore Variable Names and Loop Rolling
Understand how and when TLC outputs loops and variable names.
Invoke TLC debugger commands, set breakpoints, and trace code execution.
TLC Code Coverage to Aid Debugging
Use TLC coverage statistics to help identify bugs in TLC code.
Use TLC to integrate legacy and proprietary code into compiled models.
Create and use target language files.
Customize builds by passing configuration data to
the set_param
command.
Configure Generated Code with TLC
Use the Target Language Compiler to generate source code in specific ways or to give the code-specific characteristics.
Understand TLC variables and file and record handling.
Learn about the roles and varieties of system and block target files.
TLC library functions can transform data into data structures.
The
file
is a partial representation of a model generated by the build process
for use by the Target Language Compiler.model
.rtw
Data Object Information in model.rtw File
Access information about data objects in the
file.model
.rtw
Data References in the model.rtw File
Simulink® uses data references to optimize data access during code generation.
Exception to Using the Library Functions that Access model.rtw
Access parameter settings for a block in the
records.model
.rtw
Access Memory in Generated Code Using Global Data Map
Generate TLC global data map record in model.rtw
file.
Target Language Compiler Directives
Learn the syntax and formats of directives, built-in functions, signal and parameter values, expressions, and comments.
Specify TLC calling arguments, filenames, and search paths.
Write S-functions to be used for code generation.
Handle calls made by C MEX S-functions.
Observe case conventions and use library functions to make your TLC code more robust.
Use polymorphic block functions combined with the Target Language Compiler library functions to write a block target file.
Use the %roll
directive to indicate
whether the code generator unrolls for
loops.
Target Language Compiler Library Functions Overview
Use library functions to access many of the parameter name/parameter values pairs in the block record.
Target Language Compiler Function Conventions
Apply proper TLC function syntax and conventions.
These TLC Functions process and report on input signals.
These TLC functions process and report on output signals.
These functions process model parameters.
Block State and Work Vector Functions
These functions handle storage and states.
These TLC functions are for specifying block compatibility with code generation features.
Block Path and Error Reporting Functions
These functions navigate paths and handle error conditions.
These functions are for tailoring code elements and comments.
These functions are for handling continuous and discrete time.
These functions are not elsewhere classified.
These functions are generally required only for special situations.
Use the TLC debugger to execute TLC code line-by-line, analyze and/or change variables in a specified block scope, and view the TLC call stack.
Determine what TLC statements are executed.
Measure the execution time of each TLC function.
Use this alphabetical list of error messages to detect and address error conditions in your TLC code.