www.mikrocontroller.net

ARM

Die Firma ARM stellt selbst keine Prozessoren/Controller her, sondern entwickelt nur sogenannte "IP-Cores", die von Herstellern wie Atmel, Philips, TI lizenziert werden. Diese Hersteller ergänzen den Core um Speicher und Peripherie. Der Vorteil dieses Modells ist, dass dadurch sehr viele Prozessoren mit unterschiedlichster Ausstattung verfügbar sind, die alle mit dem selben Befehlssatz (und damit dem selben Compiler) programmierbar sind.

Allen ARM-Cores gemeinsam ist die 32 Bit RISC-Architektur. Manche ARM-Cores besitzen neben dem 32 Bit ARM-Befehlssatz noch einen zusätzlichen, kleineren 16 Bit-Befehlssatz (Thumb-Modus, erkennbar am T in der Bezeichnung, z.B. ARM7TDMI). Der Vorteil des Thumb-Befehlssatzes ist der geringere Platzbedarf des Codes; der Nachteil ist die etwas niedrigere Geschwindigkeit. Die ARMv7M-Architektur (man beachtet das v), also z.B. Controller mit Cortex-M3-Kern, unterstützen ausschließlich den Thumb2-Befehlssatz.

Seit wenigen Jahren erst sind ARM-basierte Mikrocontroller erhältlich, die durch ihre einfache Beschaltung Alternativen zu 8-Bit-Controllern wie dem AVR oder dem 8051 sind. Der dafür meist verwendete Core ist der ARM7TDMI. Controllerfamilien dieser Klasse sind:

Eine weitere aktuelle Variante des ARM ist der ARM Cortex-M3, der für Low-End-Anwendungen und als Konkurrenz zu 8- und 16-Bit Mikrocontrollern wie dem AVR und MSP430 gedacht ist. Der Cortex-M3 enthält einige Verbesserungen gegenüber dem ARM7TDMI-Kern und wird diesen wohl langfristig ersetzen. Controllerfamilien die auf Cortex-M3 basieren sind die Stellaris-Serie von Luminary Micro (LMI) und STM32 von STMicroelectronics.

Mehr Informationen zur ARM-Architektur finden sich in der Wikipedia, weiterführende Links in der Linksammlung.

[bearbeiten] Compiler

Einer der beliebtesten Compiler für ARM-Prozessoren ist der GCC. Er kann sowohl ARM- als auch Thumb-Code erzeugen. Ein komplettes Paket mit allen benötigten Tools für Windows ist WinARM, für Linux und Mac OS X gibt es fertige Komplettpakete hier. Alternative Pakete sind GNUARM (Linux, Windows), Yagarto (Windows, mit Eclipse-Integration) und CodeSourcery G++ Lite (Linux, Windows).

Kommerzielle Entwicklungsumgebungen für ARM-basierte Mikrocontroller sind z.B. Crossworks ARM (GCC-basiert, Windows und Linux), IAR Embedded Workbench for ARM (Windows) und Keil/ARM (Windows).

[bearbeiten] JTAG

Alle ARM-basierten Prozessoren verwenden ein einheitliches JTAG-Interface, über das Debugging und Speicherzugriff erfolgen kann. Nicht standardisiert sind allerdings die Verfahren zum Beschreiben des Flash-ROMs, deshalb muss man beachten ob die verwendete JTAG-Software Programmierroutinen für den jeweiligen Controller besitzt.

Ein einfacher JTAG-Adapter für den Parallelport ist der "Wiggler"-kompatible, den man selbst bauen kann (Schaltplan) oder z.B. hier im Shop für € 10,00 bestellen kann. Als Software lässt sich unter Windows und Linux OpenOCD (zusammen mit GDB) oder Crossworks ARM verwenden.

Für USB gibt es hier einen ebenfalls OpenOCD-kompatiblen JTAG-Adapter zum Preis von € 45,00.

Als Alternative zum Beschreiben des Flash über JTAG ist oft ein serieller Bootloader im Controller enthalten.

[bearbeiten] Siehe auch

[bearbeiten] Weblinks

[bearbeiten] Artikel aus der Kategorie ARM

ARM • ARM GCC toolchain for Linux and Mac OS X • ARM MP3/AAC Player • ARM Selektor • ARM-DevCpp • ARM-Simulation • ARM-elf-GCC-Tutorial • AT91-TWI • AT91SAM • AT91SAM7S mit OpenOCD programmieren • CentiPad • DMA • JTAG • LPC2000 • LPC2000-Boards von Olimex • Olimex AT91SAM7X256-Board SAM7-EX256 • Olimex EP9302-Board CS-E9302 • Using arm-elf-run


webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net