| Version 6.2 (R14SP2) Real-Time Workshop® Software Release Notes | ![]() |
This table summarizes what's new in V6.2 (R14SP2):
| New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems | Related Documentation at Web Site |
|---|---|---|---|
| Yes Details below | No | Bug
Reports at Web site | No |
New features and changes introduced in this version are
New Configuration Option for Optimizing Floating-Point to Integer Data Type Conversions
LibManageAsyncCounter Function Added to asynclib.tlc Library
Enhanced Documentation on Integrating Legacy and Custom Code with Generated Code
The Model Advisor analyzes Simulink® models for optimal use of Simulink for simulation and code generation. You can customize the analysis and resulting report by selecting the checks that you want the Model Advisor to perform. The Real-Time Workshop® V6.2 (R14SP2) product enhances the Model Advisor by adding several new checks and grouping checks based on their application for simulation or code generation.
The Model Advisor dialog box now appears as follows:

For more information on the Model Advisor, see Consulting the Model Advisor in the Simulink documentation.
The Rate Transition block has been enhanced to support:
Automatic insertion for transitions to or from asynchronous tasks. If you select the Automatically handle data transfers between tasks on the Solvers pane of the Configuration Parameters dialog, Simulink detects rate transitions and inserts Rate Transition blocks automatically to handle them for asynchronous and periodic tasks. Prior to Version 6.2, automatic block insertion for asynchronous tasks was not supported. For details, see Rate Transition Block Options.
Automatic insertion for single-tasking execution mode. If you select the Automatically handle data transfers between tasks, Simulink detects rate transitions inserts Rate Transition blocks automatically for models that execute in single-tasking or multitasking mode. Prior to V6.2 (R14SP2), automatic block insertion for single-tasking execution mode was not supported. For details, see Rate Transitions and Asynchronous Blocks.
Asynchronous rates when no priority is specified. You can set the block to one of two modes: unprotected, or data integrity with no determinism. Prior to V6.2 (R14SP2), the Rate Transition block did not ensure data integrity for asynchronous rates when the priority was not set. For details, see Rate Transitions and Asynchronous Blocks.
The code that the Real-Time Workshop build process generates for the Data Store Read block has been optimized. Prior to this V6.2 (R14SP2), the code generated for this block would copy the value of the block to a temporary variable. In V6.2 (R14SP2), the Real-Time Workshop build process eliminates the use of the temporary variable, if possible.
Consider the following model:

A section of the code generated for this model, using an earlier version of the Real-Time Workshop product would appear as follows:
/* local block i/o variables */
real_T rtb_DataStoreRead;
/* DataStoreWrite: '/Data Store Write' incorporates:
* Inport: '/In1'
*/
mdsm_opt_DWork.A = mdsm_opt_U.In1;
/* DataStoreRead: '/Data Store Read' */
rtb_DataStoreRead = mdsm_opt_DWork.A;
/* Outport: '/Out1' */
mdsm_opt_Y.Out1 = rtb_DataStoreRead;Note the value of mdsm_opt_DWork.A is stored in the temporary variable rtb_DataStoreRead.
The following code fragment shows the comparable section of code generated by this release of the Real-Time Workshop product. The temporary variable rtb_DataStoreRead is no longer used.
/* DataStoreWrite: '/Data Store Write' incorporates: * Inport: '/In1' */ mdsm_opt_DWork.A = mdsm_opt_U.In1; /* Outport: '/Out1' incorporates: * DataStoreRead: '/Data Store Read' */ mdsm_opt_Y.Out1 = mdsm_opt_DWork.A;
In V6.2 (R14SP2), the Real-Time Workshop product introduces support for generating C++ code. The primary use for this feature is to facilitate integration of generated code with legacy or custom user code written in C++.
For information on using this feature, see the following topics in the Real-Time Workshop documentation:
For a demo, enter sfcndemo_cppcount in the MATLAB® Command Window. For a Stateflow® example, enter sf_cpp.
Microsoft® Visual C and Microsoft® Visual C++® and GNU C/C++ have been fully tested and are fully supported on 32–bit Microsoft Windows® and Linux® platforms. However, Version 6.2 provides Beta C++ support only for the Watcom, Borland®, and Intel® C/C++ compilers. These compilers have not yet been fully evaluated for compatibility with MathWorks™ products.
The Real-Time Workshop product provides Beta support for C++ code generation for all blockset products. C++ code generation for the blockset products has not yet been fully evaluated.
the Real-Time Workshop software does not support C++ code generation for the following:
| Embedded Target for Infineon C166® Microcontrollers |
| Embedded Target for Motorola® MPC555 |
| Embedded Target for Motorola HC12 |
| Embedded Target for OSEK/VDX® |
| Embedded Target for TI C2000™ DSP |
| Embedded Target for TI C6000™ DSP |
| Real-Time Windows Target |
| SimDriveline™ |
| SimMechanics™ |
| SimPowerSystems™ |
| xPC Target™ |
The Real-Time Workshop build process does not support the use of external mode with executables it generates from C++ source files.
When using the Model Reference feature, you cannot generate C code for the parent model and C++ code for models that refer to the parent model. However, you can generate C or C++ for both the parent and referring models, or C++ code for the parent model and C code for referring models.
The following Real-Time Workshop® Embedded Coder™ dialog box fields currently do not accept the .cpp extension. However, a .cpp file will be generated if you specify a filename without an extension in these fields, with C++ selected as the target language for your generated code.
Data definition filename field on the Data Placement pane of the Configuration Parameters dialog box
Definition file field for an mpt data object in the Model Explorer
These restrictions on specifying .cpp will be removed in a future release.
V6.2 (R14SP2) provides Beta support for the Open Watcom 1.3 compiler. The compiler has not yet been fully evaluated for compatibility with MathWorks products. However, the support files necessary for you to use the compiler with MATLAB and the MATLAB® Compiler™ are available. To configure the compiler, use the mex -setup function. Full support will be available in a future release.
A new option, Remove code from floating-point to integer conversions that wraps out-of-range values, has been added to the Optimization pane of the Configuration Parameters dialog box that you can use to increase the efficiency of generated code that represents floating-point to integer or fixed-point data type conversions. The option removes code that ensures that execution of the generated code produces the same results as simulation when out-of-range conversions occur. This reduces the size and increases the speed of the generated code at the cost of potentially producing results that do not match simulation in the case of out-of-range values.
Consider using this option if code efficiency is critical to your application and the following conditions are true for at least one block in the model.
Computing the block's outputs or parameters involves converting floating-point data to integer or fixed-point data
The block's Saturate on integer overflow option is disabled
For more information, see Optimizing Code Resulting from Floating-Point to Integer Conversions in the Real-Time Workshop documentation.
The Effective priorities parameter for the Async Interrupt block and Task priority parameter for the Task Sync block are renamed Simulink task priority. In both cases, the Rate Transition block uses the parameter to generate the appropriate high-to-low or low-to-high priority transition code.
A new option, Force storage classes to AUTO, has been added to the Real-Time Workshop>RSim Target pane of the Configuration Parameters dialog box. The option is on by default and forces all storage classes to Auto. If your application requires the use of other storage classes, such a ExportedGlobal or ImportedExtern, turn this option off. The new option appears in the Storage Classes section as shown in the next figure.

For more information, see Configuring and Building a Model for Rapid Simulation.
The function LibManageAsyncCounter has been added to the asynclib.tlc TLC library. This function determines whether an asynchronous task needs a counter and manages its own timer.
Documentation on integrating legacy and custom code with generated code has been enhanced.
A new section, Integrating Legacy and Custom Code, summarizes the mechanisms available for integrating Real-Time Workshop generated code into an existing code base or integrating existing code into Real-Time Workshop generated code. In the later scenario, integration can be either block based or model based. The new summary can help you evaluate and choose a mechanism that best meets your application requirements and directs you to other areas of the documentation for implementation details.
The section Using the rtwmakecfg.m API discusses new fields in the rtwmakecfg.m API that support the Real-Time Workshop build process for S-functions.
A new section, Build Support for S-Functions, discusses the different ways of adding build information to the Real-Time Workshop build process.
The following areas of the Real-Time Workshop documentation have been corrected or enhanced:
Integrating custom and legacy code
References to and screen captures showing new and modified Configuration Parameter dialog box options
Descriptions of MaxStackSize and MaxStackVariableSize variables
Limitations on tunable expressions
Limitation on Stateflow outputs (removed)
Symbolic naming conventions for signals in generated code as documented in "Working with Data Structures"
Parameter tuning using MATLAB commands
How to avoid parameter configuration conflicts related to storage classes
Example for user-defined block state names
Parameter configuration quick reference diagram (was missing from HTML output)
Data type considerations for tunable workspace parameters
Definitions of top model and reference model in the context of model referencing
Deletion of user *.c files from the Real-Time Workshop build directory
Conditions that need to be met for a block to be considered for dead code elimination
Writing S-functions that specify sample time inheritance
Use of ssSetNeedAbsoluteTime or ssSetNeedElapseTime in S-functions for accessing timers
Optimizing with expression folding
References to the Data Object Wizard (DOW) in the context of using ASAP2
C API for S-Functions
External mode parameter descriptions
![]() | Version 6.2.1 (R14SP2+) Real-Time Workshop® Software | Version 6.1 (R14SP1) Real-Time Workshop® Software | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |