Real-Time Workshop Release Notes    

Bug Fixes

The Real-Time Workshop 4.1 includes the bug fixes described in this section. See also TLC Bug Fixes for bug fixes specific to the Target Language Compiler.

Block Reduction Crash Fixed

A problem that crashed MATLAB due to a segmentation fault during the block reduction process has been fixed. This problem occurred only if the Block Reduction option was on, and if a Scope block was connected to a block that was removed due to block reduction.

Build Subsystem Gives Better Error Message for Function Call Subsystems

The Build Subsystem feature does not currently support triggered function-call subsystems. The Real-Time Workshop now gives a a more informative error message when a Build Subsystem is attempted with a triggered function-call subsystem.

Check Consistency of Parameter Storage Class and Type Qualifier

The Real-Time Workshop now checks for consistency of parameter storage class and type qualifier when a parameter is specified by both the Model Parameter Configuration dialog box and a referenced Simulink data object.

Code Optimization for Unsigned Saturation and DeadZone Blocks

When the lower limit of a Saturation or DeadZone block is a zero and is nontunable, and the data type is unsigned, the comparison against the lower limit is omitted from the code. Similarly, if the upper or lower limit of the Saturation block is nontunable and nonfinite, the comparison against the infinite limit is omitted.

Correct Code Generation of Fixed-Point Blockset Blocks in DSP Blockset Models

A code generation bug involving some DSP Blockset blocks (see list below) was fixed. When these blocks were driven by a block from the Fixed-Point Blockset, generated code would write outside array memory bounds. The following DSP Blockset blocks generated incorrect code:

Correct Compilation with Green Hills and DDI
Compilers

Compilation errors for files associated with matrix inversion in the matlabroot/rtw/c/libsrc directory were fixed. These errors occurred with the Green Hills and DDI compilers.

Fixed Build Error with Models Having Names Identical to Windows NT Commands

This fix prevents an error that occurred when building models having names identical to Windows NT internal commands. Examples would be models named verify or path. Such model names are now allowed.

Fixed Error Copying Custom Code Blocks

An error in the Custom Code block Copyfcn callback was fixed. The problem caused an error when copying a custom code block within a model.

Fixed Error in commonmaplib.tlc

A typo in rev 1.17 of commonmap.tlc was fixed. This typo caused an error during code generation, when using the grt_malloc target with External mode selected.

Fixed Name Clashes with Run-Time Library Functions

The Real-Time Workshop now uses the macros rt_min and rt_max to avoid clashing with run-time library min and max functions.

Improved Handling of Sample Times

The sample time handling for the S-function and ERT targets has been improved to use the compiled sample time instead of the user specified sample time on the input port blocks.

Look-Up Table (n-D) Code Generation Bug Fix

The Real-Time Workshop now generates correct code for Look-Up Table (n-D) blocks having 5 or more dimensions with different dimension sizes.

Parenthesize Negative Numerics in Fcn Block Expressions

Fcn block expressions in the generated code failed to compile in the case of a unary operator preceding a workspace variable with a negative value, such as the expression

Such expressions are now enclosed in parentheses, as in

Removed Unnecessary Warnings and Declarations from Generated Code

Several unnecessary warnings and declarations in the generated code have been removed. These include:

Retain .rtw File Option Now Works in Accelerator Mode

In previous releases, the Retain .rtw file option (on the TLC Debugging Options page of the Simulation Parameters dialog box) was ignored if Simulink was in Accelerator mode. Now, you can retain the model.rtw file during a build, regardless of the simulation mode.

S-Function Target Memory Allocation Bug Fix

A segmentation fault during generation of S-functions was removed by fixing the memory management of the port data structure.


  New Features Upgrading from an Earlier Release