MATLAB, Simulink und Polyspace für Embedded Systems

Entwurf, Codegenerierung und Verifikation von Embedded Systems

MATLAB und Simulink ermöglichen es Ihnen, per Mausklick Code zu generieren und diesen auf der Hardware auszuführen. Doch das Programmieren ist nur eine Aufgabe. Hier erfahren Sie mehr darüber, wie Sie mit MATLAB, Simulink und Polyspace Ihr nächstes Embedded System vom Prototyping bis zur Produktion entwickeln, programmieren und verifizieren können. Sie können Folgendes tun:

  • Optimierten C, C++, CUDA, Verilog, VHDL-Code und strukturierten Text generieren  
  • Fließ- und Festkomma-Entwurfstools verwenden, um Abwägungen zwischen Kosten und Leistung einzugehen
  • Generierten Code mithilfe von In-the-Loop-Tests verifizieren und profilieren
  • Standards wie AUTOSAR, ISO 26262, DO-178, MISRA C und CERT C erfüllen
  • Prototypen auf weitverbreiteten Platinen von Arduino® bis hin zu Zynq® mithilfe von Add-ons aus dem Hardware Support Package erstellen

„Mit dem Model-Based Design hatten wir einen erfolgreichen ersten Flug. Hinsichtlich Steuerung oder Integration gab es keine Probleme. Weil wir den Steuerkontrollcode mit Embedded Coder aus unserem Simulink-Modell generierten, gab es keine Zeitverluste wie sonst bei manueller Codegenerierung. Außerdem konnte sich das Team auf das Erreichen der weiter gefassten Programmziele konzentrieren.“

Codegenerierung aus MATLAB

Generieren Sie C, C++, CUDA und HDL Code für MATLAB in nur drei iterativen Schritten. Sie können Code überall ausführen und bereitstellen – auf Desktops, mobilen Geräten oder auch Embedded Systems. Mit der Weiterentwicklung Ihres Entwurfs kann MATLAB Coder automatisch neuen Code generieren, sodass Sie nicht manuell programmieren müssen. Dies beschleunigt den Vorgang und ermöglicht mehr Entwurfsiterationen.

Sie können den generierten Code als Quellcode, statische Bibliotheken oder dynamische Bibliotheken in Ihre Anwendungen integrieren, die außerhalb von MATLAB auf dem Desktop oder in der Cloud ausgeführt werden. Sie können den generierten Code auch als MEX-Funktion zur direkten Verwendung in MATLAB paketieren.

Generierung von Embedded Code mit MATLAB und Simulink
Embedded Systems Evaluation Kit

Codegenerierung aus Simulink

Mit Embedded Coder können Sie Ihre Modelle zur Erstellung von Prototypen und zur Produktion in hochwertigen Quellcode und ausführbare Dateien übersetzen. Verwenden Sie C und C++ Standardeinstellungen oder optimieren Sie die Leistung der Ausgabe mithilfe von SIMD-Anweisungen, Datenspeicherklassen und Codeplatzierungen in Speichersegmenten. Generieren Sie ANSI/ISO C/C++, MISRA-C oder AUTOSAR Quellcode und integrieren Sie ihn in Ihr Laufzeitsystem. Alternativ können Sie auch eine vollständig schlüsselfertige ausführbare Datei generieren, die automatisch heruntergeladen und auf Ihrem individuell konfigurierten Hardware-Gerät ausgeführt wird.

Untersuchen Sie den generierten Code für Ihre Modelle mithilfe von bidirektionalen Nachverfolgungs-Links oder erstellen Sie einen Bericht mit Code, Daten, Funktionsschnittstellen und Code-Metriken.

Festkomma

Schreiben Sie Doubles zügig mithilfe einer Vielzahl von Datentypen und Tools um, um 8-, 16- und 32-Bit-Algorithmen mit Festkomma oder einfacher Genauigkeit zu entwickeln. Fixed-Point Designer bietet Funktionen wie mathematische, bitweise, Array- und Matrix-Operationen, die Ihren Entwurf für Fest- und Fließkomma-Berechnungen optimieren.

Generieren Sie unkompliziert bitidentisches C und C++ sowie synthetisierbaren Verilog® und VHDL® Code aus MATLAB-Code, Simulink-Modellen und Stateflow-Diagrammen.

Mithilfe von Datentyp-Überschreibung kann Ihr Embedded-Entwurf mit Festkomma oder einfacher Genauigkeit sofort auf doppelte Genauigkeit umgestellt werden, um die Auswirkung der Quantisierung zu analysieren. Außerdem gibt es viele Tools, mit denen Sie die Ursachen für Überlauf, Präzisionsverlust sowie verschwendete Bereiche oder Präzision erkennen können.

Fixed-Point Designer
Polyspace

Verifikation von Entwürfen und Code

Verfassen, verwalten und verfolgen Sie Anforderungen für Modelle, generierten Code und Testfälle. Überprüfen Sie Entwürfe zur Modellstandard-Einhaltung wie z. B. MAB. Entwickeln Sie simulationsbasierte Tests (einschließlich Tests für Software-in-the-Loop, Processor-in-the-Loop und Hardware-in-the-Loop) und führen Sie sie aus. Mittels Embedded Coder können Sie die Leistung des generierten Codes mithilfe von Profilierung auf Aufgaben- und Funktionsebene analysieren.

Polyspace-Produkte unterstützen manuellen und generierten Code. Sie können mithilfe von Standards wie CWE, CERT-C und ISO/IEC 17961 die Abwesenheit von Laufzeitfehlern belegen, Programmierregeln durchsetzen und nach Sicherheitsschwachstellen suchen.

Unterstützung von Standards

Generieren Sie mit Embedded Coder einen Code, der weitverbreitete Software- und Sicherheitsstandards wie AUTOSAR und MISRA C einhält. MathWorks bietet Zertifizierungs- und Qualifizierungs-Kits, um Systeme und Qualitätstools gemäß ISO 26262, IEC 61508, EN 50128, IEC 62304, DO-178, DO-254 und anderen Branchenstandards für Embedded Systems in den Bereichen Automobil, Medizin, Schienenverkehr sowie Luft- und Raumfahrt zu entwickeln.

Weitere Informationen

Standardverifikation
Discovery-Platine

Hardware-Unterstützung

Generieren und kompilieren Sie zügig Code für eigene Hardware – ganz gleich, was Ihre Anwendung ausführt, sei es Signalverarbeitung, Computer Vision, Bildverarbeitung oder Regelungssysteme.

Generieren Sie Code und erstellen Sie Prototypen auf Embedded Platforms wie Raspberry Pi™ oder Arduino®. Integrieren Sie den generierten Code auf mobilen Plattformen in die eigene App und führen Sie ihn auf iPhones, iPads oder Android™-Geräten aus, um beispielsweise auf integrierte Sensoren wie Videokamera, Mikrofon und Beschleunigungsmesser zuzugreifen. Stellen Sie Ihr Embedded System auf leistungsstarken Mikroprozessoren bereit.

Darüber hinaus bieten MathWorks und Connections Partner integrierte schlüsselfertige Integrationen für weitverbreitete Hardware.

Weitere Informationen


Explore Examples

Arbeiten Sie sich mit interaktiven Beispielen und Tutorials von einfachen Aufgaben zu komplexen Projekten voran.