Programmieren mit System

CMSIS vereinheitlich Peripherie-Programmierung

27. September 2010, 14:42 Uhr | Von Reinhard Keil
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Entwicklungs-Tools für Cortex-Mikrocontroller

Durch den Erfolg der Cortex-Mikrocontroller gibt es etliche Software-Hersteller, die Entwicklungs-Tools anbieten und sich auf die Unterstützung von ARM-Mikrocontrollern spezialisiert haben. Einige Komplett-Lösungen zur Software-Entwicklung sind:

  • Embedded Workbench for ARM von IAR unterstützt fast alle ARM-Cores, so dass die Cortex-Mikrocontroller aller Hersteller programmiert werden können.
  • Das Keil Microcontroller Development Kit von ARM bietet derivat-spezifischen Support für mehr als 600 Standard-Mikrocontroller und kombiniert den ARM-Compiler, µVision Debugger/IDE und den RTX-RTOS-Kernel.
  • Viele andere Hersteller wie beispielsweise Attol, CodeRed oder Raisonance bieten Lösungen für Mikrocontroller, die als Basis den GNU-Compiler verwenden.

Cortex-Mikrocontroller integrieren umfangreiche Peripherie, beispielsweise:

  • Ethernet-Interface für TCP/IP-Applikationen,
  • LCD-Controller zur Ansteuerung von Displays,
  • USB Device/USB Host oder USB-OTG-Interface zum Anschluss von PC-Peripherie,
  • CAN-Controller für Automotive- und Industrie-Applikationen,
  • SD/MMC-Interface zum Ansteuern von Flash-Speicher.

passend zum Thema

Entwicklungs-Tools und Middleware von Keil/ARM.
Bild 2. Entwicklungs-Tools und Middleware von Keil/ARM.
© ARM

Zur Ansteuerung dieser Peripherie werden umfangreiche Software-Stacks und Peripherie-Treiber benötigt. Außerdem ist der Einsatz eines Echtzeit-Betriebssystems bei vielen Embedded-Applikationen sinnvoll. Fast alle Mikrocontroller-Hersteller liefern kostengünstige Starter-Kits, die meist einen JTAG-Debugger und Evaluierungs-Lizenzen für Entwicklungs-Tools enthalten (Bild 2).

Da der CMSIS-Layer für alle Compiler-Hersteller identisch ist, sind bei einer Änderung der Toolchain keine Anpassungen erforderlich. CMSIS bietet Standard-Schnittstellen an, die von vielen Halbleiter- und Middleware-Partnern verwendet werden können, und reduziert Projektrisiken, da eine CMSIS-Schnittstelle schon geprüft und zertifiziert sein kann. Sobald der Standard allgemein gebräuchlich ist, ist Benutzer-Sourcecode, der CMSIS-Schnittstellen verwendet, einfacher zu verstehen und daher leichter zu überprüfen.

Standards senken Kosten

Die Industrie nutzte frühzeitig Standards zur Qualitätssteigerung der Produkte und erlaubte damit die Wiederverwendung von Komponenten und die Verteilung von Kosten über mehrere Projekte hinweg. In der Praxis erlangen solche Standards eine breite Akzeptanz, weil die Synergieeffekte erhebliche Vorteile für die Benutzer bieten. In der Elektronik-Industrie gibt es jede Menge solcher Standards, jedoch sind im "Deeply-Embedded-Markt" bis heute nach wie vor viele proprietäre Mikrocontroller-Architekturen im Einsatz, die die Einführung von effizienten Software-Standards verhindern.

Ein Standard-Prozessor wie Cortex-M0, Cortex-M3 oder Cortex-M4 ermöglicht nicht nur die Wiederverwendung der gleichen Entwicklungs-Tools für viele Projekte; zusammen mit dem CMSIS werden auch die Entwicklungskosten gesenkt, da sich Software-Komponenten leichter projektübergreifend nutzen lassen. Die allgemein gebräuchlichen Programmier-Schnittstellen, die durch CMSIS eingeführt werden, erleichtern langfristige Software-Wartung, da Applikationen, die CMSIS-Schnittstellen verwenden, auch von neuen Teammitgliedern einfach verstanden werden können.


  1. CMSIS vereinheitlich Peripherie-Programmierung
  2. Entwicklungs-Tools für Cortex-Mikrocontroller
  3. Wie geht es weiter mit CMSIS?

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ARM Germany GmbH