ARM Classic Cores

Mikrocontroller mit einem Kern der Firma ARM finden in den letzten Jahren eine immer weitere Verbreitung. Es gibt heute kaum eine Anwendung, f├╝r die es nicht einen Controller mit einem ARM-Kern gibt. Einer der Gr├╝nde f├╝r die gro├če Verbreitung dieser Controller ist, das es von dem ARM-Kern unterschiedliche Varianten gibt, die sich in der Rechenleistung und der Anzahl der ben├Âtigten Gatter die Realisierung (->Herstellungskosten) unterscheiden. Allen ARM-Kernen ist gemein, dass es sich bei ihnen um 32-Bit Prozessoren handelt, die (zumindest bis vor kurzem) alle den selben Befehlsatz unterst├╝tzen.

Die wichtigsten “Classic” ARM-Kerne sind:

  • ARM-7
    Der kleinste ARM Kern, der h├Ąufig in Controllern mit integriertem Flashromspeicher eigesetzt wird, Arbeitsfrequenz meist zwischen 50 und 100MHz. Der Anwendungsbereich ist alles von der Waschmaschine bis zum Handy.
  • ARM-9
    Durch die Trennung des Daten und Befehlsbus im Kern und bessere Cache-Verfahren sind bei diesem Kern Arbeitsfrequenzen zwischen 200 und 500MHz m├Âglich. Anwendungsbereiche: Smartphones, Systeme mit grafischer Benutzeroberfl├Ąche, u.v.m.
  • ARM-11
    Das Top-Model mit Arbeitsfrequenzen bis ca. 800MHz. Die Anwendungsbereiche ├╝berschneiden sich mit denen des ARM-9. Der auf dem ersten Raspberry Pi eingesetzte SoC vom Typ BCM2835 arbeitet beispielsweise mit einem ARM11-Kern.

Wichtig ist zu erw├Ąhnen, das die Firma ARM nur die Kerne der Controller entwickelt und an andere Firmen lizensiert. D.h. die Firmen f├╝gen zu dem ARM-Kern ihre eigene Peripherie hinzu und bringen diese Controller dann als Produkt auf den Markt. Firmen, die Mikrocontroller mit ARM-Kern produzieren sind z.B. ST, NXP, Atmel, TI, Toshiba & Samsung u.v.a. Durch die speziellen Peripheriemodule der Hersteller unterscheiden sich die Controller. Im allgemeinen sind sie nicht direkt softwarekompatibel untereinander! Teilweise unterscheiden sich sogar die einzelnen Controller eines Herstellers softwareseitig untereinander, wie zum Beispiel die NXP LPC21xx und die NXP23xx-Serie mit ARM7-Kern. Da sich bei den “Classic”-ARM-Prozessoren auch die Interruptcontroller und Timermodule der einzelnen Bausteine unterscheiden, erfordert die Portierung eines Programms von einem Prozessor zu einem anderen teilweise einen relativ hohen Aufwand.

Hinzu kommt, dass jede Compiler-Suite f├╝r die “Classic”-ARM eigene Startup und Linker-Files benutzt. Das f├╝hrt dazu, das auch der Wechsel zwischen ARM-Compilern komplizierter ist als eigentlich notwendig. Denn eigentlich sind die Aufgaben, die die Startup-Files ├╝bernehmen immer die gleichen.

Diese Probleme hat wahrscheinlich auch die Firma ARM festgestellt und die v├Âllig neue ARMCortex-Familie herausgebracht. Die neuen ARMCortex-Prozessoren sind bez├╝glich der Rechenleistung pro Takt ca. doppelt so leistungsf├Ąhig, wie die alte Prozessorgeneration. Zus├Ątzlich kann man das Design noch besser skalieren, so das die Hersteller eine sehr gro├če Bandbreite an Controllern herstellen k├Ânnen. Mehr Info’s zu den ARMCortex-Controller gibt es auf den weiteren Seiten.

Als Fazit zu Controllern mit ARM-“Classic”-Kern kann man sagen, dass diese Controller sehr leistungsf├Ąhig und flexibel einsetzbar sind. Das gleiche gilt im Allgemeinen auch f├╝r die Peripherie der Controller, die dadurch aber meist recht komplex zu programmieren ist. Deshalb ist die Lernkurve f├╝r Einsteiger oder Anf├Ąnger recht steil. Wer heute in die Welt der ARM-Controller einsteigt sollte sich direkt mit den ARMCortex-Controllern besch├Ąftigen, denn diese Controller bieten viele Vorteile. Au├čerdem kann man davon ausgehen, dass die “Classic”-ARM Controller langsam aussterben. Z.B. f├╝hrt die Firma ST die “Classic”-ARM-Typen bereits als Legacy-Typen.

Was ist auf der Seite?