|Real-Time Workshop Release Notes|
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:
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.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.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 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:
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,
_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.
|Note If you have created custom targets for the Real-Time Workshop under Release 11, you must update your custom system target files and template makefiles to create and utilize the build directory. See Updating Release 11 Custom Targets.|
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.
The operation of the |
Filename Extensions for Generated Files
In previous releases, some generated files were given special filename extensions, such as
.reg. All the Real-Time Workshop generated code and header files now use standard filename extensions (
.h). The file naming conventions for the following generated files have changed:
reg) is now named
model.prm) is now named
BlockIOSignalsstruct file (formerly
model.bio) is now named
model.pt) is now named
model.dt) is now named
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.
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.
The Target Language Compiler 4.0 features speed improvements throughout the software. In particular, the speed of block parameter generation has been enhanced.
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.
An entirely new TLC Profiler has been added to the Target Language Compiler to help you find performance problems in your TLC code.
This release contains a new format and changes to the
.rtw file. The size of the
.rtw file has been reduced.
Block Parameter Aliases
Aliases have been added for block parameters in the
Improved Text Expansion
This release of the Target Language Compiler contains new, flexible methods for text expansion from within strings.
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:
EXISTSbehavior (see TLC Compatibility Issues)
?:expressions are handled properly
New Built-In Functions
The following built-in functions have been added to the language.
New Built-In Values
The following built-in values have been added to the language.
Added Support for Inlined Code
Support has been added for two-dimensional signals in inlined code.
|Known Software Problem||Upgrading from an Earlier Release|