<?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=84.150.203.177</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=84.150.203.177"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/84.150.203.177"/>
	<updated>2026-04-18T19:54:12Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=68645</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=68645"/>
		<updated>2012-10-07T14:23:13Z</updated>

		<summary type="html">&lt;p&gt;84.150.203.177: /* Simplicity Studio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
[[Datei:gecko_small.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller Energy Micro.&lt;br /&gt;
&lt;br /&gt;
Die 32Bit Mikrocontroller von Energy Micro basieren auf ARM Cortex und sind vor allem für stromsparende Anwendungen wie Strom-, Gas- und Wasserzähler, in der Industrie- und Gebäudeautomatisierung, Alarm- und Sicherheitstechnik sowie in tragbaren Anwendungen für die Medizintechnik bzw. den Fitnessbereich. &lt;br /&gt;
&lt;br /&gt;
Was bedeutet das in Zahlen?&lt;br /&gt;
&lt;br /&gt;
* Max. Verbrauch im aktiven Modus bei 32MHz: 5mA&lt;br /&gt;
&lt;br /&gt;
* Verbrauch im Sleep Modus mit Funktionen wie Displayansteuerung oder Sensorüberwachung: 1-2µA (inkl. RTC, Brown Out, RAM aktiv)&lt;br /&gt;
&lt;br /&gt;
* Ruhestrom: 20nA&lt;br /&gt;
&lt;br /&gt;
Energy Micro behauptet, daß Benchmark-Messungen zusammen mit den führenden, stromsparenden MCUs am Markt ergaben, dass EFM32 Microcontrollerdie EFM32-Mikrocontroller nur ein Viertel der Energie benötigen, die von anderen 8-, 16- oder 32-Bit-MCUs verbraucht wird. &lt;br /&gt;
&lt;br /&gt;
Die Produkte werden auch Gecko genannt, analog zu den Reptilien, die nur 10% der Energie von gleichgroßen Säugetieren verbrauchen.&lt;br /&gt;
&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 4KB - 32KB Flash, 24pin - 64pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 16KB - 128KB Flash, 32pin - 112pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 64KB - 256KB Flash, 64pin - 120pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 512KB - 1024KB Flash, 64pin - 120pin Packages&lt;br /&gt;
&lt;br /&gt;
Folgende Gecko-Familien sind angekündigt aber noch nicht verfügbar:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; - ARM Cortex M0+ - 4KB - 32KB Flash, 24pin - 48pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039; - ARM Cortex M4 - 64KB - 256KB Flash, 64pin - 120pin Packages&lt;br /&gt;
&lt;br /&gt;
[[Datei:efm32_portfolio.jpg]]&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die Farben bedeuten die Verfügbarkeit einer Funktion im den verschiedenen Energiemodie (EM=Energy Mode), die auch unten dargestellt sind. &lt;br /&gt;
Das heißt im Energy Mode EM0 (aktiver Modus)sind alle Funktionen aktiv. Im Energy Mode EM2 (Deep Sleep Modus) sind alle Funktionen bis auf die grün markierten Funktionen aktiv.&lt;br /&gt;
&lt;br /&gt;
=== Geringer Stromverbrauch im Aktivmodus ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs wurden so entwickelt, dass sie den Stromverbrauch im Aktivmodus erheblich senken. Bei 32 MHz und 3 V verbraucht die MCU nur 150 µA/MHz bei der Code-Ausführung aus dem internen Flash-Speicher.&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch bleibt über die Temperatur, VDD und auch über die verschiedenen Flash und RAM Varianten stabil (siehe Datenblätter).&lt;br /&gt;
&lt;br /&gt;
=== Effiziente CPU (ARM Cortex) ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-Gecko-MCUs basieren auf ARMs 32-Bit-Cortex-M3-Prozessor-Core. Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt und bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs. Die Tasks werden daher mit weniger Taktzyklen ausgeführt, was die Verweildauer im Aktivmodus erheblich reduziert.&lt;br /&gt;
&lt;br /&gt;
ARM Cortex M3 bietet 1.25DMIPS/MHz, d.h. er benötigt nur ca. 1/4 der Taktzyklen eines MSP430 und verbraucht somit weniger Energie.&lt;br /&gt;
&lt;br /&gt;
Zusammen mit dem geringen Stromverbrauch im Aktivmodus von 150µA/MHz verbaucht der EFM32 daher signifkant weniger Energie.&lt;br /&gt;
&lt;br /&gt;
=== Schnelle Wake-up-Zeit ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs minimieren die ineffiziente Wake-up-Zeitdauer von den Deep-Sleep-Modi in den Aktivmodus. Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. EFM32-MCUs verringern die Wake-up-Zeit aus dem Deep Sleep auf &#039;&#039;&#039;2 µs&#039;&#039;&#039; und gewährleisten damit, dass so wenig Energie wie möglich vor der eigentlichen Task-Verarbeitung durch die CPU verbraucht wird.&lt;br /&gt;
&lt;br /&gt;
=== Niedriger Standby-Stromverbrauch ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs kombinieren eine Ultra-Low-Power-Technologie mit einem ausgereiften Power Management und verringern so den Energieverbrauch im Standby-Modus, während gleichzeitig grundlegende Funktionen ausgeführt werden können. Der Deep-Sleep-Modus ermöglicht einen RAM- und CPU-Erhalt, bietet Power-on-Reset und Brown-out-Erkennung, einen Echtzeit-Zähler und verbraucht nur 900 nA Strom. Im Shutoff-Modus sinkt die Stromaufnahme auf nur 20 nA.&lt;br /&gt;
&lt;br /&gt;
=== Eigenständiger Peripheriebetrieb ===&lt;br /&gt;
&lt;br /&gt;
Neben dem niedrigsten Energieverbrauch im Aktiv- und Sleep-Modus, kann die EFM32-Peripherie im Stromsparmodus arbeiten, ohne dabei die CPU zu nutzen. Mithilfe autonomer Peripherie kann eine Anwendung den Energieverbrauch verringern, während weiterhin wichtige Aufgaben ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele: &lt;br /&gt;
* Die Low Energy UART überträgt im Deep Sleep Mode Daten mit Hilfe der DMA in den RAM.&lt;br /&gt;
* Der ADC kann mit Hilfe des PRS und der DMA ohne Nutzung der CPU Daten wandeln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PRS - Peripherie-Reflexsystem ===&lt;br /&gt;
&lt;br /&gt;
Das Peripherie-Reflexsystem der EFM32-MCUs ermöglicht die direkte Verbindung einer Peripherie an eine andere, ohne dabei die CPU mit einzubinden. Damit kann eine Peripherie-Einheit Signale erzeugen, die eine andere Einheit verarbeitet und darauf reagiert – während die CPU im Sleep-Modus verweilt.&lt;br /&gt;
&lt;br /&gt;
=== Optimierte Low Power Modi ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs bieten fünf effiziente Energieverbrauchsmodi, die dem Entwickler Flexibilität bei der Optimierung seines Systems hinsichtlich höchster Leistungsfähigkeit und längster Batterielebensdauer bieten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Äußerst effiziente Peripherie ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs bieten Peripherie, die einen Betrieb mit niedriger Stromaufnahme unterstützt. Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. Die Peripherie umfasst unter anderem:&lt;br /&gt;
&lt;br /&gt;
* LCD-Controller zur Ansteuerung von bis zu 4 x 40 Segmenten mit nur 0,55 uA Stromaufnahme&lt;br /&gt;
* Low-Energy-UART für Datenkommunikation bei 32 kHz, wobei nur 100 nA Strom verbraucht werden&lt;br /&gt;
* 12-Bit-ADC, der bei 12Bit und 1MSPS nur 350 uA verbraucht - bei 6Bit und 1KSPS sind es nur 500 nA&lt;br /&gt;
* Analog-Komparator mit nur 150 nA Stromaufnahme&lt;br /&gt;
* Hardwarebeschleuniger für 128/256-Bit-AES-Verschlüsselung-/Dekodierung in nur 54/75 Zyklen&lt;br /&gt;
&lt;br /&gt;
=== Low Energy Sense Interface ===&lt;br /&gt;
Das sogenannte &amp;quot;Low Energy Sensor Interface&amp;quot;, LESENSE, ermöglicht eine autonome Überwachung von bis zu 16 externen Sensoren im Deep Sleep Mode (EM2).&lt;br /&gt;
&lt;br /&gt;
Da LESENSE Funktionen unabhängig von der CPU des EFM32 übernimmt, können Regelalgorithmen mit einem Stromverbrauch von Mikroampere realisiert werden. Über LESENSE können verschiedenste analoge Sensoren wie kapazitive, induktive oder ohmsche Sensoren überwacht werden.&lt;br /&gt;
Anwendungsbeispiele für LESENSE sind zum Beispiel die Unterstützung für &amp;quot;Touch-Pad&amp;quot;- oder &amp;quot;Touch-Slider&amp;quot;-Funktionen oder Rotationssensoren für Gas- und Wasserzähler.&lt;br /&gt;
Beispiele sind im Simplicity Studio enthalten (Schaltungskonzepte und Software).&lt;br /&gt;
&lt;br /&gt;
Video dazu: http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[http://www.energymicro.com/tools/efm32-starter-kits Energy Micros Starter Kits] haben 3 wesentliche Funktionen:&lt;br /&gt;
&lt;br /&gt;
1) Evaluierung (Zugriff auf alle pins, Display, Taster, Touch-Slider, LEDs, ...)&lt;br /&gt;
&lt;br /&gt;
2) Software Debugger (inkl. J-Link von Segger und Debugging-Schnittstelle) - man spart sich einen Extra-Debugger &lt;br /&gt;
&lt;br /&gt;
3) Energy Debuggung - auf allen STKs ist das AEM integriert (s.u.)&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/tools/efm32-development-kits Energy Micros DVKs] sind die Deluxe-Variante von Entwicklungsboards:&lt;br /&gt;
&lt;br /&gt;
* Built-in SEGGER J-Link + J-Trace&lt;br /&gt;
* Advanced Energy Monitoring&lt;br /&gt;
* 320x240 resistive touch color TFT display&lt;br /&gt;
* 10/100 Mbit/s SPI based MAC/PHY&lt;br /&gt;
* User interface (joystick, switches, potentiometer)&lt;br /&gt;
* EXP32 prototyping module&lt;br /&gt;
&lt;br /&gt;
=== Simplicity Studio ===&lt;br /&gt;
&lt;br /&gt;
Ein auf QT basierende Software-Konsole, die sofortigen Zugriff auf alle Tools, Dokumentation, Software und andere Ressourcen bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind – von Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note.&lt;br /&gt;
&lt;br /&gt;
Die Icon-basierte Simplicity-Studio-Konsole konfiguriert sich automatisch, nachdem die Target-MCU aus einem Drop-Down-Menü ausgewählt wurde. Die Konsole stellt dem Entwickler dann nur die Entwicklungsoptionen zur Verfügung, die für seine gewählte MCU zur Verfügung stehen. Über eine einfache Add-/Remove-Funktion lässt sich die Konsole anschließend weiter konfigurieren.[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der Anwender bleibt ständig auf dem neuesten Wissensstand bleibt: Sobald Änderungen in der eigenen Entwicklungsumgebung durchgeführt werden. Der Anwender wird benachrichtigt, wenn z.B. neue Software-Versionen, Dokumentation, Firmware-Updates etc. eintreffen und hat über ein Protokoll (Change-Log) Zugriff auf alle Änderungen. &lt;br /&gt;
&lt;br /&gt;
Simplicity Studio enthält folgende Dokumentation und Software, die bei online Zugriff aktualisiert werden:&lt;br /&gt;
* Datenblätter&lt;br /&gt;
* Errata Sheets&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* Application Notes (zum größten Teil mit Software-Beispielen)&lt;br /&gt;
* EFM32Lib: CMSIS kompatible Software-Libary für alle Peripherien des EFM32 (die Beispiele basieren auf dieser Library)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* energyAware Commander: Tool mit Programmierschnittstelle zum Handling von Firmware-Upgrades für die EFM32-Entwicklungskits, des Programmierung der MCU und des Debug-Zugriffs. &lt;br /&gt;
* energyAware Profiler: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator - in der neuesten Beta-Version (siehe Energy Micro Forum - s.u.) auch als Konfigurator der Peripherie&lt;br /&gt;
&lt;br /&gt;
=== ARM CORTEX Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es können alle ARM CORTEX development tools (IDE,Compiler,Debugger) verwendet werden. &lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt.&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/tools/third-party Liste der Tool-Hersteller] &lt;br /&gt;
&lt;br /&gt;
=== Energy Debugging ===&lt;br /&gt;
&lt;br /&gt;
==== AEM - Überwachung des Energieverbrauchs ====&lt;br /&gt;
&lt;br /&gt;
Auf allen Starter Kits von Enerrgy Micro ist der Advanced Energy Monitor (AEM), ein Überwachungssystem für den Energieverbrauch, integriert. Damit lässt sich der Stromverbrauch des Mikrocontroller auf dem STK oder noch viel besser der des Prototypen-Systems in Echtzeit messen.&lt;br /&gt;
&lt;br /&gt;
==== energyAware Profiler ====&lt;br /&gt;
&lt;br /&gt;
Die zum AEM passende PC Software heisst energyAware Profiler. Mit Hilfe des Profiler können &amp;quot;Energy Bugs&amp;quot; identifiziert und beseitigt werden. &lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
Diese SW ermöglicht es, daß ein Klick in der dargestellten Stromkurve direkt zur korresspondierenden C-Code-Zeile führt. &lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com Webseite des Herstellers]&lt;br /&gt;
* [http://forum.energymicro.com Forum von Energy Micro]&lt;br /&gt;
* [http://support.energymicro.com Support Portal von Energy Micro]&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:EFM32| ]]&lt;/div&gt;</summary>
		<author><name>84.150.203.177</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68644</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=68644"/>
		<updated>2012-10-07T14:18:58Z</updated>

		<summary type="html">&lt;p&gt;84.150.203.177: /* CMSIS - ARM Cortex Software Libaries */&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;
== CMSIS - ARM Cortex Software Libaries  ==&lt;br /&gt;
&lt;br /&gt;
CMSIS - Cortex Microcontroller Software Interface Standard&lt;br /&gt;
 &lt;br /&gt;
Der ARM Cortex Microcontroller Software Interface Standard (CMSIS) ist ein herstellerunabhängiger Hardware Abstraction Layer für die Cortex-M-Prozessor -Serie. Die CMSIS ermöglicht konsistente und einfache Software-Schnittstellen für den Prozessor und die Peripherie, und vereinfacht damit die Software-Wiederverwendung. &lt;br /&gt;
&lt;br /&gt;
Die CMSIS besteht aus folgenden Komponenten:&lt;br /&gt;
&lt;br /&gt;
* CMSIS-CORE: Bietet eine Schnittstelle zum Cortex-M0, Cortex-M3, Cortex-M4, SC000 und SC300-Prozessoren und Peripherie-Register&lt;br /&gt;
* CMSIS-DSP: DSP-Bibliothek mit über 60 Funktionen in Festkomma-(fractional q7, q15, q31) und single precision floating-point (32-bit)-Implementierung&lt;br /&gt;
* CMSIS-RTOS API: Standardisierte Programmierschnittstelle für Echtzeit-Betriebssysteme für Thread-Steuerung, Ressourcen-und Zeitmanagement&lt;br /&gt;
* CMSIS-SVD: System View Beschreibung -  XML-Dateien, die die Programmiereransicht des kompletten Mikrocontroller-Systems einschließlich Peripheriegeräte enthalten&lt;br /&gt;
&lt;br /&gt;
Der Standard ist für Cortex-M-Mikrocontroller skalierbar: Von der  kleinsten 4 KB MCU bis zu MCUs mit anspruchsvoller Kommunikations-Peripherie wie Ethernet oder USB. Der Speicherbedarf für die Core Peripheral Funktionen bedarf weniger als 1 KB-Code und weniger als 10 Bytes RAM.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Software Beispiele von [http://www.energymicro.com/downloads/application-notes Energy Micro] basierend auf CMSIS&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen unter:&lt;br /&gt;
&lt;br /&gt;
* [http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php ARM CMSIS Webseite]&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>84.150.203.177</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=68643</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=68643"/>
		<updated>2012-10-07T14:17:20Z</updated>

		<summary type="html">&lt;p&gt;84.150.203.177: &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;
== CMSIS - ARM Cortex Software Libaries  ==&lt;br /&gt;
&lt;br /&gt;
CMSIS - Cortex Microcontroller Software Interface Standard&lt;br /&gt;
 &lt;br /&gt;
Der ARM Cortex Microcontroller Software Interface Standard (CMSIS) ist ein herstellerunabhängiger Hardware Abstraction Layer für die Cortex-M-Prozessor -Serie. Die CMSIS ermöglicht konsistente und einfache Software-Schnittstellen an den Prozessor und den Peripheriegeräten, die Vereinfachung der Software-Wiederverwendung. &lt;br /&gt;
Die CMSIS besteht aus folgenden Komponenten:&lt;br /&gt;
&lt;br /&gt;
* CMSIS-CORE: Bietet eine Schnittstelle zum Cortex-M0, Cortex-M3, Cortex-M4, SC000 und SC300-Prozessoren und Peripherie-Register&lt;br /&gt;
* CMSIS-DSP: DSP-Bibliothek mit über 60 Funktionen in Festkomma-(fractional q7, q15, q31) und single precision floating-point (32-bit)-Implementierung&lt;br /&gt;
* CMSIS-RTOS API: Standardisierte Programmierschnittstelle für Echtzeit-Betriebssysteme für Thread-Steuerung, Ressourcen-und Zeitmanagement&lt;br /&gt;
* CMSIS-SVD: System View Beschreibung -  XML-Dateien, die die Programmiereransicht des kompletten Mikrocontroller-Systems einschließlich Peripheriegeräte enthalten&lt;br /&gt;
&lt;br /&gt;
Der Standard ist für Cortex-M-Mikrocontroller skalierbar: Von der  kleinsten 4 KB MCU bis zu MCUs mit anspruchsvoller Kommunikations-Peripherie wie Ethernet oder USB. Der Speicherbedarf für die Core Peripheral Funktionen bedarf weniger als 1 KB-Code und weniger als 10 Bytes RAM.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Software Beispiele von [http://www.energymicro.com/downloads/application-notes Energy Micro] basierend auf CMSIS&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen unter:&lt;br /&gt;
&lt;br /&gt;
* [http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php ARM CMSIS Webseite]&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>84.150.203.177</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=68640</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=68640"/>
		<updated>2012-10-07T09:24:55Z</updated>

		<summary type="html">&lt;p&gt;84.150.203.177: /* Weblinks, Foren, Communities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
[[Datei:gecko_small.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller Energy Micro.&lt;br /&gt;
&lt;br /&gt;
Die 32Bit Mikrocontroller von Energy Micro basieren auf ARM Cortex und sind vor allem für stromsparende Anwendungen wie Strom-, Gas- und Wasserzähler, in der Industrie- und Gebäudeautomatisierung, Alarm- und Sicherheitstechnik sowie in tragbaren Anwendungen für die Medizintechnik bzw. den Fitnessbereich. &lt;br /&gt;
&lt;br /&gt;
Was bedeutet das in Zahlen?&lt;br /&gt;
&lt;br /&gt;
* Max. Verbrauch im aktiven Modus bei 32MHz: 5mA&lt;br /&gt;
&lt;br /&gt;
* Verbrauch im Sleep Modus mit Funktionen wie Displayansteuerung oder Sensorüberwachung: 1-2µA (inkl. RTC, Brown Out, RAM aktiv)&lt;br /&gt;
&lt;br /&gt;
* Ruhestrom: 20nA&lt;br /&gt;
&lt;br /&gt;
Energy Micro behauptet, daß Benchmark-Messungen zusammen mit den führenden, stromsparenden MCUs am Markt ergaben, dass EFM32 Microcontrollerdie EFM32-Mikrocontroller nur ein Viertel der Energie benötigen, die von anderen 8-, 16- oder 32-Bit-MCUs verbraucht wird. &lt;br /&gt;
&lt;br /&gt;
Die Produkte werden auch Gecko genannt, analog zu den Reptilien, die nur 10% der Energie von gleichgroßen Säugetieren verbrauchen.&lt;br /&gt;
&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 4KB - 32KB Flash, 24pin - 64pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 16KB - 128KB Flash, 32pin - 112pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 64KB - 256KB Flash, 64pin - 120pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - ARM Cortex M3 - 512KB - 1024KB Flash, 64pin - 120pin Packages&lt;br /&gt;
&lt;br /&gt;
Folgende Gecko-Familien sind angekündigt aber noch nicht verfügbar:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; - ARM Cortex M0+ - 4KB - 32KB Flash, 24pin - 48pin Packages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039; - ARM Cortex M4 - 64KB - 256KB Flash, 64pin - 120pin Packages&lt;br /&gt;
&lt;br /&gt;
[[Datei:efm32_portfolio.jpg]]&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die Farben bedeuten die Verfügbarkeit einer Funktion im den verschiedenen Energiemodie (EM=Energy Mode), die auch unten dargestellt sind. &lt;br /&gt;
Das heißt im Energy Mode EM0 (aktiver Modus)sind alle Funktionen aktiv. Im Energy Mode EM2 (Deep Sleep Modus) sind alle Funktionen bis auf die grün markierten Funktionen aktiv.&lt;br /&gt;
&lt;br /&gt;
=== Geringer Stromverbrauch im Aktivmodus ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs wurden so entwickelt, dass sie den Stromverbrauch im Aktivmodus erheblich senken. Bei 32 MHz und 3 V verbraucht die MCU nur 150 µA/MHz bei der Code-Ausführung aus dem internen Flash-Speicher.&lt;br /&gt;
&lt;br /&gt;
Der Stromverbrauch bleibt über die Temperatur, VDD und auch über die verschiedenen Flash und RAM Varianten stabil (siehe Datenblätter).&lt;br /&gt;
&lt;br /&gt;
=== Effiziente CPU (ARM Cortex) ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-Gecko-MCUs basieren auf ARMs 32-Bit-Cortex-M3-Prozessor-Core. Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt und bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs. Die Tasks werden daher mit weniger Taktzyklen ausgeführt, was die Verweildauer im Aktivmodus erheblich reduziert.&lt;br /&gt;
&lt;br /&gt;
ARM Cortex M3 bietet 1.25DMIPS/MHz, d.h. er benötigt nur ca. 1/4 der Taktzyklen eines MSP430 und verbraucht somit weniger Energie.&lt;br /&gt;
&lt;br /&gt;
Zusammen mit dem geringen Stromverbrauch im Aktivmodus von 150µA/MHz verbaucht der EFM32 daher signifkant weniger Energie.&lt;br /&gt;
&lt;br /&gt;
=== Schnelle Wake-up-Zeit ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs minimieren die ineffiziente Wake-up-Zeitdauer von den Deep-Sleep-Modi in den Aktivmodus. Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. EFM32-MCUs verringern die Wake-up-Zeit aus dem Deep Sleep auf &#039;&#039;&#039;2 µs&#039;&#039;&#039; und gewährleisten damit, dass so wenig Energie wie möglich vor der eigentlichen Task-Verarbeitung durch die CPU verbraucht wird.&lt;br /&gt;
&lt;br /&gt;
=== Niedriger Standby-Stromverbrauch ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs kombinieren eine Ultra-Low-Power-Technologie mit einem ausgereiften Power Management und verringern so den Energieverbrauch im Standby-Modus, während gleichzeitig grundlegende Funktionen ausgeführt werden können. Der Deep-Sleep-Modus ermöglicht einen RAM- und CPU-Erhalt, bietet Power-on-Reset und Brown-out-Erkennung, einen Echtzeit-Zähler und verbraucht nur 900 nA Strom. Im Shutoff-Modus sinkt die Stromaufnahme auf nur 20 nA.&lt;br /&gt;
&lt;br /&gt;
=== Eigenständiger Peripheriebetrieb ===&lt;br /&gt;
&lt;br /&gt;
Neben dem niedrigsten Energieverbrauch im Aktiv- und Sleep-Modus, kann die EFM32-Peripherie im Stromsparmodus arbeiten, ohne dabei die CPU zu nutzen. Mithilfe autonomer Peripherie kann eine Anwendung den Energieverbrauch verringern, während weiterhin wichtige Aufgaben ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele: &lt;br /&gt;
* Die Low Energy UART überträgt im Deep Sleep Mode Daten mit Hilfe der DMA in den RAM.&lt;br /&gt;
* Der ADC kann mit Hilfe des PRS und der DMA ohne Nutzung der CPU Daten wandeln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PRS - Peripherie-Reflexsystem ===&lt;br /&gt;
&lt;br /&gt;
Das Peripherie-Reflexsystem der EFM32-MCUs ermöglicht die direkte Verbindung einer Peripherie an eine andere, ohne dabei die CPU mit einzubinden. Damit kann eine Peripherie-Einheit Signale erzeugen, die eine andere Einheit verarbeitet und darauf reagiert – während die CPU im Sleep-Modus verweilt.&lt;br /&gt;
&lt;br /&gt;
=== Optimierte Low Power Modi ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs bieten fünf effiziente Energieverbrauchsmodi, die dem Entwickler Flexibilität bei der Optimierung seines Systems hinsichtlich höchster Leistungsfähigkeit und längster Batterielebensdauer bieten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Äußerst effiziente Peripherie ===&lt;br /&gt;
&lt;br /&gt;
EFM32-MCUs bieten Peripherie, die einen Betrieb mit niedriger Stromaufnahme unterstützt. Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. Die Peripherie umfasst unter anderem:&lt;br /&gt;
&lt;br /&gt;
* LCD-Controller zur Ansteuerung von bis zu 4 x 40 Segmenten mit nur 0,55 uA Stromaufnahme&lt;br /&gt;
* Low-Energy-UART für Datenkommunikation bei 32 kHz, wobei nur 100 nA Strom verbraucht werden&lt;br /&gt;
* 12-Bit-ADC, der bei 12Bit und 1MSPS nur 350 uA verbraucht - bei 6Bit und 1KSPS sind es nur 500 nA&lt;br /&gt;
* Analog-Komparator mit nur 150 nA Stromaufnahme&lt;br /&gt;
* Hardwarebeschleuniger für 128/256-Bit-AES-Verschlüsselung-/Dekodierung in nur 54/75 Zyklen&lt;br /&gt;
&lt;br /&gt;
=== Low Energy Sense Interface ===&lt;br /&gt;
Das sogenannte &amp;quot;Low Energy Sensor Interface&amp;quot;, LESENSE, ermöglicht eine autonome Überwachung von bis zu 16 externen Sensoren im Deep Sleep Mode (EM2).&lt;br /&gt;
&lt;br /&gt;
Da LESENSE Funktionen unabhängig von der CPU des EFM32 übernimmt, können Regelalgorithmen mit einem Stromverbrauch von Mikroampere realisiert werden. Über LESENSE können verschiedenste analoge Sensoren wie kapazitive, induktive oder ohmsche Sensoren überwacht werden.&lt;br /&gt;
Anwendungsbeispiele für LESENSE sind zum Beispiel die Unterstützung für &amp;quot;Touch-Pad&amp;quot;- oder &amp;quot;Touch-Slider&amp;quot;-Funktionen oder Rotationssensoren für Gas- und Wasserzähler.&lt;br /&gt;
Beispiele sind im Simplicity Studio enthalten (Schaltungskonzepte und Software).&lt;br /&gt;
&lt;br /&gt;
Video dazu: http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[http://www.energymicro.com/tools/efm32-starter-kits Energy Micros Starter Kits] haben 3 wesentliche Funktionen:&lt;br /&gt;
&lt;br /&gt;
1) Evaluierung (Zugriff auf alle pins, Display, Taster, Touch-Slider, LEDs, ...)&lt;br /&gt;
&lt;br /&gt;
2) Software Debugger (inkl. J-Link von Segger und Debugging-Schnittstelle) - man spart sich einen Extra-Debugger &lt;br /&gt;
&lt;br /&gt;
3) Energy Debuggung - auf allen STKs ist das AEM integriert (s.u.)&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/tools/efm32-development-kits Energy Micros DVKs] sind die Deluxe-Variante von Entwicklungsboards:&lt;br /&gt;
&lt;br /&gt;
* Built-in SEGGER J-Link + J-Trace&lt;br /&gt;
* Advanced Energy Monitoring&lt;br /&gt;
* 320x240 resistive touch color TFT display&lt;br /&gt;
* 10/100 Mbit/s SPI based MAC/PHY&lt;br /&gt;
* User interface (joystick, switches, potentiometer)&lt;br /&gt;
* EXP32 prototyping module&lt;br /&gt;
&lt;br /&gt;
=== Simplicity Studio ===&lt;br /&gt;
&lt;br /&gt;
Ein auf QT basierende Software-Konsole, die sofortigen Zugriff auf alle Tools, Dokumentation, Software und andere Ressourcen bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind – von Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note.&lt;br /&gt;
&lt;br /&gt;
Die Icon-basierte Simplicity-Studio-Konsole konfiguriert sich automatisch, nachdem die Target-MCU aus einem Drop-Down-Menü ausgewählt wurde. Die Konsole stellt dem Entwickler dann nur die Entwicklungsoptionen zur Verfügung, die für seine gewählte MCU zur Verfügung stehen. Über eine einfache Add-/Remove-Funktion lässt sich die Konsole anschließend weiter konfigurieren.[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der Anwender bleibt ständig auf dem neuesten Wissensstand bleibt: Sobald Änderungen in der eigenen Entwicklungsumgebung durchgeführt werden. Der Anwender wird benachrichtigt, wenn z.B. neue Software-Versionen, Dokumentation, Firmware-Updates etc. eintreffen und hat über ein Protokoll (Change-Log) Zugriff auf alle Änderungen. &lt;br /&gt;
&lt;br /&gt;
Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* energyAware Commander: Tool mit Programmierschnittstelle zum Handling von Firmware-Upgrades für die EFM32-Entwicklungskits, des Programmierung der MCU und des Debug-Zugriffs. &lt;br /&gt;
* energyAware Profiler: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator - in der neuesten Beta-Version (siehe Energy Micro Forum - s.u.) auch als Konfigurator der Peripherie&lt;br /&gt;
&lt;br /&gt;
=== ARM CORTEX Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es können alle ARM CORTEX development tools (IDE,Compiler,Debugger) verwendet werden. &lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt.&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/tools/third-party Liste der Tool-Hersteller] &lt;br /&gt;
&lt;br /&gt;
=== Energy Debugging ===&lt;br /&gt;
&lt;br /&gt;
==== AEM - Überwachung des Energieverbrauchs ====&lt;br /&gt;
&lt;br /&gt;
Auf allen Starter Kits von Enerrgy Micro ist der Advanced Energy Monitor (AEM), ein Überwachungssystem für den Energieverbrauch, integriert. Damit lässt sich der Stromverbrauch des Mikrocontroller auf dem STK oder noch viel besser der des Prototypen-Systems in Echtzeit messen.&lt;br /&gt;
&lt;br /&gt;
==== energyAware Profiler ====&lt;br /&gt;
&lt;br /&gt;
Die zum AEM passende PC Software heisst energyAware Profiler. Mit Hilfe des Profiler können &amp;quot;Energy Bugs&amp;quot; identifiziert und beseitigt werden. &lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
Diese SW ermöglicht es, daß ein Klick in der dargestellten Stromkurve direkt zur korresspondierenden C-Code-Zeile führt. &lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com Webseite des Herstellers]&lt;br /&gt;
* [http://forum.energymicro.com Forum von Energy Micro]&lt;br /&gt;
* [http://support.energymicro.com Support Portal von Energy Micro]&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:EFM32| ]]&lt;/div&gt;</summary>
		<author><name>84.150.203.177</name></author>
	</entry>
</feed>