Simulink Coder™ (formerly Real-Time Workshop®) generates and executes C and C++ code from Simulink® models, Stateflow® charts, and MATLAB® functions. The generated source code can be used for real-time and nonreal-time applications, including simulation acceleration, rapid prototyping, and hardware-in-the-loop testing. You can tune and monitor the generated code using Simulink or run and interact with the code outside MATLAB and Simulink.
To share your Simulink simulations as standalone executables, web apps, or Functional Mockup Units (FMUs), use Simulink Compiler™.
Get Started:
Generating Code
Simulink Coder generates C and C++ for Simulink models, MATLAB functions, and Stateflow charts. It supports a wide variety of Simulink add-on products, including Simscape™, Vehicle Dynamics Blockset™, and Computer Vision Toolbox™.
Configuring Options
Simulink Coder lets you configure code and data options using apps and APIs. Use Code Generation Advisor to optimize for speed or debugging.
Integrating Legacy Code
You can incorporate hand-written, existing C/C++ code using the C Caller block or the Legacy Code Tool to enable simulation and integration with generated code.
Viewing the Status of Parallel Builds
You can view the status of in-progress parallel builds using the build status user interface. This information can help you identify ways to improve parallel builds by modifying the referenced model hierarchy.
Real-Time Simulation and Testing
Test and prototype your embedded system design using hardware-in-the-loop simulation and rapid prototyping on a wide variety of real-time machines, including Speedgoat target computer hardware with Simulink Real-Time™.
Desktop System Simulation
Generate and test code for your system on your host computer using rapid batch or Monte Carlo simulations.
Deploying to Embedded Targets
Run code from your models on supported embedded targets for project-based learning, using a library of I/O blocks for configuring and accessing peripherals and communication interfaces. Deploy a variety of trained deep learning networks (including ResNet-50, SegNet, and LSTM) from Deep Learning Toolbox to Intel and ARM CPUs.
External Mode Simulation with XCP Communication
Simulink Coder supports signal logging and streaming via Dashboard blocks and the Simulation Data Inspector. You can stream signals from a model hierarchy over XCP, TCP/IP, and serial (RS-232) communication.
Host-Based ASAP2 Data Exchange
Generate host-based ASAP2 data definition files for use in third-party data measurement, calibration, and diagnostic systems.
Data Exchange Between Generated and Hand-Written Code
Access Simulink block outputs and MATLAB parameters from hand-written code using a target-based C API.