<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.74.80.237</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.74.80.237"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/92.74.80.237"/>
	<updated>2026-04-18T15:09:25Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68608</id>
		<title>ARM Cortex Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68608"/>
		<updated>2012-10-04T10:37:02Z</updated>

		<summary type="html">&lt;p&gt;92.74.80.237: /* Compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Firma ARM stellt selbst keine Prozessoren/Controller her, sondern entwickelt nur sogenannte &amp;quot;IP-Cores&amp;quot;, die von Herstellern wie Atmel, NXP, TI und vielen anderen 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.&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;Thumb&#039;&#039;&#039;-Modus, erkennbar am &#039;&#039;&#039;T&#039;&#039;&#039; in der Bezeichnung, z.&amp;amp;nbsp;B. ARM7&#039;&#039;&#039;T&#039;&#039;&#039;DMI). Der Vorteil des Thumb-Befehlssatzes ist der geringere Platzbedarf des Codes; der Nachteil ist die etwas niedrigere Geschwindigkeit. Die ARMv7M-Architektur (man beachtet das &#039;&#039;&#039;v&#039;&#039;&#039;), also z.&amp;amp;nbsp;B. Controller mit Cortex-M3-Kern, unterstützen ausschließlich den Thumb2-Befehlssatz.&lt;br /&gt;
&lt;br /&gt;
Seit wenigen Jahren sind ARM-basierte Mikrocontroller erhältlich, die Aufgrund der vergleichbar einfachen Beschaltung und mit einer &#039;&#039;&#039;deutlich&#039;&#039;&#039; größeren Power eine echte Alternative zu 8-Bit-Controllern darstellen. &lt;br /&gt;
&lt;br /&gt;
Eine sehr aktuelle Variante des ARM ist die Cortex-M3 Familie die &#039;&#039;&#039;[[LPC1xxx]]&#039;&#039;&#039;, als eine echte 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 ist bereits dabei diesen zu ersetzen. Um den Einstieg zu erleichtern ist für den LPC1xxx bereits eine &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx#Allgemeine_Informationen_zum_Aufbau_der_Code_Base Code-Base]&#039;&#039;&#039;  und ein preisgünstiges &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;amp;action=edit Entwicklungskit]&#039;&#039;&#039; vorhanden. Controllerfamilien dieser Klasse sind:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32] von Energy Micro&lt;br /&gt;
* [http://www.nxp.com LPC13xx/LPC17xx] von NXP oder die inzwischen schon sehr ausführliche, [http://www.mikrocontroller.net/articles/LPC1xxx &#039;&#039;&#039;interne Seite zur Cortex-M3 Familie&#039;&#039;&#039; von LPC]&lt;br /&gt;
* [http://focus.ti.com/general/docs/gencontent.tsp?contentId=54556&amp;amp;DCMP=Luminary&amp;amp;HQS=Other+OT+stellaris Stellaris-Serie] von [http://www.ti.com Texas Instruments] (vormals Luminary Micro)&lt;br /&gt;
* [http://www.atmel.com/products/at91/sam3landing.asp?family_id=605 AT91SAM3] von Atmel&lt;br /&gt;
* [[STM32]](Baureihen F1/F2/L1/W) von STMicroelectronics&lt;br /&gt;
* [http://www.toshiba-components.com/microcontroller/TMPM330.html TMPM330] von Toshiba&lt;br /&gt;
* [http://www.fujitsu.com/global/services/microelectronics/product/micom/roadmap/industrial/fm3/ FM3-Serie] von Fujitsu&lt;br /&gt;
* [http://www.infineon.com/XMC4000 XMC4000] von Infineon&lt;br /&gt;
* [https://www.silabs.com/products/mcu/Pages/ARM-32bit-microcontroller.aspx SiM3U1xx] von Silabs&lt;br /&gt;
* [http://www.holtek.com.tw/english/products/32bit_flashmcu.htm HT32] von Holtek Semiconductor&lt;br /&gt;
&lt;br /&gt;
Als günstigere Variante gibt es dann noch die Cortex-M0 Cores. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32-Zero Gecko] von Energy Micro&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp?WT.ac=fp_may12_stm32f0 STM32F0] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx] von [http://www.nxp.com NXP]&lt;br /&gt;
* [http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/IndustrialIC/ARMMicrocontroller/ARMCortexTMM0/Pages/default.aspx NuMicro-Controller] von nuvoton (ex Winbond), laut Datenblatt mit 2.5-5.5V Betriebssspannung!!!&lt;br /&gt;
&lt;br /&gt;
Als hoch performante Variante gibt es dann noch die Cortex-M4 Cores welche teilweise mit einer FPU ausgestattet sind. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32-Wonder Gecko] von Energy Micro&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp?WT.ac=p2_bn_jun12_stm32f4series STM32F4] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://www.ti.com/lsds/ti/microcontroller/arm_stellaris/m4f_series/products.page LM4F] von [http://www.ti.com Texas Instruments]&lt;br /&gt;
&lt;br /&gt;
Eine schon etwas ältere Controller-Familie ist der &#039;&#039;&#039;ARM7&#039;&#039;&#039;TDMI.  Core. Controllerfamilien dieser Klasse sind:&lt;br /&gt;
* NXP (ehemals Philips) [[LPC2000]] &lt;br /&gt;
* Atmel [[AT91SAM]]7&lt;br /&gt;
* Analog Devices [[ADuC7xxx]]&lt;br /&gt;
* [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=203&amp;amp;familyId=454 Texas Instruments TMS470]&lt;br /&gt;
* SAMSUNG S3C24x0 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2410]&lt;br /&gt;
* STR7xx von ST Microelectronics [http://www.st.com/mcu/inchtml-pages-str7.html]&lt;br /&gt;
* und viele weitere&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zur ARM-Architektur finden sich in der [http://de.wikipedia.org/wiki/ARM-Architektur Wikipedia], weiterführende Links in der [[Linksammlung#ARM|Linksammlung]].&lt;br /&gt;
&lt;br /&gt;
== Compiler ==&lt;br /&gt;
&lt;br /&gt;
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 [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt), für Linux und Mac OS X gibt es fertige Komplettpakete [http://www.mikrocontroller.net/en/arm-gcc hier]. Alternative Pakete sind [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), [http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration), [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] (alter Name: Codesourcery G++ lite, für Linux, Windows) und [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
Inzwischen schon weiter verbreitet ist auch das &#039;&#039;&#039;kostenlose&#039;&#039;&#039; auf Eclipse basierende Entwicklungspaket von [http://www.code-red-tech.com/red-suite-4-nxp.php &#039;&#039;&#039;Code-Red&#039;&#039;&#039;] oder [http://www.coocox.org/CooCox_CoIDE.htm &#039;&#039;&#039;CooCox IDE&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Kommerzielle Entwicklungsumgebungen für ARM-basierte Mikrocontroller sind z.&amp;amp;nbsp;B. [http://rowley.co.uk/arm/ Crossworks ARM] (GCC-basiert, Windows, Mac OS und Linux), [http://www.cosmicsoftware.com/download_cortex_64k.php Cosmic Software] 64k free (Windows), [http://www.iar.com/ewarm/ IAR Embedded Workbench for ARM] (Windows) und [http://www.keil.com/arm/ MDK-ARM von Keil/ARM] (Windows).&lt;br /&gt;
&lt;br /&gt;
Für das MBED Board (mbed NXP LPC1768) ist ein kostenloser Onlinecompiler verfügbar (ARM Realview), der sich durch die Bereitstellung von sehr leistungsfähigen Funktionen (API&#039;s) auszeichnet. Den praktischen Nutzen für eine professionelle Anwendung mag man zu Recht in Frage stellen. Um mal schnell was zu programmieren ist das Ding unschlagbar, es ist faktisch keine Installation oder Einarbeitung in eine IDE nötig.&lt;br /&gt;
&lt;br /&gt;
== JTAG ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Ein einfacher JTAG-Adapter für den Parallelport ist der &amp;quot;Wiggler&amp;quot;-kompatible, den man selbst bauen kann oder z.&amp;amp;nbsp;B. im [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=artikel&amp;amp;id=48 Embedded Projects Shop] für &amp;amp;euro; 10,00 bestellen kann. Als Software lässt sich unter Windows und Linux [http://openocd.berlios.de/ OpenOCD] (zusammen mit [[GDB]]) oder [http://rowley.co.uk Crossworks ARM] verwenden. &lt;br /&gt;
&lt;br /&gt;
Für USB gibt es [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=artikel&amp;amp;id=436 hier] einen ebenfalls OpenOCD-kompatiblen JTAG-Adapter zum Preis von ca 45€.&lt;br /&gt;
&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits]&#039;&#039;&#039; (PDF), oder diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Der [http://www.segger.com/cms/jlink.html J-Link]-&amp;quot;Emulator&amp;quot; von Segger wird von vielen Softwarepaketen unterstützt und ist für den nicht-kommerziellen Einsatz zu günstigen Konditionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Als Alternative zum Beschreiben des Flash über JTAG ist oft ein serieller [[Bootloader]] im Controller enthalten.&lt;br /&gt;
&lt;br /&gt;
== Freie Software ==&lt;br /&gt;
&lt;br /&gt;
=== ARM/XSCALE/CORTEX Instruction Set Simulator ===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8809 einen Instruction Set Simulator für ARM Cores an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole. Der Simulator unterstützt alle gängigen ARM Derivate und lädt alle üblichen Debugformate, wie die des RealView,  IAR und TI Compilers, oder der freien GCC Tools.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gibt es entsprechende zugehörige Debugtools, die allerdings käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
[[http://www.lauterbach.com/frames.html?dwnload.html Download area mit ARM/XSCALE/CORTEX Simulator]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Linksammlung#ARM|Linksammlung (Abschnitt ARM)]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE von Code-Red]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
* [[ARM-elf-GCC-Tutorial]]&lt;br /&gt;
* [[AVR32]]&lt;br /&gt;
* [[Blackfin]]&lt;br /&gt;
* [[AT91SAM9260]]&lt;br /&gt;
* [[STM32]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/EFM32 EFM32]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://embdev.net/forum/arm-gcc ARM-GCC Forum] im englischsprachigen &amp;quot;Ableger&amp;quot; von microcontroller.net embdev.net u.a. für WinARM, Yagarto, CS Codebench&lt;br /&gt;
* [http://infocenter.arm.com/help/index.jsp Infocenter von ARM Ltd.]&lt;br /&gt;
* [http://www.open-research.org.uk/ARMuC/ ARMuC ARM microcontroller Wiki]&lt;br /&gt;
* [http://chaosradio.ccc.de/cre151.html Chaosradio Express - Die ARM-Architektur]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
*ARM Systems Developer&#039;s Guide (2004) ISBN 1558608745 [http://books.google.de/books?id=HKKUkDQE17QC&amp;amp;output=html Im Buch blättern] [http://www.mkp.com/companions/defaultindividual.asp?isbn=9781558608740 Programmbeispiele aus dem Buch, u.a. FFT, FIR/IIR-Filter, Division, Wurzel]&lt;br /&gt;
*ARM Assembly Language - an Introduction (2007) ISBN 1847536964 [http://books.google.de/books?id=8KJX5R8mMvsC&amp;amp;output=html Im Buch blättern]   [http://www.lulu.com/content/1172076 Verlagsseite &amp;quot;Book on demand&amp;quot;]&lt;br /&gt;
*ARM Rechnerarchitekturen für System-on-Chip-Design (2002) ISBN 3826608542&lt;br /&gt;
*Co-Verification of Hardware and Software for Arm Soc Design (2004) ISBN 0750677309&lt;br /&gt;
*ARM System-on-Chip Architecture (2000) ISBN 0201675196 [http://books.google.de/books?id=J_Fu_YTVD9gC&amp;amp;printsec=frontcover&amp;amp;output=html&amp;amp;source=gbs_summary_r&amp;amp;cad=0 Im Buch blättern]&lt;br /&gt;
*ARM Architecture Reference Manual ISBN 0201737191 [http://books.google.de/books?id=O5G-6WX1xWsC&amp;amp;printsec=frontcover&amp;amp;output=html&amp;amp;source=gbs_summary_r&amp;amp;cad=0 Im Buch blättern]&lt;br /&gt;
*Messen, Steuern und Regeln mit ARM-Mikrocontrollern ISBN 3772340172 [http://books.google.de/books?id=TKs4kN-zNYQC&amp;amp;output=html im Buch blättern]&lt;br /&gt;
*Programming Arm Microcontrollers: Using C and the Lpc2100 Family (2005? /ab 1. Dezember 2008) ISBN 0321263359&lt;br /&gt;
*Arm Assembly: Fundamentals and Techniques (ab 1. März 2009) ISBN 1439806101&lt;br /&gt;
*Reliable Embedded Systems: Using 8051 and ARM Microcontrollers (2007) ISBN 0321252918 600 Seiten mit CD [http://vig.pearsoned.co.uk/catalog/academic/product/0,1144,0321252918-TOC,00.html Inhaltsverzeichnis]&lt;br /&gt;
* C und C++ für Embedded Systems (u.a. ARM Cortex-M3) mitp-Verlag 2008 ISBN 382665949X&lt;br /&gt;
&lt;br /&gt;
== Artikel aus der Kategorie ARM ==&lt;br /&gt;
&amp;lt;ncl style=compact maxdepth=2 headings=bullet headstart=2&lt;br /&gt;
      showcats=1 showarts=1&amp;gt;ARM&amp;lt;/ncl&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;EFM32&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM| ]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>92.74.80.237</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68607</id>
		<title>ARM Cortex Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68607"/>
		<updated>2012-10-04T10:35:53Z</updated>

		<summary type="html">&lt;p&gt;92.74.80.237: /* Compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Firma ARM stellt selbst keine Prozessoren/Controller her, sondern entwickelt nur sogenannte &amp;quot;IP-Cores&amp;quot;, die von Herstellern wie Atmel, NXP, TI und vielen anderen 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.&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;Thumb&#039;&#039;&#039;-Modus, erkennbar am &#039;&#039;&#039;T&#039;&#039;&#039; in der Bezeichnung, z.&amp;amp;nbsp;B. ARM7&#039;&#039;&#039;T&#039;&#039;&#039;DMI). Der Vorteil des Thumb-Befehlssatzes ist der geringere Platzbedarf des Codes; der Nachteil ist die etwas niedrigere Geschwindigkeit. Die ARMv7M-Architektur (man beachtet das &#039;&#039;&#039;v&#039;&#039;&#039;), also z.&amp;amp;nbsp;B. Controller mit Cortex-M3-Kern, unterstützen ausschließlich den Thumb2-Befehlssatz.&lt;br /&gt;
&lt;br /&gt;
Seit wenigen Jahren sind ARM-basierte Mikrocontroller erhältlich, die Aufgrund der vergleichbar einfachen Beschaltung und mit einer &#039;&#039;&#039;deutlich&#039;&#039;&#039; größeren Power eine echte Alternative zu 8-Bit-Controllern darstellen. &lt;br /&gt;
&lt;br /&gt;
Eine sehr aktuelle Variante des ARM ist die Cortex-M3 Familie die &#039;&#039;&#039;[[LPC1xxx]]&#039;&#039;&#039;, als eine echte 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 ist bereits dabei diesen zu ersetzen. Um den Einstieg zu erleichtern ist für den LPC1xxx bereits eine &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx#Allgemeine_Informationen_zum_Aufbau_der_Code_Base Code-Base]&#039;&#039;&#039;  und ein preisgünstiges &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;amp;action=edit Entwicklungskit]&#039;&#039;&#039; vorhanden. Controllerfamilien dieser Klasse sind:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32] von Energy Micro&lt;br /&gt;
* [http://www.nxp.com LPC13xx/LPC17xx] von NXP oder die inzwischen schon sehr ausführliche, [http://www.mikrocontroller.net/articles/LPC1xxx &#039;&#039;&#039;interne Seite zur Cortex-M3 Familie&#039;&#039;&#039; von LPC]&lt;br /&gt;
* [http://focus.ti.com/general/docs/gencontent.tsp?contentId=54556&amp;amp;DCMP=Luminary&amp;amp;HQS=Other+OT+stellaris Stellaris-Serie] von [http://www.ti.com Texas Instruments] (vormals Luminary Micro)&lt;br /&gt;
* [http://www.atmel.com/products/at91/sam3landing.asp?family_id=605 AT91SAM3] von Atmel&lt;br /&gt;
* [[STM32]](Baureihen F1/F2/L1/W) von STMicroelectronics&lt;br /&gt;
* [http://www.toshiba-components.com/microcontroller/TMPM330.html TMPM330] von Toshiba&lt;br /&gt;
* [http://www.fujitsu.com/global/services/microelectronics/product/micom/roadmap/industrial/fm3/ FM3-Serie] von Fujitsu&lt;br /&gt;
* [http://www.infineon.com/XMC4000 XMC4000] von Infineon&lt;br /&gt;
* [https://www.silabs.com/products/mcu/Pages/ARM-32bit-microcontroller.aspx SiM3U1xx] von Silabs&lt;br /&gt;
* [http://www.holtek.com.tw/english/products/32bit_flashmcu.htm HT32] von Holtek Semiconductor&lt;br /&gt;
&lt;br /&gt;
Als günstigere Variante gibt es dann noch die Cortex-M0 Cores. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32-Zero Gecko] von Energy Micro&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp?WT.ac=fp_may12_stm32f0 STM32F0] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx] von [http://www.nxp.com NXP]&lt;br /&gt;
* [http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/IndustrialIC/ARMMicrocontroller/ARMCortexTMM0/Pages/default.aspx NuMicro-Controller] von nuvoton (ex Winbond), laut Datenblatt mit 2.5-5.5V Betriebssspannung!!!&lt;br /&gt;
&lt;br /&gt;
Als hoch performante Variante gibt es dann noch die Cortex-M4 Cores welche teilweise mit einer FPU ausgestattet sind. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32-Wonder Gecko] von Energy Micro&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp?WT.ac=p2_bn_jun12_stm32f4series STM32F4] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://www.ti.com/lsds/ti/microcontroller/arm_stellaris/m4f_series/products.page LM4F] von [http://www.ti.com Texas Instruments]&lt;br /&gt;
&lt;br /&gt;
Eine schon etwas ältere Controller-Familie ist der &#039;&#039;&#039;ARM7&#039;&#039;&#039;TDMI.  Core. Controllerfamilien dieser Klasse sind:&lt;br /&gt;
* NXP (ehemals Philips) [[LPC2000]] &lt;br /&gt;
* Atmel [[AT91SAM]]7&lt;br /&gt;
* Analog Devices [[ADuC7xxx]]&lt;br /&gt;
* [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=203&amp;amp;familyId=454 Texas Instruments TMS470]&lt;br /&gt;
* SAMSUNG S3C24x0 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2410]&lt;br /&gt;
* STR7xx von ST Microelectronics [http://www.st.com/mcu/inchtml-pages-str7.html]&lt;br /&gt;
* und viele weitere&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zur ARM-Architektur finden sich in der [http://de.wikipedia.org/wiki/ARM-Architektur Wikipedia], weiterführende Links in der [[Linksammlung#ARM|Linksammlung]].&lt;br /&gt;
&lt;br /&gt;
== Compiler ==&lt;br /&gt;
&lt;br /&gt;
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 [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt), für Linux und Mac OS X gibt es fertige Komplettpakete [http://www.mikrocontroller.net/en/arm-gcc hier]. Alternative Pakete sind [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), [http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration), [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] (alter Name: Codesourcery G++ lite, für Linux, Windows) und [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
Inzwischen schon weiter verbreitet ist auch das &#039;&#039;&#039;kostenlose&#039;&#039;&#039; auf Eclipse basierende Entwicklungspaket von [http://www.code-red-tech.com/red-suite-4-nxp.php &#039;&#039;&#039;Code-Red&#039;&#039;&#039;] oder [http://www.coocox.org/CooCox_CoIDE.htm &#039;&#039;&#039;CooCox IDE&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Kommerzielle Entwicklungsumgebungen für ARM-basierte Mikrocontroller sind z.&amp;amp;nbsp;B. [http://rowley.co.uk/arm/ Crossworks ARM] (GCC-basiert, Windows, Mac OS und Linux), [http://www.cosmicsoftware.com/ppc.php Cosmic Software] 64k free (Windows), [http://www.iar.com/ewarm/ IAR Embedded Workbench for ARM] (Windows) und [http://www.keil.com/arm/ MDK-ARM von Keil/ARM] (Windows).&lt;br /&gt;
&lt;br /&gt;
Für das MBED Board (mbed NXP LPC1768) ist ein kostenloser Onlinecompiler verfügbar (ARM Realview), der sich durch die Bereitstellung von sehr leistungsfähigen Funktionen (API&#039;s) auszeichnet. Den praktischen Nutzen für eine professionelle Anwendung mag man zu Recht in Frage stellen. Um mal schnell was zu programmieren ist das Ding unschlagbar, es ist faktisch keine Installation oder Einarbeitung in eine IDE nötig.&lt;br /&gt;
&lt;br /&gt;
== JTAG ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Ein einfacher JTAG-Adapter für den Parallelport ist der &amp;quot;Wiggler&amp;quot;-kompatible, den man selbst bauen kann oder z.&amp;amp;nbsp;B. im [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=artikel&amp;amp;id=48 Embedded Projects Shop] für &amp;amp;euro; 10,00 bestellen kann. Als Software lässt sich unter Windows und Linux [http://openocd.berlios.de/ OpenOCD] (zusammen mit [[GDB]]) oder [http://rowley.co.uk Crossworks ARM] verwenden. &lt;br /&gt;
&lt;br /&gt;
Für USB gibt es [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=artikel&amp;amp;id=436 hier] einen ebenfalls OpenOCD-kompatiblen JTAG-Adapter zum Preis von ca 45€.&lt;br /&gt;
&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits]&#039;&#039;&#039; (PDF), oder diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Der [http://www.segger.com/cms/jlink.html J-Link]-&amp;quot;Emulator&amp;quot; von Segger wird von vielen Softwarepaketen unterstützt und ist für den nicht-kommerziellen Einsatz zu günstigen Konditionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Als Alternative zum Beschreiben des Flash über JTAG ist oft ein serieller [[Bootloader]] im Controller enthalten.&lt;br /&gt;
&lt;br /&gt;
== Freie Software ==&lt;br /&gt;
&lt;br /&gt;
=== ARM/XSCALE/CORTEX Instruction Set Simulator ===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8809 einen Instruction Set Simulator für ARM Cores an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole. Der Simulator unterstützt alle gängigen ARM Derivate und lädt alle üblichen Debugformate, wie die des RealView,  IAR und TI Compilers, oder der freien GCC Tools.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gibt es entsprechende zugehörige Debugtools, die allerdings käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
[[http://www.lauterbach.com/frames.html?dwnload.html Download area mit ARM/XSCALE/CORTEX Simulator]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Linksammlung#ARM|Linksammlung (Abschnitt ARM)]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE von Code-Red]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
* [[ARM-elf-GCC-Tutorial]]&lt;br /&gt;
* [[AVR32]]&lt;br /&gt;
* [[Blackfin]]&lt;br /&gt;
* [[AT91SAM9260]]&lt;br /&gt;
* [[STM32]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/EFM32 EFM32]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://embdev.net/forum/arm-gcc ARM-GCC Forum] im englischsprachigen &amp;quot;Ableger&amp;quot; von microcontroller.net embdev.net u.a. für WinARM, Yagarto, CS Codebench&lt;br /&gt;
* [http://infocenter.arm.com/help/index.jsp Infocenter von ARM Ltd.]&lt;br /&gt;
* [http://www.open-research.org.uk/ARMuC/ ARMuC ARM microcontroller Wiki]&lt;br /&gt;
* [http://chaosradio.ccc.de/cre151.html Chaosradio Express - Die ARM-Architektur]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
*ARM Systems Developer&#039;s Guide (2004) ISBN 1558608745 [http://books.google.de/books?id=HKKUkDQE17QC&amp;amp;output=html Im Buch blättern] [http://www.mkp.com/companions/defaultindividual.asp?isbn=9781558608740 Programmbeispiele aus dem Buch, u.a. FFT, FIR/IIR-Filter, Division, Wurzel]&lt;br /&gt;
*ARM Assembly Language - an Introduction (2007) ISBN 1847536964 [http://books.google.de/books?id=8KJX5R8mMvsC&amp;amp;output=html Im Buch blättern]   [http://www.lulu.com/content/1172076 Verlagsseite &amp;quot;Book on demand&amp;quot;]&lt;br /&gt;
*ARM Rechnerarchitekturen für System-on-Chip-Design (2002) ISBN 3826608542&lt;br /&gt;
*Co-Verification of Hardware and Software for Arm Soc Design (2004) ISBN 0750677309&lt;br /&gt;
*ARM System-on-Chip Architecture (2000) ISBN 0201675196 [http://books.google.de/books?id=J_Fu_YTVD9gC&amp;amp;printsec=frontcover&amp;amp;output=html&amp;amp;source=gbs_summary_r&amp;amp;cad=0 Im Buch blättern]&lt;br /&gt;
*ARM Architecture Reference Manual ISBN 0201737191 [http://books.google.de/books?id=O5G-6WX1xWsC&amp;amp;printsec=frontcover&amp;amp;output=html&amp;amp;source=gbs_summary_r&amp;amp;cad=0 Im Buch blättern]&lt;br /&gt;
*Messen, Steuern und Regeln mit ARM-Mikrocontrollern ISBN 3772340172 [http://books.google.de/books?id=TKs4kN-zNYQC&amp;amp;output=html im Buch blättern]&lt;br /&gt;
*Programming Arm Microcontrollers: Using C and the Lpc2100 Family (2005? /ab 1. Dezember 2008) ISBN 0321263359&lt;br /&gt;
*Arm Assembly: Fundamentals and Techniques (ab 1. März 2009) ISBN 1439806101&lt;br /&gt;
*Reliable Embedded Systems: Using 8051 and ARM Microcontrollers (2007) ISBN 0321252918 600 Seiten mit CD [http://vig.pearsoned.co.uk/catalog/academic/product/0,1144,0321252918-TOC,00.html Inhaltsverzeichnis]&lt;br /&gt;
* C und C++ für Embedded Systems (u.a. ARM Cortex-M3) mitp-Verlag 2008 ISBN 382665949X&lt;br /&gt;
&lt;br /&gt;
== Artikel aus der Kategorie ARM ==&lt;br /&gt;
&amp;lt;ncl style=compact maxdepth=2 headings=bullet headstart=2&lt;br /&gt;
      showcats=1 showarts=1&amp;gt;ARM&amp;lt;/ncl&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;EFM32&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM| ]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>92.74.80.237</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68606</id>
		<title>ARM Cortex Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68606"/>
		<updated>2012-10-04T10:34:51Z</updated>

		<summary type="html">&lt;p&gt;92.74.80.237: /* Compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Firma ARM stellt selbst keine Prozessoren/Controller her, sondern entwickelt nur sogenannte &amp;quot;IP-Cores&amp;quot;, die von Herstellern wie Atmel, NXP, TI und vielen anderen 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.&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;Thumb&#039;&#039;&#039;-Modus, erkennbar am &#039;&#039;&#039;T&#039;&#039;&#039; in der Bezeichnung, z.&amp;amp;nbsp;B. ARM7&#039;&#039;&#039;T&#039;&#039;&#039;DMI). Der Vorteil des Thumb-Befehlssatzes ist der geringere Platzbedarf des Codes; der Nachteil ist die etwas niedrigere Geschwindigkeit. Die ARMv7M-Architektur (man beachtet das &#039;&#039;&#039;v&#039;&#039;&#039;), also z.&amp;amp;nbsp;B. Controller mit Cortex-M3-Kern, unterstützen ausschließlich den Thumb2-Befehlssatz.&lt;br /&gt;
&lt;br /&gt;
Seit wenigen Jahren sind ARM-basierte Mikrocontroller erhältlich, die Aufgrund der vergleichbar einfachen Beschaltung und mit einer &#039;&#039;&#039;deutlich&#039;&#039;&#039; größeren Power eine echte Alternative zu 8-Bit-Controllern darstellen. &lt;br /&gt;
&lt;br /&gt;
Eine sehr aktuelle Variante des ARM ist die Cortex-M3 Familie die &#039;&#039;&#039;[[LPC1xxx]]&#039;&#039;&#039;, als eine echte 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 ist bereits dabei diesen zu ersetzen. Um den Einstieg zu erleichtern ist für den LPC1xxx bereits eine &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx#Allgemeine_Informationen_zum_Aufbau_der_Code_Base Code-Base]&#039;&#039;&#039;  und ein preisgünstiges &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;amp;action=edit Entwicklungskit]&#039;&#039;&#039; vorhanden. Controllerfamilien dieser Klasse sind:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32] von Energy Micro&lt;br /&gt;
* [http://www.nxp.com LPC13xx/LPC17xx] von NXP oder die inzwischen schon sehr ausführliche, [http://www.mikrocontroller.net/articles/LPC1xxx &#039;&#039;&#039;interne Seite zur Cortex-M3 Familie&#039;&#039;&#039; von LPC]&lt;br /&gt;
* [http://focus.ti.com/general/docs/gencontent.tsp?contentId=54556&amp;amp;DCMP=Luminary&amp;amp;HQS=Other+OT+stellaris Stellaris-Serie] von [http://www.ti.com Texas Instruments] (vormals Luminary Micro)&lt;br /&gt;
* [http://www.atmel.com/products/at91/sam3landing.asp?family_id=605 AT91SAM3] von Atmel&lt;br /&gt;
* [[STM32]](Baureihen F1/F2/L1/W) von STMicroelectronics&lt;br /&gt;
* [http://www.toshiba-components.com/microcontroller/TMPM330.html TMPM330] von Toshiba&lt;br /&gt;
* [http://www.fujitsu.com/global/services/microelectronics/product/micom/roadmap/industrial/fm3/ FM3-Serie] von Fujitsu&lt;br /&gt;
* [http://www.infineon.com/XMC4000 XMC4000] von Infineon&lt;br /&gt;
* [https://www.silabs.com/products/mcu/Pages/ARM-32bit-microcontroller.aspx SiM3U1xx] von Silabs&lt;br /&gt;
* [http://www.holtek.com.tw/english/products/32bit_flashmcu.htm HT32] von Holtek Semiconductor&lt;br /&gt;
&lt;br /&gt;
Als günstigere Variante gibt es dann noch die Cortex-M0 Cores. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32-Zero Gecko] von Energy Micro&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp?WT.ac=fp_may12_stm32f0 STM32F0] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx] von [http://www.nxp.com NXP]&lt;br /&gt;
* [http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/IndustrialIC/ARMMicrocontroller/ARMCortexTMM0/Pages/default.aspx NuMicro-Controller] von nuvoton (ex Winbond), laut Datenblatt mit 2.5-5.5V Betriebssspannung!!!&lt;br /&gt;
&lt;br /&gt;
Als hoch performante Variante gibt es dann noch die Cortex-M4 Cores welche teilweise mit einer FPU ausgestattet sind. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com EFM32-Wonder Gecko] von Energy Micro&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp?WT.ac=p2_bn_jun12_stm32f4series STM32F4] von [http://www.st.com STMicro]&lt;br /&gt;
* [http://www.ti.com/lsds/ti/microcontroller/arm_stellaris/m4f_series/products.page LM4F] von [http://www.ti.com Texas Instruments]&lt;br /&gt;
&lt;br /&gt;
Eine schon etwas ältere Controller-Familie ist der &#039;&#039;&#039;ARM7&#039;&#039;&#039;TDMI.  Core. Controllerfamilien dieser Klasse sind:&lt;br /&gt;
* NXP (ehemals Philips) [[LPC2000]] &lt;br /&gt;
* Atmel [[AT91SAM]]7&lt;br /&gt;
* Analog Devices [[ADuC7xxx]]&lt;br /&gt;
* [http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&amp;amp;tabId=203&amp;amp;familyId=454 Texas Instruments TMS470]&lt;br /&gt;
* SAMSUNG S3C24x0 [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2410]&lt;br /&gt;
* STR7xx von ST Microelectronics [http://www.st.com/mcu/inchtml-pages-str7.html]&lt;br /&gt;
* und viele weitere&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zur ARM-Architektur finden sich in der [http://de.wikipedia.org/wiki/ARM-Architektur Wikipedia], weiterführende Links in der [[Linksammlung#ARM|Linksammlung]].&lt;br /&gt;
&lt;br /&gt;
== Compiler ==&lt;br /&gt;
&lt;br /&gt;
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 [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt), für Linux und Mac OS X gibt es fertige Komplettpakete [http://www.mikrocontroller.net/en/arm-gcc hier]. Alternative Pakete sind [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), [http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration), [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] (alter Name: Codesourcery G++ lite, für Linux, Windows) und [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
Inzwischen schon weiter verbreitet ist auch das &#039;&#039;&#039;kostenlose&#039;&#039;&#039; auf Eclipse basierende Entwicklungspaket von [http://www.code-red-tech.com/red-suite-4-nxp.php &#039;&#039;&#039;Code-Red&#039;&#039;&#039;] oder [http://www.coocox.org/CooCox_CoIDE.htm &#039;&#039;&#039;CooCox IDE&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Kommerzielle Entwicklungsumgebungen für ARM-basierte Mikrocontroller sind z.&amp;amp;nbsp;B. [http://rowley.co.uk/arm/ Crossworks ARM] (GCC-basiert, Windows, Mac OS und Linux),[http://www.cosmicsoftware.com/ppc.php]64k free (Windows), [http://www.iar.com/ewarm/ IAR Embedded Workbench for ARM] (Windows) und [http://www.keil.com/arm/ MDK-ARM von Keil/ARM] (Windows).&lt;br /&gt;
&lt;br /&gt;
Für das MBED Board (mbed NXP LPC1768) ist ein kostenloser Onlinecompiler verfügbar (ARM Realview), der sich durch die Bereitstellung von sehr leistungsfähigen Funktionen (API&#039;s) auszeichnet. Den praktischen Nutzen für eine professionelle Anwendung mag man zu Recht in Frage stellen. Um mal schnell was zu programmieren ist das Ding unschlagbar, es ist faktisch keine Installation oder Einarbeitung in eine IDE nötig.&lt;br /&gt;
&lt;br /&gt;
== JTAG ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Ein einfacher JTAG-Adapter für den Parallelport ist der &amp;quot;Wiggler&amp;quot;-kompatible, den man selbst bauen kann oder z.&amp;amp;nbsp;B. im [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=artikel&amp;amp;id=48 Embedded Projects Shop] für &amp;amp;euro; 10,00 bestellen kann. Als Software lässt sich unter Windows und Linux [http://openocd.berlios.de/ OpenOCD] (zusammen mit [[GDB]]) oder [http://rowley.co.uk Crossworks ARM] verwenden. &lt;br /&gt;
&lt;br /&gt;
Für USB gibt es [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=artikel&amp;amp;id=436 hier] einen ebenfalls OpenOCD-kompatiblen JTAG-Adapter zum Preis von ca 45€.&lt;br /&gt;
&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits]&#039;&#039;&#039; (PDF), oder diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Der [http://www.segger.com/cms/jlink.html J-Link]-&amp;quot;Emulator&amp;quot; von Segger wird von vielen Softwarepaketen unterstützt und ist für den nicht-kommerziellen Einsatz zu günstigen Konditionen erhältlich.&lt;br /&gt;
&lt;br /&gt;
Als Alternative zum Beschreiben des Flash über JTAG ist oft ein serieller [[Bootloader]] im Controller enthalten.&lt;br /&gt;
&lt;br /&gt;
== Freie Software ==&lt;br /&gt;
&lt;br /&gt;
=== ARM/XSCALE/CORTEX Instruction Set Simulator ===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8809 einen Instruction Set Simulator für ARM Cores an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole. Der Simulator unterstützt alle gängigen ARM Derivate und lädt alle üblichen Debugformate, wie die des RealView,  IAR und TI Compilers, oder der freien GCC Tools.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gibt es entsprechende zugehörige Debugtools, die allerdings käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
[[http://www.lauterbach.com/frames.html?dwnload.html Download area mit ARM/XSCALE/CORTEX Simulator]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Linksammlung#ARM|Linksammlung (Abschnitt ARM)]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE von Code-Red]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
* [[ARM-elf-GCC-Tutorial]]&lt;br /&gt;
* [[AVR32]]&lt;br /&gt;
* [[Blackfin]]&lt;br /&gt;
* [[AT91SAM9260]]&lt;br /&gt;
* [[STM32]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/EFM32 EFM32]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://embdev.net/forum/arm-gcc ARM-GCC Forum] im englischsprachigen &amp;quot;Ableger&amp;quot; von microcontroller.net embdev.net u.a. für WinARM, Yagarto, CS Codebench&lt;br /&gt;
* [http://infocenter.arm.com/help/index.jsp Infocenter von ARM Ltd.]&lt;br /&gt;
* [http://www.open-research.org.uk/ARMuC/ ARMuC ARM microcontroller Wiki]&lt;br /&gt;
* [http://chaosradio.ccc.de/cre151.html Chaosradio Express - Die ARM-Architektur]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
*ARM Systems Developer&#039;s Guide (2004) ISBN 1558608745 [http://books.google.de/books?id=HKKUkDQE17QC&amp;amp;output=html Im Buch blättern] [http://www.mkp.com/companions/defaultindividual.asp?isbn=9781558608740 Programmbeispiele aus dem Buch, u.a. FFT, FIR/IIR-Filter, Division, Wurzel]&lt;br /&gt;
*ARM Assembly Language - an Introduction (2007) ISBN 1847536964 [http://books.google.de/books?id=8KJX5R8mMvsC&amp;amp;output=html Im Buch blättern]   [http://www.lulu.com/content/1172076 Verlagsseite &amp;quot;Book on demand&amp;quot;]&lt;br /&gt;
*ARM Rechnerarchitekturen für System-on-Chip-Design (2002) ISBN 3826608542&lt;br /&gt;
*Co-Verification of Hardware and Software for Arm Soc Design (2004) ISBN 0750677309&lt;br /&gt;
*ARM System-on-Chip Architecture (2000) ISBN 0201675196 [http://books.google.de/books?id=J_Fu_YTVD9gC&amp;amp;printsec=frontcover&amp;amp;output=html&amp;amp;source=gbs_summary_r&amp;amp;cad=0 Im Buch blättern]&lt;br /&gt;
*ARM Architecture Reference Manual ISBN 0201737191 [http://books.google.de/books?id=O5G-6WX1xWsC&amp;amp;printsec=frontcover&amp;amp;output=html&amp;amp;source=gbs_summary_r&amp;amp;cad=0 Im Buch blättern]&lt;br /&gt;
*Messen, Steuern und Regeln mit ARM-Mikrocontrollern ISBN 3772340172 [http://books.google.de/books?id=TKs4kN-zNYQC&amp;amp;output=html im Buch blättern]&lt;br /&gt;
*Programming Arm Microcontrollers: Using C and the Lpc2100 Family (2005? /ab 1. Dezember 2008) ISBN 0321263359&lt;br /&gt;
*Arm Assembly: Fundamentals and Techniques (ab 1. März 2009) ISBN 1439806101&lt;br /&gt;
*Reliable Embedded Systems: Using 8051 and ARM Microcontrollers (2007) ISBN 0321252918 600 Seiten mit CD [http://vig.pearsoned.co.uk/catalog/academic/product/0,1144,0321252918-TOC,00.html Inhaltsverzeichnis]&lt;br /&gt;
* C und C++ für Embedded Systems (u.a. ARM Cortex-M3) mitp-Verlag 2008 ISBN 382665949X&lt;br /&gt;
&lt;br /&gt;
== Artikel aus der Kategorie ARM ==&lt;br /&gt;
&amp;lt;ncl style=compact maxdepth=2 headings=bullet headstart=2&lt;br /&gt;
      showcats=1 showarts=1&amp;gt;ARM&amp;lt;/ncl&amp;gt;&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;EFM32&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM| ]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>92.74.80.237</name></author>
	</entry>
</feed>