Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Generar código C o C++ a partir de bloques de Stateflow

Para generar código C o C++ a partir de modelos de Simulink® que incluyan un gráfico de Stateflow®, use Simulink Coder™. A parte de Simulink Coder, debe usar Embedded Coder® para hacer que su código sea más legible, más compacto y más rápido de ejecutar.

Generar código con Simulink Coder

Simulink Coder permite generar código C y C++ a partir de modelos que incluyan gráficos de Stateflow. Podrá utilizar el código generado para aplicaciones en tiempo real y no real en los siguientes casos:

  • Aceleración de simulación

  • Prototipado rápido

  • Pruebas de hardware-in-the-loop (HIL)

Con Simulink Coder puede acceder a los modos Accelerator y Rapid Accelerator. Los modos Accelerator funcionan generando código de destino, que luego se utiliza en la ejecución. Para obtener más información sobre estos modos, consulte How Acceleration Modes Work (Simulink).

Las pruebas de HIL permiten probar el diseño de un controlador y determinar si el modelo de sistema físico es válido.

Para obtener más información, consulte Generate Code Using Simulink Coder (Simulink Coder).

Generar código con Embedded Coder

Con Embedded Coder, puede generar código C o C++ más compacto, más fácil de leer y más rápido de ejecutar. Además, Embedded Coder amplía las capacidades de Simulink Coder ya que permite controlar funciones, archivos y datos generados. Asimismo, Embedded Coder permite una fácil integración del código existente, tipos de datos y parámetros de calibración. Embedded Coder admite estándares de software para AUTOSAR, MISRA C y ASAP 2.

Embedded Coder también proporciona paquetes de soporte con optimizaciones avanzadas y controladores de dispositivos para hardware específico.

Para obtener más información, consulte Generate Code Using Embedded Coder (Embedded Coder).

Optimizar código generado para Stateflow

Para obtener sugerencias de diseño para optimizar el código generado a partir de objetos de Stateflow, consulte Design Techniques to Optimize Stateflow Objects for Code Generation (Embedded Coder).

Generar código para prototipado rápido y despliegue en producción

Objetivo

Documentación de Simulink Coder

Documentación de Embedded Coder

Generar código fuente C o C++

Source Code Generation (Simulink Coder)

Source Code Generation (Embedded Coder)

Generar código fuente C o C++ y construir el ejecutable

Generated Code Compilation (Simulink Coder)

Generated Code Compilation (Embedded Coder)

Integrar código externo

External Code Import (Simulink Coder)

External Code Import (Embedded Coder)

Incluir código externo solo para gráficos de biblioteca en una biblioteca portátil y autónoma que pueda utilizarse en varios modelos

Integrate External Code with Library Charts (Simulink Coder)

Integrate External Code with Library Charts (Embedded Coder)

Optimizar código generado

Code Efficiency (Simulink Coder)

Code Efficiency (Embedded Coder)

Trazabilidad de los objetos de Stateflow en código generado

Los comentarios de trazabilidad proporcionan una forma de:

  • Validar el código generado. Puede identificar qué objeto de Stateflow corresponde a una línea de código y hacer un seguimiento del código de diferentes objetos que haya revisado o no.

  • Incluir comentarios en el código generado para modelos a gran escala. Puede identificar los objetos en el código generado y evitar la introducción manual de comentarios o descripciones.

Para habilitar los comentarios de trazabilidad, debe tener el software Embedded Coder o HDL Coder™. Para obtener más información, consulte Trace Stateflow Elements in Generated Code (Embedded Coder) y Navigate Between Simulink Model and HDL Code by Using Traceability (HDL Coder).

Nota

Los bloques de Stateflow no admiten la generación de código si alguno de los datos utiliza un tipo de alias y tiene tamaño variable. Esta limitación no se aplica a los datos de entrada, salida o locales en el nivel de gráfico. Para obtener más información sobre cómo definir datos de tamaño variable, consulte Declare Variable-Size Data in Stateflow Charts.

Consulte también

Temas