Suchen

Cortex MCU Software Interface Standard Programmierschnittstelle für Echtzeit-Systeme

| Autor / Redakteur: Reinhard Keil* / Holger Heller

ARM-Cortex-M3-basierte MCUs werden immer beliebter. Die jüngste Einführung des Cortex-M0-Prozessors ermöglicht noch kostengünstigere Geräte mit geringerem Stromverbrauch. Die Cores der Cortex-M-Serie sind softwarekompatibel – mit dem Cortex Microcontroller Software Interface Standard (CMSIS) wird die Software-Portierung weiter vereinfacht.

Firmen zum Thema

Cortex-M3-Evaluierungsboard von Keil
Cortex-M3-Evaluierungsboard von Keil
( Archiv: Vogel Business Media )

Das Mikrocontroller-Segment ist einer der am stärksten fragmentierten Märkte in der Elektronikindustrie. Die vielen MCU-Architekturen haben oft eine lange Geschichte; die meisten 8- und 16-Bit-Architekturen wurden vor mehr als 20 Jahren entwickelt. Im Laufe der Jahre wurden sie mehrere Male umgestaltet, sodass die heutigen Anforderungen noch erfüllt werden können. Um fehlende CPU-Leistung zu kompensieren, werden teilweise Peripherie-Komponenten hinzugefügt wie z.B. ein Arithmetik-Beschleuniger oder eine HardwareCORDIC-Einheit.

Da keine Peripherie- und Schnittstellenstandards vorhanden sind, müssen Programmierer immer wieder Lösungen für die gleichen grundlegenden Probleme neu erfinden und vorhandene Software-Algorithmen an neue Hardware anpassen. In solchen Umgebungen kann die objektorientierte Programmierung nur selten verwendet werden.

Generische Softwarekomponenten, die in der PC-Welt gebräuchlich sind, sind nicht verfügbar und das Fehlen von Programmierstandards limitiert die Software-Wiederverwendung. Stattdessen müssen Halbleiterhersteller umfangreiche Software-Frameworks für neue MCUs, die auf spezifische Anwendungen zugeschnitten sind, kostenfrei zur Verfügung stellen. Dies verlangsamt die Einführung neuer Bausteine und erhöht die Entwicklungskosten signifikant.

Debug-Schwächen bei 8-/16-Bit-MCUs

Eine weitere Schwäche der heutigen 8- und 16-Bit-MCUs ist die proprietäre Debug-Technik, die in vielen Bausteinen integriert ist. In den meisten Fällen sind nur Tests mit einfachen Programm-Breakpoints möglich. Data-Trace-Funktionen, die für die dynamische Analyse der laufenden Anwendungen notwendig sind, sind meist nicht verfügbar.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 314267)