Real-Time Workshop Release Notes    

Chapter 3
Real-Time Workshop 4.0 Release Notes


Release Summary

Release 4.0 of the Real-Time Workshop is a major upgrade, incorporating significant new and enhanced features and many improvements in the quality of generated code. These include:

New Features

This section introduces the new features and enhancements added in the Real-Time Workshop 4.0 since the Real-Time Workshop 3.0.1.

Real-Time Workshop Embedded Coder

The Real-Time Workshop Embedded Coder is a new add-on product that replaces and enhances the Embedded Real-Time (ERT) target.

The Real-Time Workshop Embedded Coder is 100% compatible with the ERT target. In addition to supporting all previous functions of the ERT target, the Real-Time Workshop Embedded Coder includes many enhancements.

See the Real-Time Workshop Embedded Coder documentation for details..

Simulink Data Object Support

The Real-Time Workshop supports the new Simulink data objects feature. Simulink provides the built-in Simulink.Parameter and Simulink.Signal classes for use with the Real-Time Workshop. Using these classes, you can create parameter and signal objects and assign storage classes and storage type qualifiers to the objects. These properties control how the generated code represents signals and parameters. The Simulink.Parameter and Simulink.Signal classes can be extended to include user-defined properties.

See Simulink Data Objects and Code Generation in the Real-Time Workshop User's Guide for complete details.

ASAP2 Support

ASAP2 is a data definition standard proposed by the Association for Standardization of Automation and Measuring Systems (ASAM). This standard is used for data measurement, calibration, and diagnostic systems.

The Real-Time Workshop now lets you export an ASAP2 file containing information about your model during the code generation process. See Generating ASAP2 Files in the Real-Time Workshop online documentation.

Enhanced Real-Time Workshop Page

The Real-Time Workshop page of the Simulation Parameters dialog box has been reorganized and made easier to use. See Overview of the Real-Time Workshop User Interface in the Real-Time Workshop User's Guide for complete details.

Other User Interface Enhancements

The Tools menu of the Simulink window now contains a Real-Time Workshop submenu with shortcuts to frequently used features. See Real-Time Workshop Submenu in the Real-Time Workshop User's Guide for details.

You can now select a target configuration from the System Target File Browser by double-clicking on the desired entry in the target list. The previous selection method -- selecting an entry and clicking the OK button -- is still supported.

Advanced Options Page

An Advanced options page has been added to the Simulation Parameters dialog box. The Advanced page contains new code generation options, as well as options formerly located in the Diagnostics and Real-Time Workshop pages. See Advanced Options Page for details.

Model Parameter Configuration Dialog

The Model Parameter Configuration dialog box replaces the Tunable Parameters dialog box. The Model Parameter Configuration dialog box enables you to declare individual parameters to be tunable and to control the generated storage declarations for each parameter. See Parameters: Storage, Interfacing and Tuning in the Real-Time Workshop User's Guide for details.

Tunable Expressions Supported

A tunable expression is an expression that contains one or more tunable parameters. Tunable expressions are now supported during simulation and in generated code.

Tunable expressions are allowed in masked subsystems. You can use tunable parameter names or tunable expressions in a masked subsystem dialog. When referenced in lower-level subsystems, such parameters remain tunable.

See Tunable Expressions in the Real-Time Workshop User's Guide for a detailed description of the use of tunable parameters in expressions.

S-Function Target Enhancements

S-function target enhancements include:

The S-function target is now documented the Real-Time Workshop User's Guide. See the chapter The S-Function Target for a full description of S-function target features.

External Mode Enhancements

Several new features have been added to external mode:

Build Directory

The Real-Time Workshop now creates a build directory within your working directory. The build directory stores generated source code and other files created during the build process. The build directory name, model_target_rtw, derives from the name of the source model and the chosen target.

See Directories Used in the Build Process in the Real-Time Workshop User's Guide for details.

Code Optimization Features

This section describes new or modified code generation options that are designed to help you optimize your generated code. The options described are located on the Advanced page of the Simulation Parameters dialog box. See Advanced Options Page for full details.

See the chapter Optimizing the Model for Code Generation in the Real-Time Workshop User's Guide for further information on code optimization.

Subsystem Based Code Generation

The Real-Time Workshop now generates code and builds an executable from any subsystem within a model. The build process uses the code generation and build parameters of the root model. See Generating Code and Executables from Subsystems in the Real-Time Workshop User's Guide for details.

Nonvirtual Subsystem Code Generation

The Real-Time Workshop now lets you generate code modules at the subsystem level. This feature applies only to nonvirtual subsystems. With nonvirtual subsystem code generation, you control how many files are generated, as well as the file and function names. To set options for nonvirtual subsystem code generation, you use the subsystem's Block Parameters dialog.

Nonvirtual subsystem code generation is a more general and flexible method of controlling the number and size of generated files than the Function management code generation options (File splitting and Function splitting) used in previous releases. The Function management code generation options have been replaced by nonvirtual subsystem code generation.

See Nonvirtual Subsystem Code Generation in the Real-Time Workshop User's Guide for details.

Filename Extensions for Generated Files

In previous releases, some generated files were given special filename extensions, such as .prm or .reg. All the Real-Time Workshop generated code and header files now use standard filename extensions (.c and .h). The file naming conventions for the following generated files have changed:

hilite_system and Code Tracing

The Real-Time Workshop writes system/block identification tags in the generated code. The tags are designed to help you identify the block, in your source model, that generated a given line of code. In previous releases, the locate_system command was used to trace a tag back to the generating block.

The new hilite_system command replaces locate_system, for the purposes of tracing the Real-Time Workshop identification tags. You should use the hilite_system command to trace a tag back to the generating block. For further information on identification tags and code tracing, see Tracing Generated Code Back to Your Simulink Model.

Generation of Parameter Comments

The Force generation of parameter comments option in the General code generation options category of the Real-Time Workshop page controls the generation of comments in the model parameter structure (rtP) declaration in model_prm.h. This lets you reduce the size of the generated file for models with a large number of parameters. See Force Generation of Parameter Comments Option in the Real-Time Workshop User's Guide for details.

Borland 5.4 Compiler Support

The Real-Time Workshop now supports Version 5.4 of the Borland C/C++ compiler.

Enhanced Makefile Include Path Rules

Two new rules and macros have been added to Real-Time Workshop template makefiles. These rules let you add source and include directories to makefiles generated by Real-Time Workshop without having to modify the template makefiles themselves. This feature is useful if you need to include your code when building S-functions.

See Customizing the Makefile Include Path in the Real-Time Workshop online documentation for details.

Target Language Compiler 4.0

TLC File Parsing Before Execution

The Target Language Compiler 4.0 completes parsing of the TLC file just before execution. This aids development because syntax errors are caught the first time the TLC file is run instead of the first time the offending line is reached.

Enhanced Speed

The Target Language Compiler 4.0 features speed improvements throughout the software. In particular, the speed of block parameter generation has been enhanced.

Build Directory

The Target Language Compiler 4.0 creates and uses a build directory. The build directory is in the current directory and prevents generated code from clashing with other files generated for other targets, and keeps your model directories maintenance to a minimum.

TLC Profiler

An entirely new TLC Profiler has been added to the Target Language Compiler to help you find performance problems in your TLC code.

model.rtw Changes

This release contains a new format and changes to the model.rtw file. The size of the model.rtw file has been reduced.

Block Parameter Aliases

Aliases have been added for block parameters in the model.rtw file.

Improved Text Expansion

This release of the Target Language Compiler contains new, flexible methods for text expansion from within strings.

Column-Major Ordering

Two-dimensional signal and parameter data now use column-major ordering.

Improved Record Handling

The Target Language Compiler 4.0 utilizes new record data handling.

New TLC Language Semantics

Many changes have been made to the language including:

New Built-In Functions

The following built-in functions have been added to the language.

FIELDNAMES, GENERATE_FORMATTED_VALUE, GETFIELD, ISALIAS, ISEMPTY, ISEQUAL, ISFIELD, REMOVEFIELD, SETFIELD

New Built-In Values

The following built-in values have been added to the language.

INTMAX, INTMIN, TLC_FALSE, TLC_TRUE, UINTMAX

Added Support for Inlined Code

Support has been added for two-dimensional signals in inlined code.


  Known Software Problem Upgrading from an Earlier Release