Embedded Target for Motorola MPC555 Release Notes    

Feature Summary

Simulation and Co-Simulation

Production Code Generation

Code and Performance Analysis

Web-viewable code generation report includes:

Applications Development and Rapid Prototyping

Device Driver Support

CAN Support

Code Validation and Performance Analysis

Code Validation.   Since signal data is available to Simulink during each sample interval in a PIL simulation, you can observe signal data on Scopes or other Simulink signal viewing blocks. You can also store signal data to MAT-files via To File blocks. To validate the results obtained by the generated code running on the target processor, you can compare these files to results obtained using a normal Simulink plant/controller simulation.

Determining Code Size.   In control design it is critical to ensure that the size of the generated code does not exceed physical limitations of RAM and ROM. The Embedded Target for Motorola MPC555 automatically produces a code generation report that displays the RAM usage and ROM size of the generated code.

This capability is useful when selecting which code generation optimizations will be used. After determining the size of the required RAM and ROM, you can consider which code generation optimizations to use, and consider modifications to the model design.

Known Software and Documentation Problems

This section describes known software and documentation problems in Version 1.0.1.

Accelerator Mode

Models that contain CAN blocks from the Embedded Target for Motorola MPC555 libraries do not operate properly in Simulink Accelerator mode.

CAN Blocks and CAN Download Control Panel

CAN Calibration Protocol Block Incompatibility
with lcc C Compiler

Due to a current Stateflow limitation, it is not possible to use the CAN Calibration Protocol Block if you use the lcc C Compiler as the default compiler (as designated by the mex -setup command). "Undefined reference" errors will occur when the model is updated if you attempt to use this block with lcc.

The CAN Calibration Protocol Block is fully compatible with the Microsoft Visual C/C++ compiler. To use the CAN Calibration Protocol Block, you must install Microsoft Visual C/C++ and associated environment variables as described in the "Installing Real-Time Workshop" section of the Real-Time Workshop documentation) and set Microsoft Visual C/C++ to be the default compiler via the mex -setup command.

This limitation will be removed in a future Stateflow release.

Compiler Optimizations

In some very rare instances, due to compiler defects, compiler optimizations applied to Embedded Target for Motorola MPC555 generated code may cause the executable program to produce incorrect results, even though the code itself is correct.

When using the RT target, you can set the Optimize compiler for option to none to work around problems caused by compiler optimizations.

For the PIL and AE targets, please refer to your compiler's documentation for information on how to lower the optimization level of the compiler or turn off optimizations. Then, having found the optimization switches required, you can enter the options directly into the Make command field in the Target configuration category of the Real-Time Workshop pane of the Simulation Parameters dialog.

By default, the Make command field contains the command

To add your optimization switches, append the following to the make_rtw command:

For example, if the correct switch for your compiler is -O, the Make command field would contain

Configuration for Non-Default Hardware

The Embedded Target for Motorola MPC555 has been developed and fully tested using Phytec phyCORE-MPC555 development board. We strongly recommend the use of this board for getting started with the Embedded Target for Motorola MPC555.

If you are using different MPC555 hardware, it may be necessary to perform some additional manual configuration. The section Hardware Clock Configuration describes how to configure the Embedded Target for Motorola MPC555 real-time target for use on hardware with external oscillator frequencies other than 20 MHz.

The following sections give additional examples of hardware-specific configuration changes that may be required. This information is not intended to be exhaustive.

Using the PIL Target With Non-Default Hardware

If you are using the Metrowerks CodeWarrior development environment, the relevant hardware configuration settings are contained in

If you are using the Diab and SingleStep development environment, the configuration settings are contained in

The necessary changes to these files depend on the hardware that you are using. As an example, the following settings should be made for an Axiom CME-555 development board:

Note that these values are given only as an example.

Depending on your hardware, you may also need to configure switches and jumper settings. Consult the documentation for your development board.

Using the RT Target With Non-Default Hardware

As with the PIL target, the exact changes required for the real-time target will depend on your hardware. You should make the changes to the values for BR1, OR1, SCCR and PLPRCR by modifying each of the files

Note that after making any changes to bootloader.h, you must re-compile the boot code as described in Boot Code Parameters for CAN Download in the Embedded Target for Motorola MPC555 User's Guide.

Default Changed for CCP Block Total Number
of Object Descriptor Tables

The default value for the Total Number of Object Descriptor Tables (ODTs) parameter of the CCP block has been changed to 8. Formerly, the default value was 254.

Device Driver Blocks Support Limitations

The Embedded Target for Motorola MPC555 real-time (RT) target supports all blocks in the Embedded Target for Motorola MPC555 libraries.

The Algorithm Export (AE) and PIL targets and Simulink Accelerator also provide limited support for blocks in the Embedded Target for Motorola MPC555 libraries. These limitations will be removed in a future release.

Table 1-1 and accompanying notes summarize the blocks that are supported by each of these targets.

Table 1-1: Device Driver Blocks Support  
Block or Block Group
Supported by
RT Target

Supported by
PIL Target

Supported by
AE Target

Supported by
Simulink
Accelerator

MPC555 Resource Configuration

Yes
Yes
Yes
Yes
Watchdog
Yes
Yes
Yes
Yes
Modular Input/Output System (MIOS1) block group
Yes
Yes
Yes
Yes
Queued Analog-Digital Converter Module-64 block group
Yes (see Note 1)
Yes
Yes (see Note 1)
No
CAN 2.0B Controller Module (TouCAN) block group
Yes
Yes (see Note 2)
Yes (seeNote 3)
No
CAN Message block group
Yes
Yes
Yes
No
CAN Drivers (Vector) block group
Yes
Yes
Yes
No

Note 1.   When using the QADC Analog In block, or the TOUCAN Transmit make sure that the block output is connected to the input of another block. Otherwise, the build process will terminate with an error.

Note 2.   The PIL target does not support the TOUCAN Interrupt Generator block or the Can Calibration Protocol Block.

Note 3.   The AE target does not support the Can Calibration Protocol Block.

Hardware Clock Configuration

  1. In the directory

    matlabroot\toolbox\rtw\targets\mpc555dk\common\drivers\bootcode

  1. In the same directory, make a copy of the file
    gmd_ppc_cmf_300_A61_200_04.c, and rename the copy to gmd_ppc_cmf_300_A61_200.c (replacing the .c file you deleted in step 1).
  2. Edit the file

    matlabroot/toolbox/rtw/targets/mpc555dk/common/drivers/libmods/timers/clocks_common.h

  1. and change the line

    to

  1. Re-compile the boot code as described in Boot Code Parameters for CAN Download in the Embedded Target for Motorola MPC555 User's Guide. Recompilation produces a new bootcode_flash.bin file.
  2. Program the updated bootcode_flash.bin onto the target hardware, as described in Downloading Boot Code in the Embedded Target for Motorola MPC555 User's Guide.
  1. To switch back to 20 MHz, just use the same procedure as above, but replace the file gmd_ppc_cmf_300_A61_200.c with the file gmd_ppc_cmf_300_A61_200_20.c.

PIL Target

  1. Locate the directory where the S-function, subsystem_pil_sf.dll, is located and add this directory to the MATLAB path.
  2. Execute the following command at the MATLAB prompt:

SingleStep Debugger

Other Limitations and Warnings

Upgrading from an Earlier Release

This section describes the upgrade issues involved in moving from the The Embedded Target for Motorola MPC555 1.0 to Version 1.0.1.

ASAP2 Files Now Written to Build Directory

In the previous release, when generating an ASAP2 file, the Embedded Target for Motorola MPC555 real-time target wrote the ASAP2 file to the same directory as the source model.

In version 1.0.1, ASAP2 files are written to the build directory. If you have scripts or other procedures that assume the generation of ASAP2 files in the same directory as the source model, you should update them.


 Embedded Target for Motorola MPC555 1.0.1 Release Notes