Real-Time Workshop |
 |
Capabilities and Benefits
Specific capabilities and benefits of Real-Time Workshop include
- Code generator for Simulink models
- Generates optimized, customizable code. There are several styles of generated code, which can be classified as either embedded (production phase) or rapid prototyping.
- Supports all Simulink features, including 8, 16, and 32 bit integers and floating-point data types.
- Fixed-point capabilities of Real-Time Workshop allow for scaling of integer words ranging from 2 to 128 bits. Code generation is limited by the implementation of
char
, short
, int
, and long
in embedded C compiler environments (usually 8, 16, and 32 bits, respectively).
- Generated code is processor independent. The generated code represents your model exactly. A separate run-time interface is used to execute this code. We provide several example run-time interfaces as well as production run-time interfaces.
- Supports any single or multitasking operating system, as well as "bare-board" (no operating system) environments.
- The flexible scripting capabilities of the Target Language Compiler enable you to fully customize generated code.
- Efficient code for S-functions (user-created blocks) can be crafted using Target Language Compiler instructions (called TLC scripts) and automatically integrated with generated code.
- Extensive model-based debugging support
- External mode enables you to examine what the generated code is doing by uploading data from your target to the graphical display elements in your model. There is no need to use a conventional source-level debugger to look at your generated code.
- External mode also enables you to tune the generated code via your Simulink model. When you change a parametric value of a block in your model, the new value is passed down to the generated code, running on your target, and the corresponding target memory location is updated. Again, there is no need to use an embedded compiler debugger to perform this type of operation. Your model is your debugger user interface.
- Integration with Simulink
- Code validation. You can generate code for your model and create a stand-alone executable that exercises the generated code and produces a MAT-file containing the execution results.
- Generated code contains system and block identification tags to help you identify the block, in your source model, that generated a given line of code. The MATLAB command
hilite_system
recognizes these tags and highlights the corresponding blocks in your model.
- Support for Simulink data objects lets you define how your signals and block parameters interface to the external world.
- Rapid simulations
- Real-Time Workshop supports several ways to speed up your simulations by creating optimized, model-specific executables.
- Target support
- Turnkey solutions for rapid prototyping substantially reduce design cycles, allowing for fast turnaround of design iterations.
- Bundled rapid prototyping example targets provide working code you can modify and use quickly.
- Add-on targets (Real-Time Windows Target and xPC Target) for PC-based hardware are available from The MathWorks. These targets enable you to turn a PC with fast, high-quality, low-cost hardware into a rapid prototyping system.
- Supports a variety of third-party hardware and tools, with extensible device driver support.
- Extensible make process
- Allows for easy integration with any embedded compiler and linker.
- Provides for easy linkage with your hand-written supervisory or supporting code.
In addition to the above benefits, the Real-Time Workshop Embedded Coder provides:
- Customizable, portable, and readable C code that is designed to be placed in a production embedded environment.
- More efficient code, because inlined S-functions are required and continuous time states are not allowed.
- Software-in-the-loop. With the Real-Time Workshop Embedded Coder, you can generate code for your embedded application and bring it back into Simulink for verification via simulation.
- Web-viewable code generation report, which describes in detail code modules, analyzes the generated code, and helps to identify code generation optimizations relevant to your program.
- Annotation of the generated code using the Description block property.
- Signal logging options and external parameter tuning, enabling easy interfacing of the generated code in your real-time system.
| Components and Features | | Accelerating Your Development Process |  |