<?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=Ahabakuk</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=Ahabakuk"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Ahabakuk"/>
	<updated>2026-04-21T16:02:14Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78915</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78915"/>
		<updated>2013-10-13T08:12:50Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Cortex M0+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.silabs.com/products/mcu/lowpower/Pages/efm32zg-zero-gecko.aspx Zero Gecko]&#039;&#039;&#039; &lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C, IDAC (digital zu Analog Stromsenke/Quelle)&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.emblocks.org/forum/viewtopic.php?f=26&amp;amp;t=96 Hier] findet man die Energy Micro Beispiele für das EFM32WG STK3800 Board&lt;br /&gt;
&amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen mit dem JLINK mit den Energy Micro uC.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.emblocks.org EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://segger.com/IDE_Integration_emBlocks.html EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
* [http://www.silabs.com/products/mcu/lowpower/Pages/efm32zg-stk3200.aspx Zero Gecko Starter Kit (EFM32ZG-STK3200)] (mit Sharp Memory LCD) für ca. 50 Euro / 60 SFr.&lt;br /&gt;
** [https://www.youtube.com/watch?v=5c5olXXLycs Video zum Zero Gecko Starter Kit (EFM32ZG-STK3200]&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=pC-5bXfDGpQ Video Wonder Gecko (EFM32WG-STK3800) Video]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78914</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78914"/>
		<updated>2013-10-13T08:10:49Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Starter Kits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.emblocks.org/forum/viewtopic.php?f=26&amp;amp;t=96 Hier] findet man die Energy Micro Beispiele für das EFM32WG STK3800 Board&lt;br /&gt;
&amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen mit dem JLINK mit den Energy Micro uC.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.emblocks.org EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://segger.com/IDE_Integration_emBlocks.html EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
* [http://www.silabs.com/products/mcu/lowpower/Pages/efm32zg-stk3200.aspx Zero Gecko Starter Kit (EFM32ZG-STK3200)] (mit Sharp Memory LCD) für ca. 50 Euro / 60 SFr.&lt;br /&gt;
** [https://www.youtube.com/watch?v=5c5olXXLycs Video zum Zero Gecko Starter Kit (EFM32ZG-STK3200]&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=pC-5bXfDGpQ Video Wonder Gecko (EFM32WG-STK3800) Video]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78913</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78913"/>
		<updated>2013-10-13T08:10:13Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Starter Kits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.emblocks.org/forum/viewtopic.php?f=26&amp;amp;t=96 Hier] findet man die Energy Micro Beispiele für das EFM32WG STK3800 Board&lt;br /&gt;
&amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen mit dem JLINK mit den Energy Micro uC.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.emblocks.org EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://segger.com/IDE_Integration_emBlocks.html EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
* [http://www.silabs.com/products/mcu/lowpower/Pages/efm32zg-stk3200.aspx Zero Gecko Starter Kit (EFM32ZG-STK3200)] (mit Sharp Memory LCD) für ca. 50 Euro / 60 SFr.&lt;br /&gt;
** [https://www.youtube.com/watch?v=5c5olXXLycs Video zum Zero Gecko Starter Kit (EFM32ZG-STK3200]&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=pC-5bXfDGpQ Video Wonder Gecko (EFM32WG-STK3800) Video]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78508</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78508"/>
		<updated>2013-09-15T09:45:36Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Starter Kits */  video hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.emblocks.org/forum/viewtopic.php?f=26&amp;amp;t=96 Hier] findet man die Energy Micro Beispiele für das EFM32WG STK3800 Board&lt;br /&gt;
&amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen mit dem JLINK mit den Energy Micro uC.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.emblocks.org EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://segger.com/IDE_Integration_emBlocks.html EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=pC-5bXfDGpQ Video Wonder Gecko (EFM32WG-STK3800) Video]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78507</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78507"/>
		<updated>2013-09-15T09:43:02Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Debugger/Programmer */  emblocks hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.emblocks.org/forum/viewtopic.php?f=26&amp;amp;t=96 Hier] findet man die Energy Micro Beispiele für das EFM32WG STK3800 Board&lt;br /&gt;
&amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen mit dem JLINK mit den Energy Micro uC.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.emblocks.org EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://segger.com/IDE_Integration_emBlocks.html EmBlocks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78506</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78506"/>
		<updated>2013-09-15T09:31:37Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* EmBlocks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.emblocks.org/forum/viewtopic.php?f=26&amp;amp;t=96 Hier] findet man die Energy Micro Beispiele für das EFM32WG STK3800 Board&lt;br /&gt;
&amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen mit dem JLINK mit den Energy Micro uC.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78505</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=78505"/>
		<updated>2013-09-15T09:30:06Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* EmBlocks */  emblocks STK37800 Beispiele link hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.emblocks.org/forum/viewtopic.php?f=26&amp;amp;t=96 Hier] findet man die Energy Micro Beispiele für das EFM32WG STK3800 Board&lt;br /&gt;
&amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78504</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78504"/>
		<updated>2013-09-15T09:15:14Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Standard Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&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 (PDF)]&#039;&#039;&#039; und 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;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. 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 (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.code-red-tech.com/lpcxpresso.php  code-red]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 128kB. Die IDE ist auch für &#039;&#039;&#039;[http://support.code-red-tech.com/CodeRedWiki/redlib_v2_notes Linux]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== Code Red ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (powered by Code Red) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 128kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red, NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&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 (PDF)]&#039;&#039;&#039; und 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;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&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;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.code-red-tech.com/red-suite-4-nxp.php Code-Red (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78503</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78503"/>
		<updated>2013-09-15T09:15:01Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Codebase für LPC11xx und LPC13xx */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&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 (PDF)]&#039;&#039;&#039; und 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;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. 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 (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.code-red-tech.com/lpcxpresso.php  code-red]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 128kB. Die IDE ist auch für &#039;&#039;&#039;[http://support.code-red-tech.com/CodeRedWiki/redlib_v2_notes Linux]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== Code Red ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (powered by Code Red) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 128kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red, NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&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 (PDF)]&#039;&#039;&#039; und 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;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&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;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.code-red-tech.com/red-suite-4-nxp.php Code-Red (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78502</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78502"/>
		<updated>2013-09-15T09:14:43Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Installationsanleitung zur IDE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&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 (PDF)]&#039;&#039;&#039; und 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;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. 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 (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.code-red-tech.com/lpcxpresso.php  code-red]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 128kB. Die IDE ist auch für &#039;&#039;&#039;[http://support.code-red-tech.com/CodeRedWiki/redlib_v2_notes Linux]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== Code Red ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (powered by Code Red) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 128kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red, NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&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 (PDF)]&#039;&#039;&#039; und 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;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&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;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.code-red-tech.com/red-suite-4-nxp.php Code-Red (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78501</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=78501"/>
		<updated>2013-09-15T09:14:21Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Entwicklungsumgebungen */  emblocks IDE hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&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 (PDF)]&#039;&#039;&#039; und 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;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. 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 (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.code-red-tech.com/lpcxpresso.php  code-red]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 128kB. Die IDE ist auch für &#039;&#039;&#039;[http://support.code-red-tech.com/CodeRedWiki/redlib_v2_notes Linux]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== Code Red ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (powered by Code Red) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 128kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red, NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&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 (PDF)]&#039;&#039;&#039; und 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;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&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;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.code-red-tech.com/red-suite-4-nxp.php Code-Red (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78500</id>
		<title>STM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78500"/>
		<updated>2013-09-15T09:02:45Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Komplette IDE&amp;#039;s */  web adr. korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STM32 ist ein Mikrocontroller-Familie von [http://www.st.com/mcu/inchtml-pages-stm32.html ST] mit einer 32-Bit [http://www.arm.com/products/processors/cortex-m/index.php ARM Cortex-M0/M3/M4] CPU. Diese Architektur ist speziell für den Einsatz in Microcontrollern neu entwickelt und löst damit die bisherigen ARM7-basierten Controller weitestgehend ab. Den STM32 gibt es von ST in unzähligen Varianten mit variabler Peripherie und verschiedenen Gehäusegrößen und -formen. Durch die geringe Chipfläche des Cores ist es ST möglich, eine 32 Bit-CPU für weniger als 1&amp;amp;nbsp;€ anzubieten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:stm32F103xc.png|thumb|right|340px|Blockdiagramm STM32F103xC/D/E]]&lt;br /&gt;
&lt;br /&gt;
== STM32-Familien ==&lt;br /&gt;
&lt;br /&gt;
Bisher gibt es sieben STM32-Familien:&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp STM32F0]&lt;br /&gt;
** Cortex M0&lt;br /&gt;
** Mikrocontroller zum Einstieg&lt;br /&gt;
** Bis 48MHz&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1169.jsp STM32F1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
**Verschiedene Unterfamilien:&lt;br /&gt;
*** Connectivity line&lt;br /&gt;
*** Performance line&lt;br /&gt;
*** USB Access line&lt;br /&gt;
*** Access Line&lt;br /&gt;
*** Value line&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1575 STM32F2]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 120MHz&lt;br /&gt;
** Wie die STM32F1 Serie, Camera-Interface, 32-Bit Timer, Crypto-Engine...&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
** Fast 12-bit 5 MSPS and precise 16-bit sigma-delta ADCs&lt;br /&gt;
** Touch sensing controller (TSC)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp STM32F4]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 180MHz&lt;br /&gt;
** Bis zu 2MB Flash&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1295 STM32L1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Low Power &lt;br /&gt;
** mit LCD Treiber&lt;br /&gt;
** Bis 32MHz&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1581 STM32W]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** BIS 24MHz&lt;br /&gt;
** RF-MCU &lt;br /&gt;
[http://www.st.com/internet/mcu/class/1734.jsp Hier eine Übersicht zum Auswählen eines STM32Fxxx]&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Cortex-M0 / Cortex-M3 / Cortex-M4F Kern (mit FPU)&lt;br /&gt;
* 16KB ... 2MB  [[Flash-ROM]]&lt;br /&gt;
*  4KB ... 256KB [[Speicher#SRAM|SRAM]]&lt;br /&gt;
* 4KB [[Speicher#EEPROM|EEPROM]] (STM32L)&lt;br /&gt;
* 512 one-time programmable Bytes(STM32F2/4)&lt;br /&gt;
* [[IC-Gehäuseformen | Gehäuse]] 36 ... 216 Pins als QFN, LQFP und BGA&lt;br /&gt;
* Derzeit sind über &#039;&#039;&#039;250&#039;&#039;&#039; STM32 Derivate/Varianten verfügbar&lt;br /&gt;
* Bis 72MHz CPU-Takt, bis 120MHz beim STM32F2xx, bis 168/180 MHz beim STM32F4xx, wobei eine spezielle prefetch-hardware bis 120/168 MHz eine Geschwindigkeit erzielen soll, die 0 Wait-States entspricht. Der CPU-Takt wird über einen Multiplikator aus dem internen RC-Takt oder einem externen Quarz-Takt abgeleitet.&lt;br /&gt;
* Externes Businterface (nur bei Gehäusen ab 100 Pin und nur bei STM32F4, STM32F2 und STM32F1 Performance line)&lt;br /&gt;
* LCD Treiber für 8x40 Punkte (nicht beim STM32F2xx)&lt;br /&gt;
* TFT Treiber bei STM32F429 / STM32F439&lt;br /&gt;
* Spannungsbereich 1,65 ... 3,6V, nur eine Betriebsspannung nötig&lt;br /&gt;
* Temperaturbereich bis 125 °C&lt;br /&gt;
* Bis zu 140 IOs, viele davon [[Pegelwandler|5V-tolerant]]&lt;br /&gt;
* Interner, kalibrierter RC-Oszillator mit 8MHz (16MHz bei STM32F2/F4xx)&lt;br /&gt;
* Externer Quarz&lt;br /&gt;
* Real Time Clock mit eigenem Quarz und separater Stromversorgung&lt;br /&gt;
* Bis zu 16 [[Timer]], je Timer bis zu 4 IC/OC/PWM Ausgänge. Davon 2x Motion Control Timer (bei STM32F103xF/G)&lt;br /&gt;
* Systick Counter&lt;br /&gt;
* Bis zu 3 12-Bit [[AD-Wandler]] mit insgesamt 24 AD-Eingängen, integrierter [[Temperatursensor]], Referenzspannung Vrefint und VBatt Spannungsmessung (STM32F4xx)&lt;br /&gt;
* Bis zu 2 12-Bit [[DA-Wandler]] (bis zu 3 beim STM32F3xx)&lt;br /&gt;
* Bis zu 2 [[DMA]] Controller mit bis zu 12 Kanälen (16 beim STM32F2/4xx)&lt;br /&gt;
* Bis zu 2x [[I2C|I²C]]&lt;br /&gt;
* Bis zu 5x [[UART|USART]] mit LIN, IrDA und Modem Control (bis zu 8 beim STM32F2/F4xx)&lt;br /&gt;
* Bis zu 3x [[SPI]] (bis zu 6 beim STM32F4xx)&lt;br /&gt;
* Bis zu 2x [[I2S|I²S]]&lt;br /&gt;
* Bis zu 2x [[CAN#STMicroelectronics STM32 (Cortex M3/M4)|CAN]]&lt;br /&gt;
* Hardware [[CRC]] Unit, bei der STM32F3xx Serie mit einem einstellbaren Polynom &lt;br /&gt;
* Unique device ID register (96 Bits)&lt;br /&gt;
* RNG - Random Number Generator (STM32F2/4xx)&lt;br /&gt;
* Cryptographic Processor (CRYP) (STM32F2/4xx)&lt;br /&gt;
* Hash Processor (HASH) (STM32F2/4xx)&lt;br /&gt;
* Kamera-Interface (DCMI) (STM32F2/4xx)&lt;br /&gt;
* [[USB]] 2.0 Full Speed / OTG&lt;br /&gt;
* [[USB]] 2.0 Hi Speed OTG mit extra PHY-Chip (STM32F2/4xx)&lt;br /&gt;
* SDIO Interface (z.B. SD-Card Reader)&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Watchdog mit Window-Mode&lt;br /&gt;
* Jedes Peripheriemodul ist separat einschaltbar, wodurch sich erheblich [[Ultra low power|Strom sparen]] lässt&lt;br /&gt;
* [[JTAG]] und SWD (Serial Wire Debug) Interface&lt;br /&gt;
* Bis zu 6 Hardware-Breakpoints für Debuggen&lt;br /&gt;
* und vieles mehr . . .&lt;br /&gt;
&lt;br /&gt;
== Struktur der Dokumentation: ==&lt;br /&gt;
Die Dokumentation der STM32 ist zwar umfangreicher und komplexer z.B. die der [[AVR]], enthält aber dennoch alle nötigen Informationen. Sie teilt sich auf in mehrere Dokumente.&lt;br /&gt;
Als Beispiel der Dokumentation soll stellvertretend der [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164486 STM32F103RC] genannt werden. Die Seite von ST beinhaltet alle nötigen Informationen passend zu diesem Prozessor.&lt;br /&gt;
&lt;br /&gt;
Diese Dokumente von ST beschreiben den Controller:&lt;br /&gt;
&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00191185.pdf STM32F103xC/D/E Datasheet] sind die speziellen Eigenschaften einer bestimmten Modellreihe beschrieben und die exakten Daten und Pinouts aufgeführt, sowie die Zuordnung Chipname - Flash/RAM-Größe. Die Peripheriemodule werden nur aufgeführt, nicht detailliert beschrieben.&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/CD00171190.pdf Reference Manual (RM0008)] sind alle Peripheriemodule der jeweiligen STM32-Controllerfamilie im Detail beschrieben.&lt;br /&gt;
* Das [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0403c/index.html ARMv7M Architecture Reference Manual] beschreibt detailliert den Prozessorkern, wie das Exception Model, die CPU Instruktionen inklusive Encoding, etc.&lt;br /&gt;
* Das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00228163.pdf STM32 Cortex-M3 Programming Manual] ist eine Zusammenfassung des ARMv7M Architecture Reference Manual bezogen auf die STM32.&lt;br /&gt;
* Wer nicht die ST Firmware-Library verwendet, der benötigt zusätzlich das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00283419.pdf Flash Programming Manual] für die Betriebsart des Flash-ROMs, d.h. die frequenzabhängige Konfiguration der Waitstates.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich sollten auch die [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00197763.pdf Errata Sheets] beachtet werden. Empfohlen sei auch die Appnote &amp;quot;[http://www.st.com/web/en/resource/technical/document/application_note/CD00164185.pdf AN2586 Getting started with STM32F10xxx hardware development]&amp;quot;.&lt;br /&gt;
Die jeweiligen Dokumentations-PDFs sind auf der Produktseite von ST eines jeden Mikrocontrollers verlinkt.&lt;br /&gt;
&lt;br /&gt;
== Hardware Zugriffs-Libraries ==&lt;br /&gt;
=== CMSIS ===&lt;br /&gt;
&lt;br /&gt;
Die CMSIS (ARM® &#039;&#039;&#039;C&#039;&#039;&#039;ortex™ &#039;&#039;&#039;M&#039;&#039;&#039;icrocontroller &#039;&#039;&#039;S&#039;&#039;&#039;oftware &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;S&#039;&#039;&#039;tandard) ist eine Library von ARM für den Zugriff auf die herstellerübergreifenden Funktionen des ARM-Cores. Hierzu gehört bei den Cortex-M4F-Cores auch die DSP und Floating-Point Funktionalität. Weiterhin existieren eine Zahl von Helferfunktionen für den NVIC, den Sys-Tick-Counter, sowie eine SystemInit-Funktion, welche sich um die PLL kümmert. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen des CMSIS-Standards ([http://www.onARM.com www.onARM.com]) wurden die Headerdateien standardisiert, der Zugriff auf die Register erfolgt per &#039;&#039;&#039;Peripheral-&amp;gt;Register&#039;&#039;&#039;. Die CMSIS C-Dateien bzw. Header enthalten auch Anpassungen für die verschiedenen Compiler. Die Portierung eines Real-Time-Betriebsystems sollte unter Verwendung der CMSIS, für Chips der verschiedenen Hersteller, stark vereinfacht möglich sein (z.B. einheitliche Adressen für Core-Hardware/Sys-Tick-Counter).&lt;br /&gt;
&lt;br /&gt;
Die CMSIS ist im Download der ‎STM32 Standard Peripheral Library enthalten. Die Compiler-Hersteller liefern eine jeweils zur ihrer Tool-Version passende bzw. geprüfte Library (incl. CMSIS) aus. Diese Libs können, gegenüber den Downloads beim Chip-Hersteller, auch ältere Version beinhalten.&lt;br /&gt;
&lt;br /&gt;
=== ‎STM32 Standard Peripheral Library ===&lt;br /&gt;
&lt;br /&gt;
ST bietet für jede Controller Familie eine umfangreiche zur CMSIS passende Peripherie-Bibliothek. Alle Funktionen um die Peripherie zu benutzen sind gekapselt in einfache Strukturen und Funktionsaufrufe. Somit muss man sich nicht selbst um die Peripherie-Register kümmern. Diese Library und ihre Dokumentation setzen das grundlegende Verständnis der Funktion des jeweiligen Peripheriemoduls voraus, wie es die o.a. Referenz und diverse Appnotes vermitteln. Die Library beinhaltet außerdem für fast jede Peripherie mehrere Beispiele.&lt;br /&gt;
Für die USB Schnittstelle gibt es noch eine extra Library, genauso wie für Ethernet.&lt;br /&gt;
&lt;br /&gt;
Auf der &amp;quot;Design Resources&amp;quot; Seite der Produktseite von ST eines jeden STM32 Mikrocontrollers kann die Library für den jeweiligen Controller heruntergeladen werden, z.B. [http://www.st.com/web/en/catalog/tools/PF257890 hier] für den o.g. STM32F103RC.&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
Zur Programmierung der STM32 gibt es verschiedene Möglichkeiten, sowohl kommerzielle proprietäre als auch mit Freier Software.&lt;br /&gt;
&lt;br /&gt;
Der GCC (in seinen verschiedenen Binärdistributionen) ist der einzige ARM Compiler der [http://de.wikipedia.org/wiki/C%2B%2B11 C++11] unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Freie Software/Freeware ===&lt;br /&gt;
==== Selber zusammenstellen ====&lt;br /&gt;
Man nehme...:&lt;br /&gt;
* Eine Entwicklungsumgebung nach Wahl:&lt;br /&gt;
** [http://www.eclipse.org Eclipse] mit [http://www.eclipse.org/cdt/ C/C++ Development Tooling] und [http://gnuarmeclipse.livius.net/blog/ GNU ARM Plug-in] (Bei Verwendung vom GCC-ARM-Embedded als Toolchain &amp;quot;Sourcery G++ Lite&amp;quot; auswählen, dieser sieht für eclipse gleich aus) (Linux, Windows)&lt;br /&gt;
** [http://netbeans.org/ Netbeans] mit [http://plugins.netbeans.org/plugin/37426/gdbserver GDBserver-Plugin] (Linux, Windows)&lt;br /&gt;
** [http://www.kdevelop.org/ KDevelop] (Linux)&lt;br /&gt;
** [http://www.geany.org/ Geany] (Linux, Windows)&lt;br /&gt;
** Oder ein einfacher Texteditor&lt;br /&gt;
* Einen C,C++ Compiler:&lt;br /&gt;
** Eine der [[ARM_GCC#GCC_Bin.C3.A4rdistributionen|GCC-Binärdistributionen]], siehe auch [[#GCC|GCC]] (je nach Distribution Linux, Windows)&lt;br /&gt;
* Programmiersoftware zum Flashen des Target:&lt;br /&gt;
** [http://openocd.sourceforge.net/ OpenOCD] unterstützt viele Debug/Programmier-Adapter (Linux, Windows)&lt;br /&gt;
** [https://github.com/texane/stlink Texane stlink] funktioniert gut mit den ST-Link Adaptern wie sie zB. auf den STM32 Discovery Boards zu finden sind (Linux)&lt;br /&gt;
** Turtelizer2 oder andere JTAG Programmieradapter&lt;br /&gt;
** Bei Verwendung eines Segger J-Link, den [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf Segger GDB-Server] in Verbindung mit dem beim GCC mitgelieferten GDB (Linux, Windows)&lt;br /&gt;
&lt;br /&gt;
==== Komplette IDE&#039;s ====&lt;br /&gt;
* [http://www.codesourcery.com/sgpp/lite_edition.html Codesourcery Lite Edition]&lt;br /&gt;
* [http://www.coocox.org/ Coocox Eclipse IDE] kostenlose IDE für STM32F0 / F1 / F4 Hilfreiche Infos gibt es im [http://www.mikrocontroller.net/topic/214719?goto=new#2228482 hier] und [http://www.mikrocontroller.net/topic/214719?goto=new#2229943 hier] Forum&lt;br /&gt;
* [http://emide.org/ emIDE] kostenlose IDE die mit dem Segger J-LINK funktioniert.&lt;br /&gt;
* [http://www.emblocks.org EmBlocks] kostenlose IDE, Code::Blocks basiert, unterstützt STM32 L1/F0/F1/F2/F3/F4/W, integrierter GDB Debugger, Jlink/ST-Link, System view (Peripherie Register anzeigen) beim Debuggen, Project Wizzard&lt;br /&gt;
&lt;br /&gt;
=== Kommerzielle Umgebungen ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp Keil µVision] (Demo max. 32KB Code): Die sehr komfortable µVison IDE ist neben dem ARM Compiler per Menue auch für einen beliebigen GNU-Compiler konfigurierbar. Damit besteht das 32k-Limit nur noch für den integrierten Debugger / Simulator. µVison selbst kann kostenlos mit dem MDK-Evaluationkit heruntergeladen werden. [https://www.keil.com/arm/demo/eval/arm.htm#DOWNLOAD download]&lt;br /&gt;
* [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR-Embedded-Workbench] (Demo max. 32KB Code) [http://supp.iar.com/Download/SW/?item=EWARM-EVAL download]&lt;br /&gt;
* [http://www.isystem.com/products/itag winIDEAiTag] Keine Code Limitierung, GCC und Testwerkzeug beinhaltet. Läuft mit dem iTag Adapter.&lt;br /&gt;
* [http://www.raisonance.com Raisonance Ride7] (GCC Compiler, kostenlose Version auf Debugging von max. 32KB Code limitiert, keine Limitierung beim Complilieren)&lt;br /&gt;
* [http://www.atollic.com Atollic] (Lite Version (bis V2.3.0) ohne Code-Limit, auf GCC basierend. Die neueste Version ab V3 hat fast keine Beschränkungen mehr außer jetzt einen Code-Limit von 32kB. Außerdem werden jetzt die meisten ARM Familien unterstützt. )&lt;br /&gt;
* [http://www.rowley.co.uk/arm/ Rowley Crossworks] (Demo 30 Tage unbeschränkt, 150$ für nichtkommerzielle Nutzung, auf GCC basierend)&lt;br /&gt;
* [http://www.code-red-tech.com Code Red] (GCC basierend)&lt;br /&gt;
* [http://www.sisy.de/index.php?id=17&amp;amp;no_cache=1 SiSy ARM oder SiSy Micrcontroller++] (Demo verfügbar keine Gößenbegrenzung, basiert auf GNU-Compiler, grafische Programmierung mit UML möglich, integrierter Debugger)&lt;br /&gt;
* [http://www.comsytec.eu/epsdebugger.php EPS Debugger Plugin, für STM32 Development mit Code::Blocks]&lt;br /&gt;
&lt;br /&gt;
=== Tutorials für diverse Tool-Kombinationen ===&lt;br /&gt;
[[STM32 Eclipse Installation|Windows,Linux, Eclipse + Yagarto/CodeSourcery + OpenOCD/ST-Link]]&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
** Eclipse&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/216554 Windows, Eclipse, codesourcery, st-link ]&lt;br /&gt;
*** [http://www.firefly-power.de/ARM/debugging.html Eclipse Plugin &amp;quot;GDB Hardware Debugging&amp;quot; mit OpenOCD]&lt;br /&gt;
** Code::Blocks&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/265600 Windows, Code::Blocks, STM32F4]&lt;br /&gt;
** STM32 mit EmBlocks&lt;br /&gt;
*** [http://www.emblocks.org/web/downloads-main Download EmBlocks]&lt;br /&gt;
*** [https://www.youtube.com/watch?v=coHPJylnzC8 Video STM32 Project Wizzard in EmBlocks]&lt;br /&gt;
** Atollic TrueSTUDIO&lt;br /&gt;
*** [[STM32 LEDBlinken AtollicTrueStudio|Atollic TrueSTUDIO Installation + Demo]]&lt;br /&gt;
** MDK-ARM Lite mit Einstellungen für STM32F0/F4-Discovery Board&lt;br /&gt;
*** [https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM Download]&lt;br /&gt;
*** [https://www.youtube.com/watch?v=RXOOxby5nns&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;index=1 Installations Video STM32F4 Discovery Board]&lt;br /&gt;
*** [https://www.youtube.com/watch?annotation_id=annotation_203294&amp;amp;feature=iv&amp;amp;index=4&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;src_vid=sN4gDZ7H8gw&amp;amp;v=BeZcQjXxk9A Einstellungen STM32F0 Discovery Board Video]&lt;br /&gt;
** SiSy ARM, STM32&lt;br /&gt;
*** Download: [http://www.sisy.de/index.php?id=59 SiSy DEMO] kein Begrenzung der Codegröße&lt;br /&gt;
*** [http://www.youtube.com/watch?v=84Y3jYLWYpo Videobeispiel]&lt;br /&gt;
* Ubuntu&lt;br /&gt;
** [http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.pdf Ubuntu, eclipse, Code Sourcery, OpenOCD] ([http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.odt Das Gleiche im bearbeitbaren ODT-Format])&lt;br /&gt;
** [http://fun-tech.se/stm32/index.php Ubuntu, Selbstcompilierter GCC, STM32/Cortex-M3]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/214719 Tipps für Installation mit Eclipse]&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter===&lt;br /&gt;
* [http://www.segger.com/jlink-model-overview.html SEGGER J-LINK / J-TRACE] für u.a. alle ARM7/9/11, Cortex-M0/M1/M3/M4/A5/A8/A9/R4 als [http://www.segger.com/cms/j-link-edu.html NonComercial] J-LINK-EDU für ca. 60,- zu haben, läuft in µVision, IAR, GDB (Linux &amp;amp; Windows über einen eigenen [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf GDB-Server]), Keil, ...&lt;br /&gt;
* Keil [http://www.keil.com/ulinkme/ ULINK-ME], [http://www.keil.com/arm/ulink2/ ULINK2], [http://www.keil.com/arm/ulinkpro/ ULINK pro]&lt;br /&gt;
* [http://www.st.com/internet/evalboard/product/219866.jsp ST-LINK], [http://www.st.com/internet/evalboard/product/251168.jsp ST-LINK/V2]&lt;br /&gt;
* Jedes STM32 Discovery board hat einen ST-Link für Programmierung/Debugging per SWD on-board, welcher auch für eigene STM32 Target Hardware benutzt werden kann (ca. 12,- bis 19,-€, je nach Typ).&lt;br /&gt;
* [http://www.raisonance.com/~rlink-debugger-programmer__microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html Raisonance RLink]&lt;br /&gt;
* [http://www.amontec.com Amontec]&lt;br /&gt;
* [http://www.hjtag.com H-JTAG] Personal Edition für ca. 60,- zu haben, läuft mit ADS, SDT, IAR, Vision und RVDS &lt;br /&gt;
* [http://www.isystem.com/products/itag iTag] für 50.- bei Amazon zu bestellen, oder als Eigenbau version (offenes Design) läuft mit der freien winIDEAiTag version (siehe oben)&lt;br /&gt;
&lt;br /&gt;
In der Regel haben die [[JTAG]] Adapter einen 20-Poligen Stecker, den man direkt auf die Demo-Boards, die auch einen 20-Poligen [[JTAG]]-Anschluss haben, einstecken kann. Die Pinbelegung ist genormt, siehe Artikel [[JTAG]]. Die Discovery-Boards haben keinen seperaten JTAG-Stecker, aber zumindest für das STM32F4 Discovery kann man sich leicht einen Adapter Pinheader-&amp;gt;JTAG Stecker selber bauen.&lt;br /&gt;
&lt;br /&gt;
Andere [[JTAG]] Adapter wie z.B. der ULink von Keil funktionieren nur mit dem Keil Compiler.&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter Open-Source===&lt;br /&gt;
&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-COOCOX], CoLinkEX Nachbau von Olimex, unterstützt JTAG sowie SWD&lt;br /&gt;
** [http://www.coocox.org/colinkEx.htm unterstützte uC]&lt;br /&gt;
** unterstütze IDEs: [http://www.keil.com/arm/mdk.asp Keil MDK-ARM 4.03] oder neuer, [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR Embedded Workbench 5.xx] oder neuer sowie die [http://www.coocox.org/CooCox_CoIDE.htm CooCox CoIDE]&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ Olimex] ARM-USB-OCD (ca. 60.-, hat zusätzlich einen Spannungsausgen und einen COM Port)&lt;br /&gt;
* [http://www.oocdlink.com/ OOCDLink]&lt;br /&gt;
* [https://github.com/texane/stlink Stlink]&lt;br /&gt;
* [http://www.randomprojects.org/wiki/Floss-JTAG FLOSS-JTAG]&lt;br /&gt;
* [http://capitanio.org/mlink/ Linux Demo Code für die Discovery&#039;s ST-Link Programmierung]&lt;br /&gt;
&lt;br /&gt;
Der Controller hat auch einen fest eingebauten Boot-Lader. Damit läßt er sich auch über eine gewöhnliche serielle Schnittstelle programmieren, ohne dass man einen JTAG-Adapter benötigt. Dies erfordert ggf. entsprechende Konfiguration über die BOOTx-Pins und/oder die Option-Bytes.&lt;br /&gt;
&lt;br /&gt;
=== Demo-Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Einführung in die GPIO Programmierung der STM32F10x und STM32F30x Prozessoren am Beispiel des STM32F3 Discovery Boards und Vergleich zur AVR IO Registerstruktur [http://www.mikrocontroller.net/topic/300472#new]&lt;br /&gt;
* [[prog_bsp_timer_1_timer2|Programmbeispiel für die Verwendung von Timer2 zusammen mit dem Interrupt]]&lt;br /&gt;
* [http://www.firefly-power.de/ARM/printf.html Printf() debugging mit minimalem Aufwand]&lt;br /&gt;
* [[STM32_BLDC_Control_with_HALL_Sensor|Programmbeispiel für BLDC Motoransteuerung (Timer 1) mit HALLSensor (Timer 3)]]&lt;br /&gt;
* [[Cortex_M3_OCM3U]]&lt;br /&gt;
* Martin Thomas hat ein umfangreiches Projekt erstellt, in der die Eclipse Einstellungen enthalten sind:&lt;br /&gt;
** [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html &amp;quot;ChaN&#039;s FAT-Module with STM32 SPI&amp;quot;]&lt;br /&gt;
* [[STM32 USB-FS-Device Lib]]&lt;br /&gt;
* Modellbau-Sender auf STM32-Basis mit vielen Treibern [http://www.rcos.eu www.rcos.eu]&lt;br /&gt;
* Ausführliches [https://github.com/jkerdels/stm32edu Einstiegs-Tutorial] in Codeform für das [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4 discovery board]&lt;br /&gt;
* [http://www.redacom.ch/keillab/ Schweizer Gondelbahnsteuerung über Webserver auf ETT STM32F ARM KIT Board in Keil RTOS] mit Webcam&lt;br /&gt;
* Die [http://ethernut.svn.sourceforge.net/viewvc/ethernut/trunk/ Ethernut SVN Version] unterstützt inzwischen viele STM32 Typen, viele Devices und einige STM32 Demoboards&lt;br /&gt;
&lt;br /&gt;
== Debug- und Trace-Interface (CoreSight™ Debug and Trace Technologie)==&lt;br /&gt;
&lt;br /&gt;
Übersicht über beide Funktionalitäten und den Schnittstellen:&lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_cs_core_sight.htm&lt;br /&gt;
&lt;br /&gt;
Die Coresight-Debug-Architektur ermöglicht ein nicht-invasives Debugging, d.h. es können während des Betriebes (meistens) ohne Beeinflussung des Prozessors Daten vom Speicher gelesen und in selbigen geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Debugger Funktionen ===&lt;br /&gt;
&lt;br /&gt;
Der Debugger-Teil besitzt drei Funktionen:&lt;br /&gt;
* Run Control: z.B. Programm-Start, Stopp und Einzel-Schritte.&lt;br /&gt;
* (Program) Break Points: Ein Programm hält an, wenn der Programm Counter eine bestimmte Programm-Adresse erreicht.&lt;br /&gt;
** Die maximale Anzahl der gleichzeitig möglichen Break Points ist begrenzt (z.B. 6 bei einem STM32).&lt;br /&gt;
** Die Anzahl der Break Points ist nahezu unbegrenzt, wenn ein Debugger über den Memory Access (s.u.) sogenannte Flash Break Points unterstützt. Dabei wird ein geladenes Programm im Flash umprogrammiert, um den Debugger anzuhalten. Diese Funktionalität ist meistens ein kostenpflichtiges Zusatz-Feature des Debugger-Herstellers. &lt;br /&gt;
** Beinhaltet keine Data Watch Funktionalität, welche im Trace-Teil (DWT) realisiert wird.&lt;br /&gt;
* Memory Access: Lesen und Schreiben von Speicheradressen. &lt;br /&gt;
** Diese Funktionalität beinhaltet keine direkte Flash-Programmierung. Der Programmiervorgang für einen Flash ist herstellerspezifisch und muss von dem verwendeten Debugger unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
=== Trace Funktionen ===&lt;br /&gt;
Die Trace-Funktionalität wird in drei Funktionen aufgeteilt:&lt;br /&gt;
* ETM (Embedded Trace Macrocell): Optional, nicht jede CPU besitzt diese Hardware (Kostenfaktor, Austattung).&lt;br /&gt;
* ITM (Instrumentation Trace Macrocell): Über diesen Kanal kann ein vereinfachtes Trace des Core ermöglicht werden, sowie &amp;quot;printf-ähnlich&amp;quot; Daten über den ITM Channel 0 geschickt und im Debugger ausgegeben werden.&lt;br /&gt;
* DWT (Data Watchpoint &amp;amp; Trace Unit): &lt;br /&gt;
** Data Watch: 4 Access-Break-Points ( z.B. der Debugger bleibt stehen, wenn das Programm auf einen Speicher zugreift oder der Wert einer Variablen einen bestimmten Wert annimmt). &lt;br /&gt;
** Trace Unit: Programmverlauf (durch Lesen des Program Counters) und Interrupt Aufrufe verfolgen, sowie Zeitmessungen.&lt;br /&gt;
&lt;br /&gt;
Einige der Trace-Funktionalitäten können über die JTAG-Schnittstelle angesprochen werden. Die schnelle Trace-Funktionalität (mit 4 bit Parallel-Port) steht nur mit der erweiterten DEBUG + ETM Schnittstelle zur Verfügung. Im Gegensatz zum Debugger-Teil (Run Control, Break Points und Memory Access) werden Trace-Funktionen nicht von allen Debuggern unterstützt. Debugger mit der vollen Trace-Funktionalität kosten deutlich mehr.&lt;br /&gt;
&lt;br /&gt;
* Beispiele für Trace-Port-Aktivierungen für verschiedene Hersteller: http://www.keil.com/support/man/docs/jlink/jlink_capture_tracedata.htm&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung des parallelen Trace-Ports erfordert, je nach CPU Hersteller, zusätzliche Debugger-Makros für die Aktivierung und Port-Freischaltung. Zusätzlich sind die Schnittstellenauswahl und Einstellung (Frequenzen) im Entwicklungs-Tool (IDE) wichtig, um erfolgreich den Programm-Verlauf &amp;quot;tracen&amp;quot; zu können.&lt;br /&gt;
&lt;br /&gt;
=== Debug und Trace-Schnittstellen ===&lt;br /&gt;
Als Debug Interface stehen zwei Varianten zur Auswahl:&lt;br /&gt;
* [[JTAG]]: Dafür sind mindestens 6 Steuerleitungen nötig. Unterstützt Device Chaining: Mehrere verbundene Geräte können mit einem Debugger/Programmer gleichzeitig angesteuert werden.&lt;br /&gt;
* SWD (Serial Wire Debug): Hier mindestens 2  Steuerleitungen (3 mit SWO, zzgl GND und 3,3V). Die SWD Schnittstelle ist in der Regel schneller und kann auch Funktionen aus dem Trace-Teil beinhalten (z.B. ITM, dafür wird der SWO-Pin benötigt). Device Chaining ist mit dieser Schnittstelle nicht möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standard-JTAG Steckerbelegungen: &lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm&lt;br /&gt;
&lt;br /&gt;
=== Der 10polige JTAG-Stecker von mmvisual ===&lt;br /&gt;
mmvisual hat mit dieser Steckerbelegung die Standard JTAG Schnittstelle erweitert:&lt;br /&gt;
&lt;br /&gt;
Ich habe diesen Part in den Artikel [http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual JTAG] verschoben.&lt;br /&gt;
Hinzu gekommen ist die Adapterplatine 10-Polig auf Standard JTAG 20 Polig mit TTL/V24 Wandler. [http://www.mikrocontroller.net/articles/JTAG#Die_Adapterplatine Siehe hier.]&lt;br /&gt;
&lt;br /&gt;
== Hardware-Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Der STM32 benötigt für den Betrieb nur (Minimalbeschaltung):&lt;br /&gt;
&lt;br /&gt;
* VCC 2..3,3V (je nach Typ)&lt;br /&gt;
* AVCC 2..3,3V (sehr wichtig, der STM32 lässt sich ohne diese Spannung nicht programmieren)&lt;br /&gt;
* GND&lt;br /&gt;
* Reset Pin 100nF nach GND (ein Pull-Up Widerstand von ca. 40k ist intern vorhanden)&lt;br /&gt;
* [[#Bootmodi|Boot-Pins]]&lt;br /&gt;
&lt;br /&gt;
ansonsten nur ein paar einzelne Cs 100nF an VCC/GND.&lt;br /&gt;
&lt;br /&gt;
Um Programmieren zu können wird entweder noch die serielle Schnittstelle (Programmieren über den vorprogrammierten Bootloader) oder JTAG oder die SWD Schnittstelle benötigt.&lt;br /&gt;
&lt;br /&gt;
=== Bootmodi ===&lt;br /&gt;
Unterschiedliche Bootmodi lassen sich mittels der PINs BOOT0 und BOOT1 auswählen . Siehe Application Note [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/18225/AN2606.pdf AN2606].&lt;br /&gt;
&lt;br /&gt;
==== Boot from FLASH ====&lt;br /&gt;
Startadresse wird von 0x08000004 geladen&lt;br /&gt;
 BOOT0 Lo&lt;br /&gt;
 BOOT1 X &lt;br /&gt;
&lt;br /&gt;
==== Boot from SRAM ====&lt;br /&gt;
PC Startadresse wird an 0x200001E0 direkt angesprungen.&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Hi&lt;br /&gt;
Da der interne FLASH der stm32f1x laut Datenblatt nur für 1000 Schreibvorgänge ausgelegt ist, kann mittels BOOT0 (High) und BOOT1 (High) auch aus dem zuvor mit dem Debugger (JTAG/SWD) beschriebenen SRAM booten. &lt;br /&gt;
Hierbei gilt zu beachten:&lt;br /&gt;
 VTOR auf die NVIC Tabelle im SRAM vor dem auslösen des ersten Interrupts remappen.&lt;br /&gt;
&lt;br /&gt;
 Um ein vergleichbares Startverhalten zum FLASH zu erreichen, empfiehlt es sich,&lt;br /&gt;
 0xF1E0F85F an 0x200001E0 zu schreiben. Diese implizite Ausführung von &amp;quot;ldr.w pc,&lt;br /&gt;
 [pc, #-0x01E0]&amp;quot; beim Start erzwingt ein laden der Startadresse von 0x20000004.&lt;br /&gt;
&lt;br /&gt;
==== Boot from SYSMEM (RS232, CAN und USB) ====&lt;br /&gt;
PC Startadresse wird von 0x1FFFF004 geladen&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Lo&lt;br /&gt;
Auch ohne JTAG lässt sich ein STM32 programmieren (Bootloader-Aktivierung). Dabei stehen, je nach CPU-Typ, verschiedene Möglichkeiten zur Verfügung:&lt;br /&gt;
* RS-232 (bisher alle STMs)&lt;br /&gt;
* USB (nur in bestimmten MCUs mit entsprechender Bootloader-Version und PIN-Anzahl, z.B. STM32F105/107)&lt;br /&gt;
* CAN (wie USB nur in bestimmten MCUs)&lt;br /&gt;
&lt;br /&gt;
3 zusätzliche Verbindungen müssen auf dem Board gepatcht werden. Für einen Test geht es auch mit Tastern für RESET und BOOT0.&amp;lt;br&amp;gt;&lt;br /&gt;
RESET=RTS (L-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT0=DTR (H-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT1=LOW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Details sind hier im Forum: [http://www.mikrocontroller.net/topic/141711 STM32 Programmiertool]&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
=== Vorteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber ARM7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Interrupt-Controller jetzt Teil des Prozessors (als Core Peripheral), die Vector Table ist jetzt eine echte Vektortabelle, keine Sprungliste wie bei ARM7. Durch Automatismen zwischen Core und NVIC (auto register save r0..r3, lr, sp, pc) bei Interrupt Entry wird eine deutlich schnellere Ausführungszeit bei Interrupts erreicht. Der Interrupt Code muss sich nicht mehr selbst um die Sicherung der o.g. Register kümmern und eine besondere Konfiguration der Handler im Compiler entfällt. Sind vor Beendigung einer ISR (d.h. Rücksprung zum User Code) weitere Interrupts pending, so werden diese ausgeführt, ohne dass eine komplette pop-push-sequenz der Register notwendig ist. Schön beschrieben ist es hier im [http://www.st.com/mcu/files/mcu/1221142709.pdf Insider&#039;s Guide] unter 2.4.5 / Seite 20.&lt;br /&gt;
* Thumb-2 Befehlssatz, deutlich schneller als Thumb-1 und ebenso kompakt&lt;br /&gt;
* Weniger Pins für Debugging benötigt durch SWD&lt;br /&gt;
* Mehr Hardware Breakpoints machen debuggen einfacher&lt;br /&gt;
* Software ist einfacher weil die Umschaltung zwischen ARM Mode und Thumb Mode wegfällt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber LPC1700 und LPC1300:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Flexiblere Gehäuseformen mit mehr Peripherie bei kleinen Gehäusen&lt;br /&gt;
* FW-Lib für alle STM32 gleich, alle AppNotes/Demos beziehen sich auf diese eine FW-Lib was die Entwicklung der eigenen Applikation sehr beschleunigt.&lt;br /&gt;
* Genauerer und flexiblerer ADC, insbesondere gegenüber LPC1300&lt;br /&gt;
* Flexiblere Varianten der Peripherie &amp;gt;&amp;gt; bei weniger einen deutlichen Preisvorteil&lt;br /&gt;
* ab 0,85 EUR (Stand 2010) Allerdings gibts den LPC1100 mit Cortex-M0 schon ab 0,65 $!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber SAM3/4:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fast alle Pins sind 5-Volt tolerant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber anderen &amp;quot;Kleinen&amp;quot; wie z.B. PIC, Atmel usw.&#039;&#039;&#039;&lt;br /&gt;
* nahezu gleicher Preis bei Hobby Anwendungen&lt;br /&gt;
* 32 Bit ohne Umwege in Assembler rechenbar&lt;br /&gt;
* Schnelle direkte Offset-Adressierung ermöglich effizienten Zugriff auf Stack-Variablen, lokal gespeicherte Flash-Konstanten, struct/Array-Elemente&lt;br /&gt;
* Einfache einheitliche Adressierung des gesamten Adressraums, d.h. Pointer auf Peripherieregister, RAM &amp;amp; Flash können exakt gleich behandelt werden, keinerlei Banking/Umschalt-Mechanismen erforderlich auch bei großem Flash/RAM&lt;br /&gt;
* Interrupt-Prioritäten und Prioritätsgruppen&lt;br /&gt;
* Effiziente Pointerarithmetik da Registerbreite=Adressbreite&lt;br /&gt;
* bessere Peripherie wie USB, Ethernet, Vielzahl an Timern&lt;br /&gt;
* der ARM-Core hat eine höhere Taktfrequenz und kann gleichzeitig mehr in weniger Takten berechnen&lt;br /&gt;
* Hardware-Division, bei einigen FPU zur effizienten float-Berechnung&lt;br /&gt;
* Mit größerem Flash/RAM verfügbar&lt;br /&gt;
* Code kann direkt aus dem RAM ausgeführt werden, Speicherschutz und privilegierter Ausführungsmodus können &amp;quot;Kernel&amp;quot;- vor &amp;quot;Anwendungs&amp;quot;-Code schützen, somit wird das dynamische Nachladen von Anwendungen aus externem Speicher effizient &amp;amp; sicher möglich&lt;br /&gt;
* ... und weitere 1000 Punkte ...&lt;br /&gt;
&lt;br /&gt;
=== Nachteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil gegenüber LPC1700:&#039;&#039;&#039;&lt;br /&gt;
* STM32F1xx: nur 72 MHz statt 100 MHz (LPC1759: 120 MHz) Taktfrequenz; STM32F2xx hat diesen Nachteil nicht (ebenfalls 120MHz, STM32F4xx mit 168MHz) (Aber NXP hat schon 150MHz angekündigt)&lt;br /&gt;
* Der LPC1700 besitzt deutlich mehr Mechanismen, um die Auswirkung der Waitstates des Flash-ROMs auf Code- und Datenzugriffe zu reduzieren und das bedeutet mehr Performance bei gleicher Taktfrequenz. Beim STM32F2 entfällt dieser Nachteil wohl aufgrund des ART accelerators. &lt;br /&gt;
* Alle LPC1xxx haben 32 Bit Timer. Bei den STM32 haben das nur die STM32F2xx (2 Stück)&lt;br /&gt;
* I2S Einheit von ST hat keinen FIFO und im 24/32Bit Modus müssen 2x16Bit Halbwörter übertragen werden. Wobei allgemein bei neuen ARM Prozessoren die vorhandenen DMA-Kanäle (basierend auf eigenen BUS-Kanälen und Speicherzugriffen) FIFO in beliebiger Größe bedeutet. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil für Hobby-Anwender&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Nicht direkt &amp;quot;Steckbrettauglich&amp;quot;, da kein DIL Gehäuse verfügbar. Der ebay-Shop dipmicro führt jedoch sehr günstige Lötadapter für Umsetzung von LQFP48 auf DIP48. QFP64 in 0.5mm Pinabstand und nicht 0.8mm wie AVR&lt;br /&gt;
&lt;br /&gt;
* Viel Peripherie, Clocks müssen alle richtig eingestellt werden, ggf. Anpassung des Startup Codes usw.&lt;br /&gt;
** =&amp;gt; Daher nicht besonders gut für Mikrcontroller Anfänger/Einsteiger geeignet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Errata, Tipps und Tricks ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* AD-Wandler PA0: Im Errata steht, dass hier Fehler in der Wandlung entstehen könnten, also einen anderen Pin verwenden.&lt;br /&gt;
* CAN-Bus PD0/PD1: Remap geht erst ab der 100-Pin-Version. Steht im RM0008 unter 9.3.3.: &amp;quot;CAN1 alternate function remapping&amp;quot;. Alle Infos von RM0008 9.3.x sind interessant&lt;br /&gt;
* CAN und USB sind bei der F1 Serie nur bei der &amp;quot;◦Connectivity-Line&amp;quot; gleichzeitig nutzbar. Siehe Datenblätter.&lt;br /&gt;
* Mit internem RC-Oszillator kann die CPU mit maximal 64MHz betrieben werden. Mit einem externen Quarz sind dann 72MHz möglich.&lt;br /&gt;
* Für USB Betrieb muss die CPU mit 48MHz oder 72MHz betrieben werden (bei STM32F1xx).&lt;br /&gt;
* Der Idle Interrupt vom Usart wird zwar ausgelöst, aber nicht vom entsprechenden Statusflag angezeigt&lt;br /&gt;
* Der DMA fängt beim aktivieren immer von vorn an zu zählen, auch wenn er nur kurz angehalten wurde&lt;br /&gt;
* STM32F2xx hat kein Flash Size Register, bei STM32F4xx ist zwar ein flash Size Register beschrieben, kollidiert aber in der Adresse mit einem anderen Register&lt;br /&gt;
* Derivate mit internem EEPROM und nur einer Speicherbank haben das &amp;quot;Feature&amp;quot; bei write/erase des Data-Flashes (EEPROM) einen kompletten stall der code execution zu verursachen (inkl. ISR&#039;s, DMA). Desgleichen bei write/erase des internen Flash (ISP-routinen, EEPROM-Emulation).&lt;br /&gt;
* Der I2C hat diverse Fehler, welche im Errata des jeweiligen Modells (z.B. [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00238166.pdf STM32F105xx and STM32F107xx Errata sheet] ) zu finden sind. Workarounds hierzu finden sich in der Application Note [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00209826.pdf AN2824]&lt;br /&gt;
* [http://blog.frankvh.com/category/stm32/ weitere undokummentierte Features]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== GCC ====&lt;br /&gt;
Um den GCC direkt zu verwenden (zB. mit selbstgebautem makefile), falls man das nicht von einer Entwicklungsumgebung machen lässt, siehe zunächst [[ARM GCC]]. STM32-spezifisches ist:&lt;br /&gt;
* Wird die [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] und ein Quarz verwendet, so muss noch per Präprozessor-Definition die Frequenz des Quarzes angegeben werden mittels z.B. -DHSE_VALUE=8000000 für 8MHz (wie auf dem STM32F4 Discovery).&lt;br /&gt;
&lt;br /&gt;
===== Startupcode &amp;amp; Linkerscript =====&lt;br /&gt;
* Damit der compilierte Code an den richtigen Stellen im Controller landet (d.h. dem Flash) muss man dem Linker ein Linkerscript mitgeben. Dies geht per &amp;quot;-T &#039;&#039;pfad_zum_linkerscript.ld&#039;&#039;&amp;quot; an den Linker-Befehl. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Linkerscript für die Atollic TrueSTUDIO IDE, dieses kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich das Script im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM324x7I_EVAL/stm32_flash.ld&amp;quot; des Archives.&lt;br /&gt;
* Damit beim Starten die richtigen Initialisierungen vorgenommen werden (wie globale Variablen und bei C++ Konstruktoren globaler Objekt-Instanzen) muss als erstes ein Startupcode laufen, der dann die main()-Funktion aufruft. Der Startupcode ist meistens in Assembler geschrieben, C-Code ist aber auch möglich. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Startupcode für die Atollic TrueSTUDIO IDE, dieser kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich der Code in Assemblerform im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO/startup_stm32f40xx.s&amp;quot; des Archives. Der Assemblercode kann per arm-none-eabi-as (Flags s.o.) assemblisiert werden, die resultierende .o -Datei normal mitgelinkt.&lt;br /&gt;
&lt;br /&gt;
Zusammen bieten die beiden Dateien der Anwendung ein Standard-C-Interface, d.h. man kann wie gewohnt globale Variablen verwenden und seinen Code in die main()-Funktion schreiben.&lt;br /&gt;
&lt;br /&gt;
=== Tipps für Umsteiger von Atmel/PIC/8051 ===&lt;br /&gt;
* Prozessortakt hat unterschiedliche Taktquellen und eine PLL.&lt;br /&gt;
* Alle Peripheriemodule haben einen extra Clock, den man aktivieren muss.&lt;br /&gt;
* Wenn man z.B. einen UART benutzen möchte, so muss man den Clock vom UART, Alternate Function IO (AFIO) und dem GPIO-Port aktivieren.&lt;br /&gt;
* Ansonsten hat man nahezu doppelt so viele Möglichkeiten in den Peripheriemodulen.&lt;br /&gt;
* Interrupt-Flags müssen in der ISR selber gelöscht werden&lt;br /&gt;
* Forum zu [http://www.mikrocontroller.net/topic/175888 Interrupts vs. Events]&lt;br /&gt;
&lt;br /&gt;
=== Errata vom STM32F4xx die nicht im Errata von ST stehen ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267439#2788478 Aktivieren von DMA], wenn mehr als 3 DMA Kanäle aktiviert werden, kann es sein dass die nicht alle korrekt bedient werden. Auch klappt der DMA mit dem FSMC nicht immer zuverlässig. [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FWarning%20limit%20simultaneous%20DMAs%20to%202&amp;amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;amp;currentviews=811 siehe hier] [http://blog.frankvh.com/2012/01/13/stm32f2xx-stm32f4xx-dma-maximum-transactions/ und hier]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/260637#2700761 Nerviger Bug in &amp;quot;stm32f4xx.h&amp;quot;] Änderung Struktur GPIO_TypeDef&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/261690#2714754 Batterie wird leer gezogen], nur bei manchen Chips mit Rev. A&lt;br /&gt;
* [http://www.efton.sk/STM32/STM32F4xx_doc_errors.txt Liste von Dokumentations-Fehlern]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://www.reichelt.de/STM-Controller/2/index.html?;ACTION=2;LA=2;GROUPID=2950; Reichelt]&lt;br /&gt;
* [http://darisusgmbh.de/shop/index.php?cat=c2692_ARM-Cortex.html Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE (Farnell Programm für Private)] &lt;br /&gt;
* [http://www.sander-electronic.de/be00069.html Sander]&lt;br /&gt;
*[http://www.tme.eu/de/katalog/index.phtml#cleanParameters%3D1%26search%3DSTM32F10%26bf_szukaj%3D+ TME] &lt;br /&gt;
*[http://teske-electronics.de/index.php?cPath=3_9_53 Teske electronics]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/prozessoren-und-mikrocontroller/mikrocontroller/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294417325&amp;amp;lastAttributeSelectedBlock=4294425895 RS-Online]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gewerblich liefern natürlich viele wie EBV, Mouser, Farnell, Digikey usw...&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=gruppe&amp;amp;id=14 Im Shop von Embedded Projects]&lt;br /&gt;
* [http://www.watterott.com/de/Boards-Kits/ARM/ARM-Cortex-M3 Cortex M3 bei Watterott]&lt;br /&gt;
* [http://www.raisonance.com/~primer-starter-kits__microcontrollers__tool~tool__T018:4enfvamuxbtp.html Primer und Primer2 von Raisonance]&lt;br /&gt;
* [http://www.sander-electronic.de/es0028.html Sander Electronic]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/MP32F103-Stick:_Ein_Mini-Mikrocontroller-Board_mit_USB_und_bis_zu_4MB_Datenspeicher Artikel im Wiki, ARM mit USB und 4MB Speicher]&lt;br /&gt;
* [http://www.futurlec.com/STM32_Development_Board.shtml Futurlec Evalboard, ebenso Header-Board]&lt;br /&gt;
* [http://www.propox.com/products/t_174.html Propox, Header-Boards für 103R und 103V sowie Trägerplatine dafür]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Cortex_M3_OCM3U Cortex M3 Artikel im Wiki]&lt;br /&gt;
* [http://olimex.com/dev/index.html STM32 bei Olimex]&lt;br /&gt;
* [http://de.farnell.com/jsp/displayProduct.jsp?sku=1824325&amp;amp;action=view&amp;amp;CMP=GRHS-1000962 STM32Discovery bei Farnell] Mikrocontroller Board (STM32F100RBT6B) mit onboard USB-Programming Interface für ca. 12,50€&lt;br /&gt;
* [http://www.de.rs-online.com/web/p/products/7458434/ STM32Discovery bei RS-Components] 12,65 € +MwSt.&lt;br /&gt;
* [http://www.segor.de/#Q=STM32 VL DISCOVERY] STM32 Discovery bei Segor&lt;br /&gt;
* [http://www.watterott.com/de/STM32F4Discovery STM32F4DISCOVERY] STM32F4 Cortex M4 Controller mit JTAG-Debugger auf der Platine bei Watterott für 16,66EUR.&lt;br /&gt;
* [http://www.mcu-raisonance.com/~open4-development-platform__microcontrollers__tool~tool__T018:g65gu6ghg2n.html/ Open 4 oder auch genannt Evo-Primer]&lt;br /&gt;
* [http://www.wayengineer.com/index.php?main_page=index&amp;amp;cPath=50_66&amp;amp;page=1&amp;amp;sort=3a WayEngineer]&lt;br /&gt;
* [http://thinkembedded.ch/ST-STMicroelectronics:::24.html Im Thinkembedded Shop] in der Schweiz / DiscoveryF4, div. ETT und Olimex Boarde ab 20,18 CHF / 16,15 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&amp;amp;artID=200072 Im myAVR Shop] DiscoveryF4 mit möglichem Zubehör 16,45 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://www.keil.com/boards/cortexm.asp Keil/ARM Demoboards]&lt;br /&gt;
* [http://www.phytec.de Phytec]&lt;br /&gt;
* [http://shop.myavr.de/index.php?sp=artlist_kat.sp.php&amp;amp;katID=37 verschiedene ARM Produkte und Erweiterungen bei myAVR]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities, Tutorials ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/173753 Diskussion zum Artikel]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ARM*+STM32*+Cortex* Suche im Forum]&lt;br /&gt;
* [https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/AllItems.aspx Forum auf der ST Homepage] &lt;br /&gt;
* [http://www.stm32circle.com/hom/index.php STM32 Community] &lt;br /&gt;
*[http://joe-c.de/pages/posts/einstieg_mikrocontroller_stm32f103_101.php Einstieg:  STM32board mit Kamera (deutsch)] &lt;br /&gt;
* [http://www.ebv.com/fileadmin/products/Press_Print/Brochures/Product_Brochures/EBV_Cortex%20Collection_V2.pdf Übersicht der Cortex Prozessoren und deren Hersteller (nicht nur ST, von EBV)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/258652 Tutorial]&lt;br /&gt;
* [http://diller-technologies.de/stm32_wide.html STM32 Tutorial in Deutsch von Diller Technologies]&lt;br /&gt;
* [http://mySTM32.de STM32 C und C++ Tutorial in Deutsch ]&lt;br /&gt;
* [http://mikrocontroller.bplaced.net STM32F4 Quellcode-Librarys und CooCox-Projekte in Deutsch ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:STM32| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78499</id>
		<title>STM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78499"/>
		<updated>2013-09-15T08:55:28Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Komplette IDE&amp;#039;s */ emblocks ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STM32 ist ein Mikrocontroller-Familie von [http://www.st.com/mcu/inchtml-pages-stm32.html ST] mit einer 32-Bit [http://www.arm.com/products/processors/cortex-m/index.php ARM Cortex-M0/M3/M4] CPU. Diese Architektur ist speziell für den Einsatz in Microcontrollern neu entwickelt und löst damit die bisherigen ARM7-basierten Controller weitestgehend ab. Den STM32 gibt es von ST in unzähligen Varianten mit variabler Peripherie und verschiedenen Gehäusegrößen und -formen. Durch die geringe Chipfläche des Cores ist es ST möglich, eine 32 Bit-CPU für weniger als 1&amp;amp;nbsp;€ anzubieten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:stm32F103xc.png|thumb|right|340px|Blockdiagramm STM32F103xC/D/E]]&lt;br /&gt;
&lt;br /&gt;
== STM32-Familien ==&lt;br /&gt;
&lt;br /&gt;
Bisher gibt es sieben STM32-Familien:&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp STM32F0]&lt;br /&gt;
** Cortex M0&lt;br /&gt;
** Mikrocontroller zum Einstieg&lt;br /&gt;
** Bis 48MHz&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1169.jsp STM32F1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
**Verschiedene Unterfamilien:&lt;br /&gt;
*** Connectivity line&lt;br /&gt;
*** Performance line&lt;br /&gt;
*** USB Access line&lt;br /&gt;
*** Access Line&lt;br /&gt;
*** Value line&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1575 STM32F2]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 120MHz&lt;br /&gt;
** Wie die STM32F1 Serie, Camera-Interface, 32-Bit Timer, Crypto-Engine...&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
** Fast 12-bit 5 MSPS and precise 16-bit sigma-delta ADCs&lt;br /&gt;
** Touch sensing controller (TSC)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp STM32F4]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 180MHz&lt;br /&gt;
** Bis zu 2MB Flash&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1295 STM32L1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Low Power &lt;br /&gt;
** mit LCD Treiber&lt;br /&gt;
** Bis 32MHz&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1581 STM32W]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** BIS 24MHz&lt;br /&gt;
** RF-MCU &lt;br /&gt;
[http://www.st.com/internet/mcu/class/1734.jsp Hier eine Übersicht zum Auswählen eines STM32Fxxx]&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Cortex-M0 / Cortex-M3 / Cortex-M4F Kern (mit FPU)&lt;br /&gt;
* 16KB ... 2MB  [[Flash-ROM]]&lt;br /&gt;
*  4KB ... 256KB [[Speicher#SRAM|SRAM]]&lt;br /&gt;
* 4KB [[Speicher#EEPROM|EEPROM]] (STM32L)&lt;br /&gt;
* 512 one-time programmable Bytes(STM32F2/4)&lt;br /&gt;
* [[IC-Gehäuseformen | Gehäuse]] 36 ... 216 Pins als QFN, LQFP und BGA&lt;br /&gt;
* Derzeit sind über &#039;&#039;&#039;250&#039;&#039;&#039; STM32 Derivate/Varianten verfügbar&lt;br /&gt;
* Bis 72MHz CPU-Takt, bis 120MHz beim STM32F2xx, bis 168/180 MHz beim STM32F4xx, wobei eine spezielle prefetch-hardware bis 120/168 MHz eine Geschwindigkeit erzielen soll, die 0 Wait-States entspricht. Der CPU-Takt wird über einen Multiplikator aus dem internen RC-Takt oder einem externen Quarz-Takt abgeleitet.&lt;br /&gt;
* Externes Businterface (nur bei Gehäusen ab 100 Pin und nur bei STM32F4, STM32F2 und STM32F1 Performance line)&lt;br /&gt;
* LCD Treiber für 8x40 Punkte (nicht beim STM32F2xx)&lt;br /&gt;
* TFT Treiber bei STM32F429 / STM32F439&lt;br /&gt;
* Spannungsbereich 1,65 ... 3,6V, nur eine Betriebsspannung nötig&lt;br /&gt;
* Temperaturbereich bis 125 °C&lt;br /&gt;
* Bis zu 140 IOs, viele davon [[Pegelwandler|5V-tolerant]]&lt;br /&gt;
* Interner, kalibrierter RC-Oszillator mit 8MHz (16MHz bei STM32F2/F4xx)&lt;br /&gt;
* Externer Quarz&lt;br /&gt;
* Real Time Clock mit eigenem Quarz und separater Stromversorgung&lt;br /&gt;
* Bis zu 16 [[Timer]], je Timer bis zu 4 IC/OC/PWM Ausgänge. Davon 2x Motion Control Timer (bei STM32F103xF/G)&lt;br /&gt;
* Systick Counter&lt;br /&gt;
* Bis zu 3 12-Bit [[AD-Wandler]] mit insgesamt 24 AD-Eingängen, integrierter [[Temperatursensor]], Referenzspannung Vrefint und VBatt Spannungsmessung (STM32F4xx)&lt;br /&gt;
* Bis zu 2 12-Bit [[DA-Wandler]] (bis zu 3 beim STM32F3xx)&lt;br /&gt;
* Bis zu 2 [[DMA]] Controller mit bis zu 12 Kanälen (16 beim STM32F2/4xx)&lt;br /&gt;
* Bis zu 2x [[I2C|I²C]]&lt;br /&gt;
* Bis zu 5x [[UART|USART]] mit LIN, IrDA und Modem Control (bis zu 8 beim STM32F2/F4xx)&lt;br /&gt;
* Bis zu 3x [[SPI]] (bis zu 6 beim STM32F4xx)&lt;br /&gt;
* Bis zu 2x [[I2S|I²S]]&lt;br /&gt;
* Bis zu 2x [[CAN#STMicroelectronics STM32 (Cortex M3/M4)|CAN]]&lt;br /&gt;
* Hardware [[CRC]] Unit, bei der STM32F3xx Serie mit einem einstellbaren Polynom &lt;br /&gt;
* Unique device ID register (96 Bits)&lt;br /&gt;
* RNG - Random Number Generator (STM32F2/4xx)&lt;br /&gt;
* Cryptographic Processor (CRYP) (STM32F2/4xx)&lt;br /&gt;
* Hash Processor (HASH) (STM32F2/4xx)&lt;br /&gt;
* Kamera-Interface (DCMI) (STM32F2/4xx)&lt;br /&gt;
* [[USB]] 2.0 Full Speed / OTG&lt;br /&gt;
* [[USB]] 2.0 Hi Speed OTG mit extra PHY-Chip (STM32F2/4xx)&lt;br /&gt;
* SDIO Interface (z.B. SD-Card Reader)&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Watchdog mit Window-Mode&lt;br /&gt;
* Jedes Peripheriemodul ist separat einschaltbar, wodurch sich erheblich [[Ultra low power|Strom sparen]] lässt&lt;br /&gt;
* [[JTAG]] und SWD (Serial Wire Debug) Interface&lt;br /&gt;
* Bis zu 6 Hardware-Breakpoints für Debuggen&lt;br /&gt;
* und vieles mehr . . .&lt;br /&gt;
&lt;br /&gt;
== Struktur der Dokumentation: ==&lt;br /&gt;
Die Dokumentation der STM32 ist zwar umfangreicher und komplexer z.B. die der [[AVR]], enthält aber dennoch alle nötigen Informationen. Sie teilt sich auf in mehrere Dokumente.&lt;br /&gt;
Als Beispiel der Dokumentation soll stellvertretend der [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164486 STM32F103RC] genannt werden. Die Seite von ST beinhaltet alle nötigen Informationen passend zu diesem Prozessor.&lt;br /&gt;
&lt;br /&gt;
Diese Dokumente von ST beschreiben den Controller:&lt;br /&gt;
&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00191185.pdf STM32F103xC/D/E Datasheet] sind die speziellen Eigenschaften einer bestimmten Modellreihe beschrieben und die exakten Daten und Pinouts aufgeführt, sowie die Zuordnung Chipname - Flash/RAM-Größe. Die Peripheriemodule werden nur aufgeführt, nicht detailliert beschrieben.&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/CD00171190.pdf Reference Manual (RM0008)] sind alle Peripheriemodule der jeweiligen STM32-Controllerfamilie im Detail beschrieben.&lt;br /&gt;
* Das [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0403c/index.html ARMv7M Architecture Reference Manual] beschreibt detailliert den Prozessorkern, wie das Exception Model, die CPU Instruktionen inklusive Encoding, etc.&lt;br /&gt;
* Das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00228163.pdf STM32 Cortex-M3 Programming Manual] ist eine Zusammenfassung des ARMv7M Architecture Reference Manual bezogen auf die STM32.&lt;br /&gt;
* Wer nicht die ST Firmware-Library verwendet, der benötigt zusätzlich das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00283419.pdf Flash Programming Manual] für die Betriebsart des Flash-ROMs, d.h. die frequenzabhängige Konfiguration der Waitstates.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich sollten auch die [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00197763.pdf Errata Sheets] beachtet werden. Empfohlen sei auch die Appnote &amp;quot;[http://www.st.com/web/en/resource/technical/document/application_note/CD00164185.pdf AN2586 Getting started with STM32F10xxx hardware development]&amp;quot;.&lt;br /&gt;
Die jeweiligen Dokumentations-PDFs sind auf der Produktseite von ST eines jeden Mikrocontrollers verlinkt.&lt;br /&gt;
&lt;br /&gt;
== Hardware Zugriffs-Libraries ==&lt;br /&gt;
=== CMSIS ===&lt;br /&gt;
&lt;br /&gt;
Die CMSIS (ARM® &#039;&#039;&#039;C&#039;&#039;&#039;ortex™ &#039;&#039;&#039;M&#039;&#039;&#039;icrocontroller &#039;&#039;&#039;S&#039;&#039;&#039;oftware &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;S&#039;&#039;&#039;tandard) ist eine Library von ARM für den Zugriff auf die herstellerübergreifenden Funktionen des ARM-Cores. Hierzu gehört bei den Cortex-M4F-Cores auch die DSP und Floating-Point Funktionalität. Weiterhin existieren eine Zahl von Helferfunktionen für den NVIC, den Sys-Tick-Counter, sowie eine SystemInit-Funktion, welche sich um die PLL kümmert. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen des CMSIS-Standards ([http://www.onARM.com www.onARM.com]) wurden die Headerdateien standardisiert, der Zugriff auf die Register erfolgt per &#039;&#039;&#039;Peripheral-&amp;gt;Register&#039;&#039;&#039;. Die CMSIS C-Dateien bzw. Header enthalten auch Anpassungen für die verschiedenen Compiler. Die Portierung eines Real-Time-Betriebsystems sollte unter Verwendung der CMSIS, für Chips der verschiedenen Hersteller, stark vereinfacht möglich sein (z.B. einheitliche Adressen für Core-Hardware/Sys-Tick-Counter).&lt;br /&gt;
&lt;br /&gt;
Die CMSIS ist im Download der ‎STM32 Standard Peripheral Library enthalten. Die Compiler-Hersteller liefern eine jeweils zur ihrer Tool-Version passende bzw. geprüfte Library (incl. CMSIS) aus. Diese Libs können, gegenüber den Downloads beim Chip-Hersteller, auch ältere Version beinhalten.&lt;br /&gt;
&lt;br /&gt;
=== ‎STM32 Standard Peripheral Library ===&lt;br /&gt;
&lt;br /&gt;
ST bietet für jede Controller Familie eine umfangreiche zur CMSIS passende Peripherie-Bibliothek. Alle Funktionen um die Peripherie zu benutzen sind gekapselt in einfache Strukturen und Funktionsaufrufe. Somit muss man sich nicht selbst um die Peripherie-Register kümmern. Diese Library und ihre Dokumentation setzen das grundlegende Verständnis der Funktion des jeweiligen Peripheriemoduls voraus, wie es die o.a. Referenz und diverse Appnotes vermitteln. Die Library beinhaltet außerdem für fast jede Peripherie mehrere Beispiele.&lt;br /&gt;
Für die USB Schnittstelle gibt es noch eine extra Library, genauso wie für Ethernet.&lt;br /&gt;
&lt;br /&gt;
Auf der &amp;quot;Design Resources&amp;quot; Seite der Produktseite von ST eines jeden STM32 Mikrocontrollers kann die Library für den jeweiligen Controller heruntergeladen werden, z.B. [http://www.st.com/web/en/catalog/tools/PF257890 hier] für den o.g. STM32F103RC.&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
Zur Programmierung der STM32 gibt es verschiedene Möglichkeiten, sowohl kommerzielle proprietäre als auch mit Freier Software.&lt;br /&gt;
&lt;br /&gt;
Der GCC (in seinen verschiedenen Binärdistributionen) ist der einzige ARM Compiler der [http://de.wikipedia.org/wiki/C%2B%2B11 C++11] unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Freie Software/Freeware ===&lt;br /&gt;
==== Selber zusammenstellen ====&lt;br /&gt;
Man nehme...:&lt;br /&gt;
* Eine Entwicklungsumgebung nach Wahl:&lt;br /&gt;
** [http://www.eclipse.org Eclipse] mit [http://www.eclipse.org/cdt/ C/C++ Development Tooling] und [http://gnuarmeclipse.livius.net/blog/ GNU ARM Plug-in] (Bei Verwendung vom GCC-ARM-Embedded als Toolchain &amp;quot;Sourcery G++ Lite&amp;quot; auswählen, dieser sieht für eclipse gleich aus) (Linux, Windows)&lt;br /&gt;
** [http://netbeans.org/ Netbeans] mit [http://plugins.netbeans.org/plugin/37426/gdbserver GDBserver-Plugin] (Linux, Windows)&lt;br /&gt;
** [http://www.kdevelop.org/ KDevelop] (Linux)&lt;br /&gt;
** [http://www.geany.org/ Geany] (Linux, Windows)&lt;br /&gt;
** Oder ein einfacher Texteditor&lt;br /&gt;
* Einen C,C++ Compiler:&lt;br /&gt;
** Eine der [[ARM_GCC#GCC_Bin.C3.A4rdistributionen|GCC-Binärdistributionen]], siehe auch [[#GCC|GCC]] (je nach Distribution Linux, Windows)&lt;br /&gt;
* Programmiersoftware zum Flashen des Target:&lt;br /&gt;
** [http://openocd.sourceforge.net/ OpenOCD] unterstützt viele Debug/Programmier-Adapter (Linux, Windows)&lt;br /&gt;
** [https://github.com/texane/stlink Texane stlink] funktioniert gut mit den ST-Link Adaptern wie sie zB. auf den STM32 Discovery Boards zu finden sind (Linux)&lt;br /&gt;
** Turtelizer2 oder andere JTAG Programmieradapter&lt;br /&gt;
** Bei Verwendung eines Segger J-Link, den [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf Segger GDB-Server] in Verbindung mit dem beim GCC mitgelieferten GDB (Linux, Windows)&lt;br /&gt;
&lt;br /&gt;
==== Komplette IDE&#039;s ====&lt;br /&gt;
* [http://www.codesourcery.com/sgpp/lite_edition.html Codesourcery Lite Edition]&lt;br /&gt;
* [http://www.coocox.org/ Coocox Eclipse IDE] kostenlose IDE für STM32F0 / F1 / F4 Hilfreiche Infos gibt es im [http://www.mikrocontroller.net/topic/214719?goto=new#2228482 hier] und [http://www.mikrocontroller.net/topic/214719?goto=new#2229943 hier] Forum&lt;br /&gt;
* [http://emide.org/ emIDE] kostenlose IDE die mit dem Segger J-LINK funktioniert.&lt;br /&gt;
* [http://www.emblocks.com EmBlocks] kostenlose IDE, Code::Blocks basiert, unterstützt STM32 L1/F0/F1/F2/F3/F4/W, integrierter GDB Debugger, Jlink/ST-Link, System view (Peripherie Register anzeigen) beim Debuggen, Project Wizzard&lt;br /&gt;
&lt;br /&gt;
=== Kommerzielle Umgebungen ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp Keil µVision] (Demo max. 32KB Code): Die sehr komfortable µVison IDE ist neben dem ARM Compiler per Menue auch für einen beliebigen GNU-Compiler konfigurierbar. Damit besteht das 32k-Limit nur noch für den integrierten Debugger / Simulator. µVison selbst kann kostenlos mit dem MDK-Evaluationkit heruntergeladen werden. [https://www.keil.com/arm/demo/eval/arm.htm#DOWNLOAD download]&lt;br /&gt;
* [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR-Embedded-Workbench] (Demo max. 32KB Code) [http://supp.iar.com/Download/SW/?item=EWARM-EVAL download]&lt;br /&gt;
* [http://www.isystem.com/products/itag winIDEAiTag] Keine Code Limitierung, GCC und Testwerkzeug beinhaltet. Läuft mit dem iTag Adapter.&lt;br /&gt;
* [http://www.raisonance.com Raisonance Ride7] (GCC Compiler, kostenlose Version auf Debugging von max. 32KB Code limitiert, keine Limitierung beim Complilieren)&lt;br /&gt;
* [http://www.atollic.com Atollic] (Lite Version (bis V2.3.0) ohne Code-Limit, auf GCC basierend. Die neueste Version ab V3 hat fast keine Beschränkungen mehr außer jetzt einen Code-Limit von 32kB. Außerdem werden jetzt die meisten ARM Familien unterstützt. )&lt;br /&gt;
* [http://www.rowley.co.uk/arm/ Rowley Crossworks] (Demo 30 Tage unbeschränkt, 150$ für nichtkommerzielle Nutzung, auf GCC basierend)&lt;br /&gt;
* [http://www.code-red-tech.com Code Red] (GCC basierend)&lt;br /&gt;
* [http://www.sisy.de/index.php?id=17&amp;amp;no_cache=1 SiSy ARM oder SiSy Micrcontroller++] (Demo verfügbar keine Gößenbegrenzung, basiert auf GNU-Compiler, grafische Programmierung mit UML möglich, integrierter Debugger)&lt;br /&gt;
* [http://www.comsytec.eu/epsdebugger.php EPS Debugger Plugin, für STM32 Development mit Code::Blocks]&lt;br /&gt;
&lt;br /&gt;
=== Tutorials für diverse Tool-Kombinationen ===&lt;br /&gt;
[[STM32 Eclipse Installation|Windows,Linux, Eclipse + Yagarto/CodeSourcery + OpenOCD/ST-Link]]&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
** Eclipse&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/216554 Windows, Eclipse, codesourcery, st-link ]&lt;br /&gt;
*** [http://www.firefly-power.de/ARM/debugging.html Eclipse Plugin &amp;quot;GDB Hardware Debugging&amp;quot; mit OpenOCD]&lt;br /&gt;
** Code::Blocks&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/265600 Windows, Code::Blocks, STM32F4]&lt;br /&gt;
** STM32 mit EmBlocks&lt;br /&gt;
*** [http://www.emblocks.org/web/downloads-main Download EmBlocks]&lt;br /&gt;
*** [https://www.youtube.com/watch?v=coHPJylnzC8 Video STM32 Project Wizzard in EmBlocks]&lt;br /&gt;
** Atollic TrueSTUDIO&lt;br /&gt;
*** [[STM32 LEDBlinken AtollicTrueStudio|Atollic TrueSTUDIO Installation + Demo]]&lt;br /&gt;
** MDK-ARM Lite mit Einstellungen für STM32F0/F4-Discovery Board&lt;br /&gt;
*** [https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM Download]&lt;br /&gt;
*** [https://www.youtube.com/watch?v=RXOOxby5nns&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;index=1 Installations Video STM32F4 Discovery Board]&lt;br /&gt;
*** [https://www.youtube.com/watch?annotation_id=annotation_203294&amp;amp;feature=iv&amp;amp;index=4&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;src_vid=sN4gDZ7H8gw&amp;amp;v=BeZcQjXxk9A Einstellungen STM32F0 Discovery Board Video]&lt;br /&gt;
** SiSy ARM, STM32&lt;br /&gt;
*** Download: [http://www.sisy.de/index.php?id=59 SiSy DEMO] kein Begrenzung der Codegröße&lt;br /&gt;
*** [http://www.youtube.com/watch?v=84Y3jYLWYpo Videobeispiel]&lt;br /&gt;
* Ubuntu&lt;br /&gt;
** [http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.pdf Ubuntu, eclipse, Code Sourcery, OpenOCD] ([http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.odt Das Gleiche im bearbeitbaren ODT-Format])&lt;br /&gt;
** [http://fun-tech.se/stm32/index.php Ubuntu, Selbstcompilierter GCC, STM32/Cortex-M3]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/214719 Tipps für Installation mit Eclipse]&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter===&lt;br /&gt;
* [http://www.segger.com/jlink-model-overview.html SEGGER J-LINK / J-TRACE] für u.a. alle ARM7/9/11, Cortex-M0/M1/M3/M4/A5/A8/A9/R4 als [http://www.segger.com/cms/j-link-edu.html NonComercial] J-LINK-EDU für ca. 60,- zu haben, läuft in µVision, IAR, GDB (Linux &amp;amp; Windows über einen eigenen [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf GDB-Server]), Keil, ...&lt;br /&gt;
* Keil [http://www.keil.com/ulinkme/ ULINK-ME], [http://www.keil.com/arm/ulink2/ ULINK2], [http://www.keil.com/arm/ulinkpro/ ULINK pro]&lt;br /&gt;
* [http://www.st.com/internet/evalboard/product/219866.jsp ST-LINK], [http://www.st.com/internet/evalboard/product/251168.jsp ST-LINK/V2]&lt;br /&gt;
* Jedes STM32 Discovery board hat einen ST-Link für Programmierung/Debugging per SWD on-board, welcher auch für eigene STM32 Target Hardware benutzt werden kann (ca. 12,- bis 19,-€, je nach Typ).&lt;br /&gt;
* [http://www.raisonance.com/~rlink-debugger-programmer__microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html Raisonance RLink]&lt;br /&gt;
* [http://www.amontec.com Amontec]&lt;br /&gt;
* [http://www.hjtag.com H-JTAG] Personal Edition für ca. 60,- zu haben, läuft mit ADS, SDT, IAR, Vision und RVDS &lt;br /&gt;
* [http://www.isystem.com/products/itag iTag] für 50.- bei Amazon zu bestellen, oder als Eigenbau version (offenes Design) läuft mit der freien winIDEAiTag version (siehe oben)&lt;br /&gt;
&lt;br /&gt;
In der Regel haben die [[JTAG]] Adapter einen 20-Poligen Stecker, den man direkt auf die Demo-Boards, die auch einen 20-Poligen [[JTAG]]-Anschluss haben, einstecken kann. Die Pinbelegung ist genormt, siehe Artikel [[JTAG]]. Die Discovery-Boards haben keinen seperaten JTAG-Stecker, aber zumindest für das STM32F4 Discovery kann man sich leicht einen Adapter Pinheader-&amp;gt;JTAG Stecker selber bauen.&lt;br /&gt;
&lt;br /&gt;
Andere [[JTAG]] Adapter wie z.B. der ULink von Keil funktionieren nur mit dem Keil Compiler.&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter Open-Source===&lt;br /&gt;
&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-COOCOX], CoLinkEX Nachbau von Olimex, unterstützt JTAG sowie SWD&lt;br /&gt;
** [http://www.coocox.org/colinkEx.htm unterstützte uC]&lt;br /&gt;
** unterstütze IDEs: [http://www.keil.com/arm/mdk.asp Keil MDK-ARM 4.03] oder neuer, [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR Embedded Workbench 5.xx] oder neuer sowie die [http://www.coocox.org/CooCox_CoIDE.htm CooCox CoIDE]&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ Olimex] ARM-USB-OCD (ca. 60.-, hat zusätzlich einen Spannungsausgen und einen COM Port)&lt;br /&gt;
* [http://www.oocdlink.com/ OOCDLink]&lt;br /&gt;
* [https://github.com/texane/stlink Stlink]&lt;br /&gt;
* [http://www.randomprojects.org/wiki/Floss-JTAG FLOSS-JTAG]&lt;br /&gt;
* [http://capitanio.org/mlink/ Linux Demo Code für die Discovery&#039;s ST-Link Programmierung]&lt;br /&gt;
&lt;br /&gt;
Der Controller hat auch einen fest eingebauten Boot-Lader. Damit läßt er sich auch über eine gewöhnliche serielle Schnittstelle programmieren, ohne dass man einen JTAG-Adapter benötigt. Dies erfordert ggf. entsprechende Konfiguration über die BOOTx-Pins und/oder die Option-Bytes.&lt;br /&gt;
&lt;br /&gt;
=== Demo-Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Einführung in die GPIO Programmierung der STM32F10x und STM32F30x Prozessoren am Beispiel des STM32F3 Discovery Boards und Vergleich zur AVR IO Registerstruktur [http://www.mikrocontroller.net/topic/300472#new]&lt;br /&gt;
* [[prog_bsp_timer_1_timer2|Programmbeispiel für die Verwendung von Timer2 zusammen mit dem Interrupt]]&lt;br /&gt;
* [http://www.firefly-power.de/ARM/printf.html Printf() debugging mit minimalem Aufwand]&lt;br /&gt;
* [[STM32_BLDC_Control_with_HALL_Sensor|Programmbeispiel für BLDC Motoransteuerung (Timer 1) mit HALLSensor (Timer 3)]]&lt;br /&gt;
* [[Cortex_M3_OCM3U]]&lt;br /&gt;
* Martin Thomas hat ein umfangreiches Projekt erstellt, in der die Eclipse Einstellungen enthalten sind:&lt;br /&gt;
** [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html &amp;quot;ChaN&#039;s FAT-Module with STM32 SPI&amp;quot;]&lt;br /&gt;
* [[STM32 USB-FS-Device Lib]]&lt;br /&gt;
* Modellbau-Sender auf STM32-Basis mit vielen Treibern [http://www.rcos.eu www.rcos.eu]&lt;br /&gt;
* Ausführliches [https://github.com/jkerdels/stm32edu Einstiegs-Tutorial] in Codeform für das [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4 discovery board]&lt;br /&gt;
* [http://www.redacom.ch/keillab/ Schweizer Gondelbahnsteuerung über Webserver auf ETT STM32F ARM KIT Board in Keil RTOS] mit Webcam&lt;br /&gt;
* Die [http://ethernut.svn.sourceforge.net/viewvc/ethernut/trunk/ Ethernut SVN Version] unterstützt inzwischen viele STM32 Typen, viele Devices und einige STM32 Demoboards&lt;br /&gt;
&lt;br /&gt;
== Debug- und Trace-Interface (CoreSight™ Debug and Trace Technologie)==&lt;br /&gt;
&lt;br /&gt;
Übersicht über beide Funktionalitäten und den Schnittstellen:&lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_cs_core_sight.htm&lt;br /&gt;
&lt;br /&gt;
Die Coresight-Debug-Architektur ermöglicht ein nicht-invasives Debugging, d.h. es können während des Betriebes (meistens) ohne Beeinflussung des Prozessors Daten vom Speicher gelesen und in selbigen geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Debugger Funktionen ===&lt;br /&gt;
&lt;br /&gt;
Der Debugger-Teil besitzt drei Funktionen:&lt;br /&gt;
* Run Control: z.B. Programm-Start, Stopp und Einzel-Schritte.&lt;br /&gt;
* (Program) Break Points: Ein Programm hält an, wenn der Programm Counter eine bestimmte Programm-Adresse erreicht.&lt;br /&gt;
** Die maximale Anzahl der gleichzeitig möglichen Break Points ist begrenzt (z.B. 6 bei einem STM32).&lt;br /&gt;
** Die Anzahl der Break Points ist nahezu unbegrenzt, wenn ein Debugger über den Memory Access (s.u.) sogenannte Flash Break Points unterstützt. Dabei wird ein geladenes Programm im Flash umprogrammiert, um den Debugger anzuhalten. Diese Funktionalität ist meistens ein kostenpflichtiges Zusatz-Feature des Debugger-Herstellers. &lt;br /&gt;
** Beinhaltet keine Data Watch Funktionalität, welche im Trace-Teil (DWT) realisiert wird.&lt;br /&gt;
* Memory Access: Lesen und Schreiben von Speicheradressen. &lt;br /&gt;
** Diese Funktionalität beinhaltet keine direkte Flash-Programmierung. Der Programmiervorgang für einen Flash ist herstellerspezifisch und muss von dem verwendeten Debugger unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
=== Trace Funktionen ===&lt;br /&gt;
Die Trace-Funktionalität wird in drei Funktionen aufgeteilt:&lt;br /&gt;
* ETM (Embedded Trace Macrocell): Optional, nicht jede CPU besitzt diese Hardware (Kostenfaktor, Austattung).&lt;br /&gt;
* ITM (Instrumentation Trace Macrocell): Über diesen Kanal kann ein vereinfachtes Trace des Core ermöglicht werden, sowie &amp;quot;printf-ähnlich&amp;quot; Daten über den ITM Channel 0 geschickt und im Debugger ausgegeben werden.&lt;br /&gt;
* DWT (Data Watchpoint &amp;amp; Trace Unit): &lt;br /&gt;
** Data Watch: 4 Access-Break-Points ( z.B. der Debugger bleibt stehen, wenn das Programm auf einen Speicher zugreift oder der Wert einer Variablen einen bestimmten Wert annimmt). &lt;br /&gt;
** Trace Unit: Programmverlauf (durch Lesen des Program Counters) und Interrupt Aufrufe verfolgen, sowie Zeitmessungen.&lt;br /&gt;
&lt;br /&gt;
Einige der Trace-Funktionalitäten können über die JTAG-Schnittstelle angesprochen werden. Die schnelle Trace-Funktionalität (mit 4 bit Parallel-Port) steht nur mit der erweiterten DEBUG + ETM Schnittstelle zur Verfügung. Im Gegensatz zum Debugger-Teil (Run Control, Break Points und Memory Access) werden Trace-Funktionen nicht von allen Debuggern unterstützt. Debugger mit der vollen Trace-Funktionalität kosten deutlich mehr.&lt;br /&gt;
&lt;br /&gt;
* Beispiele für Trace-Port-Aktivierungen für verschiedene Hersteller: http://www.keil.com/support/man/docs/jlink/jlink_capture_tracedata.htm&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung des parallelen Trace-Ports erfordert, je nach CPU Hersteller, zusätzliche Debugger-Makros für die Aktivierung und Port-Freischaltung. Zusätzlich sind die Schnittstellenauswahl und Einstellung (Frequenzen) im Entwicklungs-Tool (IDE) wichtig, um erfolgreich den Programm-Verlauf &amp;quot;tracen&amp;quot; zu können.&lt;br /&gt;
&lt;br /&gt;
=== Debug und Trace-Schnittstellen ===&lt;br /&gt;
Als Debug Interface stehen zwei Varianten zur Auswahl:&lt;br /&gt;
* [[JTAG]]: Dafür sind mindestens 6 Steuerleitungen nötig. Unterstützt Device Chaining: Mehrere verbundene Geräte können mit einem Debugger/Programmer gleichzeitig angesteuert werden.&lt;br /&gt;
* SWD (Serial Wire Debug): Hier mindestens 2  Steuerleitungen (3 mit SWO, zzgl GND und 3,3V). Die SWD Schnittstelle ist in der Regel schneller und kann auch Funktionen aus dem Trace-Teil beinhalten (z.B. ITM, dafür wird der SWO-Pin benötigt). Device Chaining ist mit dieser Schnittstelle nicht möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standard-JTAG Steckerbelegungen: &lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm&lt;br /&gt;
&lt;br /&gt;
=== Der 10polige JTAG-Stecker von mmvisual ===&lt;br /&gt;
mmvisual hat mit dieser Steckerbelegung die Standard JTAG Schnittstelle erweitert:&lt;br /&gt;
&lt;br /&gt;
Ich habe diesen Part in den Artikel [http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual JTAG] verschoben.&lt;br /&gt;
Hinzu gekommen ist die Adapterplatine 10-Polig auf Standard JTAG 20 Polig mit TTL/V24 Wandler. [http://www.mikrocontroller.net/articles/JTAG#Die_Adapterplatine Siehe hier.]&lt;br /&gt;
&lt;br /&gt;
== Hardware-Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Der STM32 benötigt für den Betrieb nur (Minimalbeschaltung):&lt;br /&gt;
&lt;br /&gt;
* VCC 2..3,3V (je nach Typ)&lt;br /&gt;
* AVCC 2..3,3V (sehr wichtig, der STM32 lässt sich ohne diese Spannung nicht programmieren)&lt;br /&gt;
* GND&lt;br /&gt;
* Reset Pin 100nF nach GND (ein Pull-Up Widerstand von ca. 40k ist intern vorhanden)&lt;br /&gt;
* [[#Bootmodi|Boot-Pins]]&lt;br /&gt;
&lt;br /&gt;
ansonsten nur ein paar einzelne Cs 100nF an VCC/GND.&lt;br /&gt;
&lt;br /&gt;
Um Programmieren zu können wird entweder noch die serielle Schnittstelle (Programmieren über den vorprogrammierten Bootloader) oder JTAG oder die SWD Schnittstelle benötigt.&lt;br /&gt;
&lt;br /&gt;
=== Bootmodi ===&lt;br /&gt;
Unterschiedliche Bootmodi lassen sich mittels der PINs BOOT0 und BOOT1 auswählen . Siehe Application Note [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/18225/AN2606.pdf AN2606].&lt;br /&gt;
&lt;br /&gt;
==== Boot from FLASH ====&lt;br /&gt;
Startadresse wird von 0x08000004 geladen&lt;br /&gt;
 BOOT0 Lo&lt;br /&gt;
 BOOT1 X &lt;br /&gt;
&lt;br /&gt;
==== Boot from SRAM ====&lt;br /&gt;
PC Startadresse wird an 0x200001E0 direkt angesprungen.&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Hi&lt;br /&gt;
Da der interne FLASH der stm32f1x laut Datenblatt nur für 1000 Schreibvorgänge ausgelegt ist, kann mittels BOOT0 (High) und BOOT1 (High) auch aus dem zuvor mit dem Debugger (JTAG/SWD) beschriebenen SRAM booten. &lt;br /&gt;
Hierbei gilt zu beachten:&lt;br /&gt;
 VTOR auf die NVIC Tabelle im SRAM vor dem auslösen des ersten Interrupts remappen.&lt;br /&gt;
&lt;br /&gt;
 Um ein vergleichbares Startverhalten zum FLASH zu erreichen, empfiehlt es sich,&lt;br /&gt;
 0xF1E0F85F an 0x200001E0 zu schreiben. Diese implizite Ausführung von &amp;quot;ldr.w pc,&lt;br /&gt;
 [pc, #-0x01E0]&amp;quot; beim Start erzwingt ein laden der Startadresse von 0x20000004.&lt;br /&gt;
&lt;br /&gt;
==== Boot from SYSMEM (RS232, CAN und USB) ====&lt;br /&gt;
PC Startadresse wird von 0x1FFFF004 geladen&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Lo&lt;br /&gt;
Auch ohne JTAG lässt sich ein STM32 programmieren (Bootloader-Aktivierung). Dabei stehen, je nach CPU-Typ, verschiedene Möglichkeiten zur Verfügung:&lt;br /&gt;
* RS-232 (bisher alle STMs)&lt;br /&gt;
* USB (nur in bestimmten MCUs mit entsprechender Bootloader-Version und PIN-Anzahl, z.B. STM32F105/107)&lt;br /&gt;
* CAN (wie USB nur in bestimmten MCUs)&lt;br /&gt;
&lt;br /&gt;
3 zusätzliche Verbindungen müssen auf dem Board gepatcht werden. Für einen Test geht es auch mit Tastern für RESET und BOOT0.&amp;lt;br&amp;gt;&lt;br /&gt;
RESET=RTS (L-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT0=DTR (H-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT1=LOW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Details sind hier im Forum: [http://www.mikrocontroller.net/topic/141711 STM32 Programmiertool]&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
=== Vorteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber ARM7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Interrupt-Controller jetzt Teil des Prozessors (als Core Peripheral), die Vector Table ist jetzt eine echte Vektortabelle, keine Sprungliste wie bei ARM7. Durch Automatismen zwischen Core und NVIC (auto register save r0..r3, lr, sp, pc) bei Interrupt Entry wird eine deutlich schnellere Ausführungszeit bei Interrupts erreicht. Der Interrupt Code muss sich nicht mehr selbst um die Sicherung der o.g. Register kümmern und eine besondere Konfiguration der Handler im Compiler entfällt. Sind vor Beendigung einer ISR (d.h. Rücksprung zum User Code) weitere Interrupts pending, so werden diese ausgeführt, ohne dass eine komplette pop-push-sequenz der Register notwendig ist. Schön beschrieben ist es hier im [http://www.st.com/mcu/files/mcu/1221142709.pdf Insider&#039;s Guide] unter 2.4.5 / Seite 20.&lt;br /&gt;
* Thumb-2 Befehlssatz, deutlich schneller als Thumb-1 und ebenso kompakt&lt;br /&gt;
* Weniger Pins für Debugging benötigt durch SWD&lt;br /&gt;
* Mehr Hardware Breakpoints machen debuggen einfacher&lt;br /&gt;
* Software ist einfacher weil die Umschaltung zwischen ARM Mode und Thumb Mode wegfällt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber LPC1700 und LPC1300:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Flexiblere Gehäuseformen mit mehr Peripherie bei kleinen Gehäusen&lt;br /&gt;
* FW-Lib für alle STM32 gleich, alle AppNotes/Demos beziehen sich auf diese eine FW-Lib was die Entwicklung der eigenen Applikation sehr beschleunigt.&lt;br /&gt;
* Genauerer und flexiblerer ADC, insbesondere gegenüber LPC1300&lt;br /&gt;
* Flexiblere Varianten der Peripherie &amp;gt;&amp;gt; bei weniger einen deutlichen Preisvorteil&lt;br /&gt;
* ab 0,85 EUR (Stand 2010) Allerdings gibts den LPC1100 mit Cortex-M0 schon ab 0,65 $!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber SAM3/4:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fast alle Pins sind 5-Volt tolerant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber anderen &amp;quot;Kleinen&amp;quot; wie z.B. PIC, Atmel usw.&#039;&#039;&#039;&lt;br /&gt;
* nahezu gleicher Preis bei Hobby Anwendungen&lt;br /&gt;
* 32 Bit ohne Umwege in Assembler rechenbar&lt;br /&gt;
* Schnelle direkte Offset-Adressierung ermöglich effizienten Zugriff auf Stack-Variablen, lokal gespeicherte Flash-Konstanten, struct/Array-Elemente&lt;br /&gt;
* Einfache einheitliche Adressierung des gesamten Adressraums, d.h. Pointer auf Peripherieregister, RAM &amp;amp; Flash können exakt gleich behandelt werden, keinerlei Banking/Umschalt-Mechanismen erforderlich auch bei großem Flash/RAM&lt;br /&gt;
* Interrupt-Prioritäten und Prioritätsgruppen&lt;br /&gt;
* Effiziente Pointerarithmetik da Registerbreite=Adressbreite&lt;br /&gt;
* bessere Peripherie wie USB, Ethernet, Vielzahl an Timern&lt;br /&gt;
* der ARM-Core hat eine höhere Taktfrequenz und kann gleichzeitig mehr in weniger Takten berechnen&lt;br /&gt;
* Hardware-Division, bei einigen FPU zur effizienten float-Berechnung&lt;br /&gt;
* Mit größerem Flash/RAM verfügbar&lt;br /&gt;
* Code kann direkt aus dem RAM ausgeführt werden, Speicherschutz und privilegierter Ausführungsmodus können &amp;quot;Kernel&amp;quot;- vor &amp;quot;Anwendungs&amp;quot;-Code schützen, somit wird das dynamische Nachladen von Anwendungen aus externem Speicher effizient &amp;amp; sicher möglich&lt;br /&gt;
* ... und weitere 1000 Punkte ...&lt;br /&gt;
&lt;br /&gt;
=== Nachteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil gegenüber LPC1700:&#039;&#039;&#039;&lt;br /&gt;
* STM32F1xx: nur 72 MHz statt 100 MHz (LPC1759: 120 MHz) Taktfrequenz; STM32F2xx hat diesen Nachteil nicht (ebenfalls 120MHz, STM32F4xx mit 168MHz) (Aber NXP hat schon 150MHz angekündigt)&lt;br /&gt;
* Der LPC1700 besitzt deutlich mehr Mechanismen, um die Auswirkung der Waitstates des Flash-ROMs auf Code- und Datenzugriffe zu reduzieren und das bedeutet mehr Performance bei gleicher Taktfrequenz. Beim STM32F2 entfällt dieser Nachteil wohl aufgrund des ART accelerators. &lt;br /&gt;
* Alle LPC1xxx haben 32 Bit Timer. Bei den STM32 haben das nur die STM32F2xx (2 Stück)&lt;br /&gt;
* I2S Einheit von ST hat keinen FIFO und im 24/32Bit Modus müssen 2x16Bit Halbwörter übertragen werden. Wobei allgemein bei neuen ARM Prozessoren die vorhandenen DMA-Kanäle (basierend auf eigenen BUS-Kanälen und Speicherzugriffen) FIFO in beliebiger Größe bedeutet. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil für Hobby-Anwender&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Nicht direkt &amp;quot;Steckbrettauglich&amp;quot;, da kein DIL Gehäuse verfügbar. Der ebay-Shop dipmicro führt jedoch sehr günstige Lötadapter für Umsetzung von LQFP48 auf DIP48. QFP64 in 0.5mm Pinabstand und nicht 0.8mm wie AVR&lt;br /&gt;
&lt;br /&gt;
* Viel Peripherie, Clocks müssen alle richtig eingestellt werden, ggf. Anpassung des Startup Codes usw.&lt;br /&gt;
** =&amp;gt; Daher nicht besonders gut für Mikrcontroller Anfänger/Einsteiger geeignet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Errata, Tipps und Tricks ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* AD-Wandler PA0: Im Errata steht, dass hier Fehler in der Wandlung entstehen könnten, also einen anderen Pin verwenden.&lt;br /&gt;
* CAN-Bus PD0/PD1: Remap geht erst ab der 100-Pin-Version. Steht im RM0008 unter 9.3.3.: &amp;quot;CAN1 alternate function remapping&amp;quot;. Alle Infos von RM0008 9.3.x sind interessant&lt;br /&gt;
* CAN und USB sind bei der F1 Serie nur bei der &amp;quot;◦Connectivity-Line&amp;quot; gleichzeitig nutzbar. Siehe Datenblätter.&lt;br /&gt;
* Mit internem RC-Oszillator kann die CPU mit maximal 64MHz betrieben werden. Mit einem externen Quarz sind dann 72MHz möglich.&lt;br /&gt;
* Für USB Betrieb muss die CPU mit 48MHz oder 72MHz betrieben werden (bei STM32F1xx).&lt;br /&gt;
* Der Idle Interrupt vom Usart wird zwar ausgelöst, aber nicht vom entsprechenden Statusflag angezeigt&lt;br /&gt;
* Der DMA fängt beim aktivieren immer von vorn an zu zählen, auch wenn er nur kurz angehalten wurde&lt;br /&gt;
* STM32F2xx hat kein Flash Size Register, bei STM32F4xx ist zwar ein flash Size Register beschrieben, kollidiert aber in der Adresse mit einem anderen Register&lt;br /&gt;
* Derivate mit internem EEPROM und nur einer Speicherbank haben das &amp;quot;Feature&amp;quot; bei write/erase des Data-Flashes (EEPROM) einen kompletten stall der code execution zu verursachen (inkl. ISR&#039;s, DMA). Desgleichen bei write/erase des internen Flash (ISP-routinen, EEPROM-Emulation).&lt;br /&gt;
* Der I2C hat diverse Fehler, welche im Errata des jeweiligen Modells (z.B. [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00238166.pdf STM32F105xx and STM32F107xx Errata sheet] ) zu finden sind. Workarounds hierzu finden sich in der Application Note [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00209826.pdf AN2824]&lt;br /&gt;
* [http://blog.frankvh.com/category/stm32/ weitere undokummentierte Features]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== GCC ====&lt;br /&gt;
Um den GCC direkt zu verwenden (zB. mit selbstgebautem makefile), falls man das nicht von einer Entwicklungsumgebung machen lässt, siehe zunächst [[ARM GCC]]. STM32-spezifisches ist:&lt;br /&gt;
* Wird die [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] und ein Quarz verwendet, so muss noch per Präprozessor-Definition die Frequenz des Quarzes angegeben werden mittels z.B. -DHSE_VALUE=8000000 für 8MHz (wie auf dem STM32F4 Discovery).&lt;br /&gt;
&lt;br /&gt;
===== Startupcode &amp;amp; Linkerscript =====&lt;br /&gt;
* Damit der compilierte Code an den richtigen Stellen im Controller landet (d.h. dem Flash) muss man dem Linker ein Linkerscript mitgeben. Dies geht per &amp;quot;-T &#039;&#039;pfad_zum_linkerscript.ld&#039;&#039;&amp;quot; an den Linker-Befehl. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Linkerscript für die Atollic TrueSTUDIO IDE, dieses kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich das Script im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM324x7I_EVAL/stm32_flash.ld&amp;quot; des Archives.&lt;br /&gt;
* Damit beim Starten die richtigen Initialisierungen vorgenommen werden (wie globale Variablen und bei C++ Konstruktoren globaler Objekt-Instanzen) muss als erstes ein Startupcode laufen, der dann die main()-Funktion aufruft. Der Startupcode ist meistens in Assembler geschrieben, C-Code ist aber auch möglich. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Startupcode für die Atollic TrueSTUDIO IDE, dieser kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich der Code in Assemblerform im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO/startup_stm32f40xx.s&amp;quot; des Archives. Der Assemblercode kann per arm-none-eabi-as (Flags s.o.) assemblisiert werden, die resultierende .o -Datei normal mitgelinkt.&lt;br /&gt;
&lt;br /&gt;
Zusammen bieten die beiden Dateien der Anwendung ein Standard-C-Interface, d.h. man kann wie gewohnt globale Variablen verwenden und seinen Code in die main()-Funktion schreiben.&lt;br /&gt;
&lt;br /&gt;
=== Tipps für Umsteiger von Atmel/PIC/8051 ===&lt;br /&gt;
* Prozessortakt hat unterschiedliche Taktquellen und eine PLL.&lt;br /&gt;
* Alle Peripheriemodule haben einen extra Clock, den man aktivieren muss.&lt;br /&gt;
* Wenn man z.B. einen UART benutzen möchte, so muss man den Clock vom UART, Alternate Function IO (AFIO) und dem GPIO-Port aktivieren.&lt;br /&gt;
* Ansonsten hat man nahezu doppelt so viele Möglichkeiten in den Peripheriemodulen.&lt;br /&gt;
* Interrupt-Flags müssen in der ISR selber gelöscht werden&lt;br /&gt;
* Forum zu [http://www.mikrocontroller.net/topic/175888 Interrupts vs. Events]&lt;br /&gt;
&lt;br /&gt;
=== Errata vom STM32F4xx die nicht im Errata von ST stehen ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267439#2788478 Aktivieren von DMA], wenn mehr als 3 DMA Kanäle aktiviert werden, kann es sein dass die nicht alle korrekt bedient werden. Auch klappt der DMA mit dem FSMC nicht immer zuverlässig. [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FWarning%20limit%20simultaneous%20DMAs%20to%202&amp;amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;amp;currentviews=811 siehe hier] [http://blog.frankvh.com/2012/01/13/stm32f2xx-stm32f4xx-dma-maximum-transactions/ und hier]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/260637#2700761 Nerviger Bug in &amp;quot;stm32f4xx.h&amp;quot;] Änderung Struktur GPIO_TypeDef&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/261690#2714754 Batterie wird leer gezogen], nur bei manchen Chips mit Rev. A&lt;br /&gt;
* [http://www.efton.sk/STM32/STM32F4xx_doc_errors.txt Liste von Dokumentations-Fehlern]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://www.reichelt.de/STM-Controller/2/index.html?;ACTION=2;LA=2;GROUPID=2950; Reichelt]&lt;br /&gt;
* [http://darisusgmbh.de/shop/index.php?cat=c2692_ARM-Cortex.html Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE (Farnell Programm für Private)] &lt;br /&gt;
* [http://www.sander-electronic.de/be00069.html Sander]&lt;br /&gt;
*[http://www.tme.eu/de/katalog/index.phtml#cleanParameters%3D1%26search%3DSTM32F10%26bf_szukaj%3D+ TME] &lt;br /&gt;
*[http://teske-electronics.de/index.php?cPath=3_9_53 Teske electronics]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/prozessoren-und-mikrocontroller/mikrocontroller/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294417325&amp;amp;lastAttributeSelectedBlock=4294425895 RS-Online]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gewerblich liefern natürlich viele wie EBV, Mouser, Farnell, Digikey usw...&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=gruppe&amp;amp;id=14 Im Shop von Embedded Projects]&lt;br /&gt;
* [http://www.watterott.com/de/Boards-Kits/ARM/ARM-Cortex-M3 Cortex M3 bei Watterott]&lt;br /&gt;
* [http://www.raisonance.com/~primer-starter-kits__microcontrollers__tool~tool__T018:4enfvamuxbtp.html Primer und Primer2 von Raisonance]&lt;br /&gt;
* [http://www.sander-electronic.de/es0028.html Sander Electronic]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/MP32F103-Stick:_Ein_Mini-Mikrocontroller-Board_mit_USB_und_bis_zu_4MB_Datenspeicher Artikel im Wiki, ARM mit USB und 4MB Speicher]&lt;br /&gt;
* [http://www.futurlec.com/STM32_Development_Board.shtml Futurlec Evalboard, ebenso Header-Board]&lt;br /&gt;
* [http://www.propox.com/products/t_174.html Propox, Header-Boards für 103R und 103V sowie Trägerplatine dafür]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Cortex_M3_OCM3U Cortex M3 Artikel im Wiki]&lt;br /&gt;
* [http://olimex.com/dev/index.html STM32 bei Olimex]&lt;br /&gt;
* [http://de.farnell.com/jsp/displayProduct.jsp?sku=1824325&amp;amp;action=view&amp;amp;CMP=GRHS-1000962 STM32Discovery bei Farnell] Mikrocontroller Board (STM32F100RBT6B) mit onboard USB-Programming Interface für ca. 12,50€&lt;br /&gt;
* [http://www.de.rs-online.com/web/p/products/7458434/ STM32Discovery bei RS-Components] 12,65 € +MwSt.&lt;br /&gt;
* [http://www.segor.de/#Q=STM32 VL DISCOVERY] STM32 Discovery bei Segor&lt;br /&gt;
* [http://www.watterott.com/de/STM32F4Discovery STM32F4DISCOVERY] STM32F4 Cortex M4 Controller mit JTAG-Debugger auf der Platine bei Watterott für 16,66EUR.&lt;br /&gt;
* [http://www.mcu-raisonance.com/~open4-development-platform__microcontrollers__tool~tool__T018:g65gu6ghg2n.html/ Open 4 oder auch genannt Evo-Primer]&lt;br /&gt;
* [http://www.wayengineer.com/index.php?main_page=index&amp;amp;cPath=50_66&amp;amp;page=1&amp;amp;sort=3a WayEngineer]&lt;br /&gt;
* [http://thinkembedded.ch/ST-STMicroelectronics:::24.html Im Thinkembedded Shop] in der Schweiz / DiscoveryF4, div. ETT und Olimex Boarde ab 20,18 CHF / 16,15 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&amp;amp;artID=200072 Im myAVR Shop] DiscoveryF4 mit möglichem Zubehör 16,45 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://www.keil.com/boards/cortexm.asp Keil/ARM Demoboards]&lt;br /&gt;
* [http://www.phytec.de Phytec]&lt;br /&gt;
* [http://shop.myavr.de/index.php?sp=artlist_kat.sp.php&amp;amp;katID=37 verschiedene ARM Produkte und Erweiterungen bei myAVR]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities, Tutorials ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/173753 Diskussion zum Artikel]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ARM*+STM32*+Cortex* Suche im Forum]&lt;br /&gt;
* [https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/AllItems.aspx Forum auf der ST Homepage] &lt;br /&gt;
* [http://www.stm32circle.com/hom/index.php STM32 Community] &lt;br /&gt;
*[http://joe-c.de/pages/posts/einstieg_mikrocontroller_stm32f103_101.php Einstieg:  STM32board mit Kamera (deutsch)] &lt;br /&gt;
* [http://www.ebv.com/fileadmin/products/Press_Print/Brochures/Product_Brochures/EBV_Cortex%20Collection_V2.pdf Übersicht der Cortex Prozessoren und deren Hersteller (nicht nur ST, von EBV)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/258652 Tutorial]&lt;br /&gt;
* [http://diller-technologies.de/stm32_wide.html STM32 Tutorial in Deutsch von Diller Technologies]&lt;br /&gt;
* [http://mySTM32.de STM32 C und C++ Tutorial in Deutsch ]&lt;br /&gt;
* [http://mikrocontroller.bplaced.net STM32F4 Quellcode-Librarys und CooCox-Projekte in Deutsch ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:STM32| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78498</id>
		<title>STM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78498"/>
		<updated>2013-09-15T08:49:58Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Programmierung */ emblocks hinzugefügt, olimex debugger zu open source adapter verschoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STM32 ist ein Mikrocontroller-Familie von [http://www.st.com/mcu/inchtml-pages-stm32.html ST] mit einer 32-Bit [http://www.arm.com/products/processors/cortex-m/index.php ARM Cortex-M0/M3/M4] CPU. Diese Architektur ist speziell für den Einsatz in Microcontrollern neu entwickelt und löst damit die bisherigen ARM7-basierten Controller weitestgehend ab. Den STM32 gibt es von ST in unzähligen Varianten mit variabler Peripherie und verschiedenen Gehäusegrößen und -formen. Durch die geringe Chipfläche des Cores ist es ST möglich, eine 32 Bit-CPU für weniger als 1&amp;amp;nbsp;€ anzubieten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:stm32F103xc.png|thumb|right|340px|Blockdiagramm STM32F103xC/D/E]]&lt;br /&gt;
&lt;br /&gt;
== STM32-Familien ==&lt;br /&gt;
&lt;br /&gt;
Bisher gibt es sieben STM32-Familien:&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp STM32F0]&lt;br /&gt;
** Cortex M0&lt;br /&gt;
** Mikrocontroller zum Einstieg&lt;br /&gt;
** Bis 48MHz&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1169.jsp STM32F1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
**Verschiedene Unterfamilien:&lt;br /&gt;
*** Connectivity line&lt;br /&gt;
*** Performance line&lt;br /&gt;
*** USB Access line&lt;br /&gt;
*** Access Line&lt;br /&gt;
*** Value line&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1575 STM32F2]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 120MHz&lt;br /&gt;
** Wie die STM32F1 Serie, Camera-Interface, 32-Bit Timer, Crypto-Engine...&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
** Fast 12-bit 5 MSPS and precise 16-bit sigma-delta ADCs&lt;br /&gt;
** Touch sensing controller (TSC)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp STM32F4]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 180MHz&lt;br /&gt;
** Bis zu 2MB Flash&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1295 STM32L1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Low Power &lt;br /&gt;
** mit LCD Treiber&lt;br /&gt;
** Bis 32MHz&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1581 STM32W]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** BIS 24MHz&lt;br /&gt;
** RF-MCU &lt;br /&gt;
[http://www.st.com/internet/mcu/class/1734.jsp Hier eine Übersicht zum Auswählen eines STM32Fxxx]&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Cortex-M0 / Cortex-M3 / Cortex-M4F Kern (mit FPU)&lt;br /&gt;
* 16KB ... 2MB  [[Flash-ROM]]&lt;br /&gt;
*  4KB ... 256KB [[Speicher#SRAM|SRAM]]&lt;br /&gt;
* 4KB [[Speicher#EEPROM|EEPROM]] (STM32L)&lt;br /&gt;
* 512 one-time programmable Bytes(STM32F2/4)&lt;br /&gt;
* [[IC-Gehäuseformen | Gehäuse]] 36 ... 216 Pins als QFN, LQFP und BGA&lt;br /&gt;
* Derzeit sind über &#039;&#039;&#039;250&#039;&#039;&#039; STM32 Derivate/Varianten verfügbar&lt;br /&gt;
* Bis 72MHz CPU-Takt, bis 120MHz beim STM32F2xx, bis 168/180 MHz beim STM32F4xx, wobei eine spezielle prefetch-hardware bis 120/168 MHz eine Geschwindigkeit erzielen soll, die 0 Wait-States entspricht. Der CPU-Takt wird über einen Multiplikator aus dem internen RC-Takt oder einem externen Quarz-Takt abgeleitet.&lt;br /&gt;
* Externes Businterface (nur bei Gehäusen ab 100 Pin und nur bei STM32F4, STM32F2 und STM32F1 Performance line)&lt;br /&gt;
* LCD Treiber für 8x40 Punkte (nicht beim STM32F2xx)&lt;br /&gt;
* TFT Treiber bei STM32F429 / STM32F439&lt;br /&gt;
* Spannungsbereich 1,65 ... 3,6V, nur eine Betriebsspannung nötig&lt;br /&gt;
* Temperaturbereich bis 125 °C&lt;br /&gt;
* Bis zu 140 IOs, viele davon [[Pegelwandler|5V-tolerant]]&lt;br /&gt;
* Interner, kalibrierter RC-Oszillator mit 8MHz (16MHz bei STM32F2/F4xx)&lt;br /&gt;
* Externer Quarz&lt;br /&gt;
* Real Time Clock mit eigenem Quarz und separater Stromversorgung&lt;br /&gt;
* Bis zu 16 [[Timer]], je Timer bis zu 4 IC/OC/PWM Ausgänge. Davon 2x Motion Control Timer (bei STM32F103xF/G)&lt;br /&gt;
* Systick Counter&lt;br /&gt;
* Bis zu 3 12-Bit [[AD-Wandler]] mit insgesamt 24 AD-Eingängen, integrierter [[Temperatursensor]], Referenzspannung Vrefint und VBatt Spannungsmessung (STM32F4xx)&lt;br /&gt;
* Bis zu 2 12-Bit [[DA-Wandler]] (bis zu 3 beim STM32F3xx)&lt;br /&gt;
* Bis zu 2 [[DMA]] Controller mit bis zu 12 Kanälen (16 beim STM32F2/4xx)&lt;br /&gt;
* Bis zu 2x [[I2C|I²C]]&lt;br /&gt;
* Bis zu 5x [[UART|USART]] mit LIN, IrDA und Modem Control (bis zu 8 beim STM32F2/F4xx)&lt;br /&gt;
* Bis zu 3x [[SPI]] (bis zu 6 beim STM32F4xx)&lt;br /&gt;
* Bis zu 2x [[I2S|I²S]]&lt;br /&gt;
* Bis zu 2x [[CAN#STMicroelectronics STM32 (Cortex M3/M4)|CAN]]&lt;br /&gt;
* Hardware [[CRC]] Unit, bei der STM32F3xx Serie mit einem einstellbaren Polynom &lt;br /&gt;
* Unique device ID register (96 Bits)&lt;br /&gt;
* RNG - Random Number Generator (STM32F2/4xx)&lt;br /&gt;
* Cryptographic Processor (CRYP) (STM32F2/4xx)&lt;br /&gt;
* Hash Processor (HASH) (STM32F2/4xx)&lt;br /&gt;
* Kamera-Interface (DCMI) (STM32F2/4xx)&lt;br /&gt;
* [[USB]] 2.0 Full Speed / OTG&lt;br /&gt;
* [[USB]] 2.0 Hi Speed OTG mit extra PHY-Chip (STM32F2/4xx)&lt;br /&gt;
* SDIO Interface (z.B. SD-Card Reader)&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Watchdog mit Window-Mode&lt;br /&gt;
* Jedes Peripheriemodul ist separat einschaltbar, wodurch sich erheblich [[Ultra low power|Strom sparen]] lässt&lt;br /&gt;
* [[JTAG]] und SWD (Serial Wire Debug) Interface&lt;br /&gt;
* Bis zu 6 Hardware-Breakpoints für Debuggen&lt;br /&gt;
* und vieles mehr . . .&lt;br /&gt;
&lt;br /&gt;
== Struktur der Dokumentation: ==&lt;br /&gt;
Die Dokumentation der STM32 ist zwar umfangreicher und komplexer z.B. die der [[AVR]], enthält aber dennoch alle nötigen Informationen. Sie teilt sich auf in mehrere Dokumente.&lt;br /&gt;
Als Beispiel der Dokumentation soll stellvertretend der [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164486 STM32F103RC] genannt werden. Die Seite von ST beinhaltet alle nötigen Informationen passend zu diesem Prozessor.&lt;br /&gt;
&lt;br /&gt;
Diese Dokumente von ST beschreiben den Controller:&lt;br /&gt;
&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00191185.pdf STM32F103xC/D/E Datasheet] sind die speziellen Eigenschaften einer bestimmten Modellreihe beschrieben und die exakten Daten und Pinouts aufgeführt, sowie die Zuordnung Chipname - Flash/RAM-Größe. Die Peripheriemodule werden nur aufgeführt, nicht detailliert beschrieben.&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/CD00171190.pdf Reference Manual (RM0008)] sind alle Peripheriemodule der jeweiligen STM32-Controllerfamilie im Detail beschrieben.&lt;br /&gt;
* Das [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0403c/index.html ARMv7M Architecture Reference Manual] beschreibt detailliert den Prozessorkern, wie das Exception Model, die CPU Instruktionen inklusive Encoding, etc.&lt;br /&gt;
* Das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00228163.pdf STM32 Cortex-M3 Programming Manual] ist eine Zusammenfassung des ARMv7M Architecture Reference Manual bezogen auf die STM32.&lt;br /&gt;
* Wer nicht die ST Firmware-Library verwendet, der benötigt zusätzlich das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00283419.pdf Flash Programming Manual] für die Betriebsart des Flash-ROMs, d.h. die frequenzabhängige Konfiguration der Waitstates.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich sollten auch die [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00197763.pdf Errata Sheets] beachtet werden. Empfohlen sei auch die Appnote &amp;quot;[http://www.st.com/web/en/resource/technical/document/application_note/CD00164185.pdf AN2586 Getting started with STM32F10xxx hardware development]&amp;quot;.&lt;br /&gt;
Die jeweiligen Dokumentations-PDFs sind auf der Produktseite von ST eines jeden Mikrocontrollers verlinkt.&lt;br /&gt;
&lt;br /&gt;
== Hardware Zugriffs-Libraries ==&lt;br /&gt;
=== CMSIS ===&lt;br /&gt;
&lt;br /&gt;
Die CMSIS (ARM® &#039;&#039;&#039;C&#039;&#039;&#039;ortex™ &#039;&#039;&#039;M&#039;&#039;&#039;icrocontroller &#039;&#039;&#039;S&#039;&#039;&#039;oftware &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;S&#039;&#039;&#039;tandard) ist eine Library von ARM für den Zugriff auf die herstellerübergreifenden Funktionen des ARM-Cores. Hierzu gehört bei den Cortex-M4F-Cores auch die DSP und Floating-Point Funktionalität. Weiterhin existieren eine Zahl von Helferfunktionen für den NVIC, den Sys-Tick-Counter, sowie eine SystemInit-Funktion, welche sich um die PLL kümmert. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen des CMSIS-Standards ([http://www.onARM.com www.onARM.com]) wurden die Headerdateien standardisiert, der Zugriff auf die Register erfolgt per &#039;&#039;&#039;Peripheral-&amp;gt;Register&#039;&#039;&#039;. Die CMSIS C-Dateien bzw. Header enthalten auch Anpassungen für die verschiedenen Compiler. Die Portierung eines Real-Time-Betriebsystems sollte unter Verwendung der CMSIS, für Chips der verschiedenen Hersteller, stark vereinfacht möglich sein (z.B. einheitliche Adressen für Core-Hardware/Sys-Tick-Counter).&lt;br /&gt;
&lt;br /&gt;
Die CMSIS ist im Download der ‎STM32 Standard Peripheral Library enthalten. Die Compiler-Hersteller liefern eine jeweils zur ihrer Tool-Version passende bzw. geprüfte Library (incl. CMSIS) aus. Diese Libs können, gegenüber den Downloads beim Chip-Hersteller, auch ältere Version beinhalten.&lt;br /&gt;
&lt;br /&gt;
=== ‎STM32 Standard Peripheral Library ===&lt;br /&gt;
&lt;br /&gt;
ST bietet für jede Controller Familie eine umfangreiche zur CMSIS passende Peripherie-Bibliothek. Alle Funktionen um die Peripherie zu benutzen sind gekapselt in einfache Strukturen und Funktionsaufrufe. Somit muss man sich nicht selbst um die Peripherie-Register kümmern. Diese Library und ihre Dokumentation setzen das grundlegende Verständnis der Funktion des jeweiligen Peripheriemoduls voraus, wie es die o.a. Referenz und diverse Appnotes vermitteln. Die Library beinhaltet außerdem für fast jede Peripherie mehrere Beispiele.&lt;br /&gt;
Für die USB Schnittstelle gibt es noch eine extra Library, genauso wie für Ethernet.&lt;br /&gt;
&lt;br /&gt;
Auf der &amp;quot;Design Resources&amp;quot; Seite der Produktseite von ST eines jeden STM32 Mikrocontrollers kann die Library für den jeweiligen Controller heruntergeladen werden, z.B. [http://www.st.com/web/en/catalog/tools/PF257890 hier] für den o.g. STM32F103RC.&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
Zur Programmierung der STM32 gibt es verschiedene Möglichkeiten, sowohl kommerzielle proprietäre als auch mit Freier Software.&lt;br /&gt;
&lt;br /&gt;
Der GCC (in seinen verschiedenen Binärdistributionen) ist der einzige ARM Compiler der [http://de.wikipedia.org/wiki/C%2B%2B11 C++11] unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Freie Software/Freeware ===&lt;br /&gt;
==== Selber zusammenstellen ====&lt;br /&gt;
Man nehme...:&lt;br /&gt;
* Eine Entwicklungsumgebung nach Wahl:&lt;br /&gt;
** [http://www.eclipse.org Eclipse] mit [http://www.eclipse.org/cdt/ C/C++ Development Tooling] und [http://gnuarmeclipse.livius.net/blog/ GNU ARM Plug-in] (Bei Verwendung vom GCC-ARM-Embedded als Toolchain &amp;quot;Sourcery G++ Lite&amp;quot; auswählen, dieser sieht für eclipse gleich aus) (Linux, Windows)&lt;br /&gt;
** [http://netbeans.org/ Netbeans] mit [http://plugins.netbeans.org/plugin/37426/gdbserver GDBserver-Plugin] (Linux, Windows)&lt;br /&gt;
** [http://www.kdevelop.org/ KDevelop] (Linux)&lt;br /&gt;
** [http://www.geany.org/ Geany] (Linux, Windows)&lt;br /&gt;
** Oder ein einfacher Texteditor&lt;br /&gt;
* Einen C,C++ Compiler:&lt;br /&gt;
** Eine der [[ARM_GCC#GCC_Bin.C3.A4rdistributionen|GCC-Binärdistributionen]], siehe auch [[#GCC|GCC]] (je nach Distribution Linux, Windows)&lt;br /&gt;
* Programmiersoftware zum Flashen des Target:&lt;br /&gt;
** [http://openocd.sourceforge.net/ OpenOCD] unterstützt viele Debug/Programmier-Adapter (Linux, Windows)&lt;br /&gt;
** [https://github.com/texane/stlink Texane stlink] funktioniert gut mit den ST-Link Adaptern wie sie zB. auf den STM32 Discovery Boards zu finden sind (Linux)&lt;br /&gt;
** Turtelizer2 oder andere JTAG Programmieradapter&lt;br /&gt;
** Bei Verwendung eines Segger J-Link, den [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf Segger GDB-Server] in Verbindung mit dem beim GCC mitgelieferten GDB (Linux, Windows)&lt;br /&gt;
&lt;br /&gt;
==== Komplette IDE&#039;s ====&lt;br /&gt;
* [http://www.codesourcery.com/sgpp/lite_edition.html Codesourcery Lite Edition]&lt;br /&gt;
* [http://www.coocox.org/ Coocox Eclipse IDE] kostenlose IDE für STM32F0 / F1 / F4 Hilfreiche Infos gibt es im [http://www.mikrocontroller.net/topic/214719?goto=new#2228482 hier] und [http://www.mikrocontroller.net/topic/214719?goto=new#2229943 hier] Forum&lt;br /&gt;
* [http://emide.org/ emIDE] kostenlose IDE die mit dem Segger J-LINK funktioniert.&lt;br /&gt;
* [http://www.emblocks.com EmBlocks] kostenlose IDE, Code::Blocks basiert, unterstützt STM32 F0/F1/F2/F3/F4/W, integrierter GDB Debugger, Jlink/ST-Link, System view (Peripherie Register anzeigen) beim Debuggen.&lt;br /&gt;
&lt;br /&gt;
=== Kommerzielle Umgebungen ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp Keil µVision] (Demo max. 32KB Code): Die sehr komfortable µVison IDE ist neben dem ARM Compiler per Menue auch für einen beliebigen GNU-Compiler konfigurierbar. Damit besteht das 32k-Limit nur noch für den integrierten Debugger / Simulator. µVison selbst kann kostenlos mit dem MDK-Evaluationkit heruntergeladen werden. [https://www.keil.com/arm/demo/eval/arm.htm#DOWNLOAD download]&lt;br /&gt;
* [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR-Embedded-Workbench] (Demo max. 32KB Code) [http://supp.iar.com/Download/SW/?item=EWARM-EVAL download]&lt;br /&gt;
* [http://www.isystem.com/products/itag winIDEAiTag] Keine Code Limitierung, GCC und Testwerkzeug beinhaltet. Läuft mit dem iTag Adapter.&lt;br /&gt;
* [http://www.raisonance.com Raisonance Ride7] (GCC Compiler, kostenlose Version auf Debugging von max. 32KB Code limitiert, keine Limitierung beim Complilieren)&lt;br /&gt;
* [http://www.atollic.com Atollic] (Lite Version (bis V2.3.0) ohne Code-Limit, auf GCC basierend. Die neueste Version ab V3 hat fast keine Beschränkungen mehr außer jetzt einen Code-Limit von 32kB. Außerdem werden jetzt die meisten ARM Familien unterstützt. )&lt;br /&gt;
* [http://www.rowley.co.uk/arm/ Rowley Crossworks] (Demo 30 Tage unbeschränkt, 150$ für nichtkommerzielle Nutzung, auf GCC basierend)&lt;br /&gt;
* [http://www.code-red-tech.com Code Red] (GCC basierend)&lt;br /&gt;
* [http://www.sisy.de/index.php?id=17&amp;amp;no_cache=1 SiSy ARM oder SiSy Micrcontroller++] (Demo verfügbar keine Gößenbegrenzung, basiert auf GNU-Compiler, grafische Programmierung mit UML möglich, integrierter Debugger)&lt;br /&gt;
* [http://www.comsytec.eu/epsdebugger.php EPS Debugger Plugin, für STM32 Development mit Code::Blocks]&lt;br /&gt;
&lt;br /&gt;
=== Tutorials für diverse Tool-Kombinationen ===&lt;br /&gt;
[[STM32 Eclipse Installation|Windows,Linux, Eclipse + Yagarto/CodeSourcery + OpenOCD/ST-Link]]&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
** Eclipse&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/216554 Windows, Eclipse, codesourcery, st-link ]&lt;br /&gt;
*** [http://www.firefly-power.de/ARM/debugging.html Eclipse Plugin &amp;quot;GDB Hardware Debugging&amp;quot; mit OpenOCD]&lt;br /&gt;
** Code::Blocks&lt;br /&gt;
*** [http://www.mikrocontroller.net/topic/265600 Windows, Code::Blocks, STM32F4]&lt;br /&gt;
** STM32 mit EmBlocks&lt;br /&gt;
*** [http://www.emblocks.org/web/downloads-main Download EmBlocks]&lt;br /&gt;
*** [https://www.youtube.com/watch?v=coHPJylnzC8 Video STM32 Project Wizzard in EmBlocks]&lt;br /&gt;
** Atollic TrueSTUDIO&lt;br /&gt;
*** [[STM32 LEDBlinken AtollicTrueStudio|Atollic TrueSTUDIO Installation + Demo]]&lt;br /&gt;
** MDK-ARM Lite mit Einstellungen für STM32F0/F4-Discovery Board&lt;br /&gt;
*** [https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM Download]&lt;br /&gt;
*** [https://www.youtube.com/watch?v=RXOOxby5nns&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;index=1 Installations Video STM32F4 Discovery Board]&lt;br /&gt;
*** [https://www.youtube.com/watch?annotation_id=annotation_203294&amp;amp;feature=iv&amp;amp;index=4&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;src_vid=sN4gDZ7H8gw&amp;amp;v=BeZcQjXxk9A Einstellungen STM32F0 Discovery Board Video]&lt;br /&gt;
** SiSy ARM, STM32&lt;br /&gt;
*** Download: [http://www.sisy.de/index.php?id=59 SiSy DEMO] kein Begrenzung der Codegröße&lt;br /&gt;
*** [http://www.youtube.com/watch?v=84Y3jYLWYpo Videobeispiel]&lt;br /&gt;
* Ubuntu&lt;br /&gt;
** [http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.pdf Ubuntu, eclipse, Code Sourcery, OpenOCD] ([http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.odt Das Gleiche im bearbeitbaren ODT-Format])&lt;br /&gt;
** [http://fun-tech.se/stm32/index.php Ubuntu, Selbstcompilierter GCC, STM32/Cortex-M3]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/214719 Tipps für Installation mit Eclipse]&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter===&lt;br /&gt;
* [http://www.segger.com/jlink-model-overview.html SEGGER J-LINK / J-TRACE] für u.a. alle ARM7/9/11, Cortex-M0/M1/M3/M4/A5/A8/A9/R4 als [http://www.segger.com/cms/j-link-edu.html NonComercial] J-LINK-EDU für ca. 60,- zu haben, läuft in µVision, IAR, GDB (Linux &amp;amp; Windows über einen eigenen [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf GDB-Server]), Keil, ...&lt;br /&gt;
* Keil [http://www.keil.com/ulinkme/ ULINK-ME], [http://www.keil.com/arm/ulink2/ ULINK2], [http://www.keil.com/arm/ulinkpro/ ULINK pro]&lt;br /&gt;
* [http://www.st.com/internet/evalboard/product/219866.jsp ST-LINK], [http://www.st.com/internet/evalboard/product/251168.jsp ST-LINK/V2]&lt;br /&gt;
* Jedes STM32 Discovery board hat einen ST-Link für Programmierung/Debugging per SWD on-board, welcher auch für eigene STM32 Target Hardware benutzt werden kann (ca. 12,- bis 19,-€, je nach Typ).&lt;br /&gt;
* [http://www.raisonance.com/~rlink-debugger-programmer__microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html Raisonance RLink]&lt;br /&gt;
* [http://www.amontec.com Amontec]&lt;br /&gt;
* [http://www.hjtag.com H-JTAG] Personal Edition für ca. 60,- zu haben, läuft mit ADS, SDT, IAR, Vision und RVDS &lt;br /&gt;
* [http://www.isystem.com/products/itag iTag] für 50.- bei Amazon zu bestellen, oder als Eigenbau version (offenes Design) läuft mit der freien winIDEAiTag version (siehe oben)&lt;br /&gt;
&lt;br /&gt;
In der Regel haben die [[JTAG]] Adapter einen 20-Poligen Stecker, den man direkt auf die Demo-Boards, die auch einen 20-Poligen [[JTAG]]-Anschluss haben, einstecken kann. Die Pinbelegung ist genormt, siehe Artikel [[JTAG]]. Die Discovery-Boards haben keinen seperaten JTAG-Stecker, aber zumindest für das STM32F4 Discovery kann man sich leicht einen Adapter Pinheader-&amp;gt;JTAG Stecker selber bauen.&lt;br /&gt;
&lt;br /&gt;
Andere [[JTAG]] Adapter wie z.B. der ULink von Keil funktionieren nur mit dem Keil Compiler.&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter Open-Source===&lt;br /&gt;
&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-COOCOX], CoLinkEX Nachbau von Olimex, unterstützt JTAG sowie SWD&lt;br /&gt;
** [http://www.coocox.org/colinkEx.htm unterstützte uC]&lt;br /&gt;
** unterstütze IDEs: [http://www.keil.com/arm/mdk.asp Keil MDK-ARM 4.03] oder neuer, [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR Embedded Workbench 5.xx] oder neuer sowie die [http://www.coocox.org/CooCox_CoIDE.htm CooCox CoIDE]&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ Olimex] ARM-USB-OCD (ca. 60.-, hat zusätzlich einen Spannungsausgen und einen COM Port)&lt;br /&gt;
* [http://www.oocdlink.com/ OOCDLink]&lt;br /&gt;
* [https://github.com/texane/stlink Stlink]&lt;br /&gt;
* [http://www.randomprojects.org/wiki/Floss-JTAG FLOSS-JTAG]&lt;br /&gt;
* [http://capitanio.org/mlink/ Linux Demo Code für die Discovery&#039;s ST-Link Programmierung]&lt;br /&gt;
&lt;br /&gt;
Der Controller hat auch einen fest eingebauten Boot-Lader. Damit läßt er sich auch über eine gewöhnliche serielle Schnittstelle programmieren, ohne dass man einen JTAG-Adapter benötigt. Dies erfordert ggf. entsprechende Konfiguration über die BOOTx-Pins und/oder die Option-Bytes.&lt;br /&gt;
&lt;br /&gt;
=== Demo-Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Einführung in die GPIO Programmierung der STM32F10x und STM32F30x Prozessoren am Beispiel des STM32F3 Discovery Boards und Vergleich zur AVR IO Registerstruktur [http://www.mikrocontroller.net/topic/300472#new]&lt;br /&gt;
* [[prog_bsp_timer_1_timer2|Programmbeispiel für die Verwendung von Timer2 zusammen mit dem Interrupt]]&lt;br /&gt;
* [http://www.firefly-power.de/ARM/printf.html Printf() debugging mit minimalem Aufwand]&lt;br /&gt;
* [[STM32_BLDC_Control_with_HALL_Sensor|Programmbeispiel für BLDC Motoransteuerung (Timer 1) mit HALLSensor (Timer 3)]]&lt;br /&gt;
* [[Cortex_M3_OCM3U]]&lt;br /&gt;
* Martin Thomas hat ein umfangreiches Projekt erstellt, in der die Eclipse Einstellungen enthalten sind:&lt;br /&gt;
** [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html &amp;quot;ChaN&#039;s FAT-Module with STM32 SPI&amp;quot;]&lt;br /&gt;
* [[STM32 USB-FS-Device Lib]]&lt;br /&gt;
* Modellbau-Sender auf STM32-Basis mit vielen Treibern [http://www.rcos.eu www.rcos.eu]&lt;br /&gt;
* Ausführliches [https://github.com/jkerdels/stm32edu Einstiegs-Tutorial] in Codeform für das [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4 discovery board]&lt;br /&gt;
* [http://www.redacom.ch/keillab/ Schweizer Gondelbahnsteuerung über Webserver auf ETT STM32F ARM KIT Board in Keil RTOS] mit Webcam&lt;br /&gt;
* Die [http://ethernut.svn.sourceforge.net/viewvc/ethernut/trunk/ Ethernut SVN Version] unterstützt inzwischen viele STM32 Typen, viele Devices und einige STM32 Demoboards&lt;br /&gt;
&lt;br /&gt;
== Debug- und Trace-Interface (CoreSight™ Debug and Trace Technologie)==&lt;br /&gt;
&lt;br /&gt;
Übersicht über beide Funktionalitäten und den Schnittstellen:&lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_cs_core_sight.htm&lt;br /&gt;
&lt;br /&gt;
Die Coresight-Debug-Architektur ermöglicht ein nicht-invasives Debugging, d.h. es können während des Betriebes (meistens) ohne Beeinflussung des Prozessors Daten vom Speicher gelesen und in selbigen geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Debugger Funktionen ===&lt;br /&gt;
&lt;br /&gt;
Der Debugger-Teil besitzt drei Funktionen:&lt;br /&gt;
* Run Control: z.B. Programm-Start, Stopp und Einzel-Schritte.&lt;br /&gt;
* (Program) Break Points: Ein Programm hält an, wenn der Programm Counter eine bestimmte Programm-Adresse erreicht.&lt;br /&gt;
** Die maximale Anzahl der gleichzeitig möglichen Break Points ist begrenzt (z.B. 6 bei einem STM32).&lt;br /&gt;
** Die Anzahl der Break Points ist nahezu unbegrenzt, wenn ein Debugger über den Memory Access (s.u.) sogenannte Flash Break Points unterstützt. Dabei wird ein geladenes Programm im Flash umprogrammiert, um den Debugger anzuhalten. Diese Funktionalität ist meistens ein kostenpflichtiges Zusatz-Feature des Debugger-Herstellers. &lt;br /&gt;
** Beinhaltet keine Data Watch Funktionalität, welche im Trace-Teil (DWT) realisiert wird.&lt;br /&gt;
* Memory Access: Lesen und Schreiben von Speicheradressen. &lt;br /&gt;
** Diese Funktionalität beinhaltet keine direkte Flash-Programmierung. Der Programmiervorgang für einen Flash ist herstellerspezifisch und muss von dem verwendeten Debugger unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
=== Trace Funktionen ===&lt;br /&gt;
Die Trace-Funktionalität wird in drei Funktionen aufgeteilt:&lt;br /&gt;
* ETM (Embedded Trace Macrocell): Optional, nicht jede CPU besitzt diese Hardware (Kostenfaktor, Austattung).&lt;br /&gt;
* ITM (Instrumentation Trace Macrocell): Über diesen Kanal kann ein vereinfachtes Trace des Core ermöglicht werden, sowie &amp;quot;printf-ähnlich&amp;quot; Daten über den ITM Channel 0 geschickt und im Debugger ausgegeben werden.&lt;br /&gt;
* DWT (Data Watchpoint &amp;amp; Trace Unit): &lt;br /&gt;
** Data Watch: 4 Access-Break-Points ( z.B. der Debugger bleibt stehen, wenn das Programm auf einen Speicher zugreift oder der Wert einer Variablen einen bestimmten Wert annimmt). &lt;br /&gt;
** Trace Unit: Programmverlauf (durch Lesen des Program Counters) und Interrupt Aufrufe verfolgen, sowie Zeitmessungen.&lt;br /&gt;
&lt;br /&gt;
Einige der Trace-Funktionalitäten können über die JTAG-Schnittstelle angesprochen werden. Die schnelle Trace-Funktionalität (mit 4 bit Parallel-Port) steht nur mit der erweiterten DEBUG + ETM Schnittstelle zur Verfügung. Im Gegensatz zum Debugger-Teil (Run Control, Break Points und Memory Access) werden Trace-Funktionen nicht von allen Debuggern unterstützt. Debugger mit der vollen Trace-Funktionalität kosten deutlich mehr.&lt;br /&gt;
&lt;br /&gt;
* Beispiele für Trace-Port-Aktivierungen für verschiedene Hersteller: http://www.keil.com/support/man/docs/jlink/jlink_capture_tracedata.htm&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung des parallelen Trace-Ports erfordert, je nach CPU Hersteller, zusätzliche Debugger-Makros für die Aktivierung und Port-Freischaltung. Zusätzlich sind die Schnittstellenauswahl und Einstellung (Frequenzen) im Entwicklungs-Tool (IDE) wichtig, um erfolgreich den Programm-Verlauf &amp;quot;tracen&amp;quot; zu können.&lt;br /&gt;
&lt;br /&gt;
=== Debug und Trace-Schnittstellen ===&lt;br /&gt;
Als Debug Interface stehen zwei Varianten zur Auswahl:&lt;br /&gt;
* [[JTAG]]: Dafür sind mindestens 6 Steuerleitungen nötig. Unterstützt Device Chaining: Mehrere verbundene Geräte können mit einem Debugger/Programmer gleichzeitig angesteuert werden.&lt;br /&gt;
* SWD (Serial Wire Debug): Hier mindestens 2  Steuerleitungen (3 mit SWO, zzgl GND und 3,3V). Die SWD Schnittstelle ist in der Regel schneller und kann auch Funktionen aus dem Trace-Teil beinhalten (z.B. ITM, dafür wird der SWO-Pin benötigt). Device Chaining ist mit dieser Schnittstelle nicht möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standard-JTAG Steckerbelegungen: &lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm&lt;br /&gt;
&lt;br /&gt;
=== Der 10polige JTAG-Stecker von mmvisual ===&lt;br /&gt;
mmvisual hat mit dieser Steckerbelegung die Standard JTAG Schnittstelle erweitert:&lt;br /&gt;
&lt;br /&gt;
Ich habe diesen Part in den Artikel [http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual JTAG] verschoben.&lt;br /&gt;
Hinzu gekommen ist die Adapterplatine 10-Polig auf Standard JTAG 20 Polig mit TTL/V24 Wandler. [http://www.mikrocontroller.net/articles/JTAG#Die_Adapterplatine Siehe hier.]&lt;br /&gt;
&lt;br /&gt;
== Hardware-Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Der STM32 benötigt für den Betrieb nur (Minimalbeschaltung):&lt;br /&gt;
&lt;br /&gt;
* VCC 2..3,3V (je nach Typ)&lt;br /&gt;
* AVCC 2..3,3V (sehr wichtig, der STM32 lässt sich ohne diese Spannung nicht programmieren)&lt;br /&gt;
* GND&lt;br /&gt;
* Reset Pin 100nF nach GND (ein Pull-Up Widerstand von ca. 40k ist intern vorhanden)&lt;br /&gt;
* [[#Bootmodi|Boot-Pins]]&lt;br /&gt;
&lt;br /&gt;
ansonsten nur ein paar einzelne Cs 100nF an VCC/GND.&lt;br /&gt;
&lt;br /&gt;
Um Programmieren zu können wird entweder noch die serielle Schnittstelle (Programmieren über den vorprogrammierten Bootloader) oder JTAG oder die SWD Schnittstelle benötigt.&lt;br /&gt;
&lt;br /&gt;
=== Bootmodi ===&lt;br /&gt;
Unterschiedliche Bootmodi lassen sich mittels der PINs BOOT0 und BOOT1 auswählen . Siehe Application Note [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/18225/AN2606.pdf AN2606].&lt;br /&gt;
&lt;br /&gt;
==== Boot from FLASH ====&lt;br /&gt;
Startadresse wird von 0x08000004 geladen&lt;br /&gt;
 BOOT0 Lo&lt;br /&gt;
 BOOT1 X &lt;br /&gt;
&lt;br /&gt;
==== Boot from SRAM ====&lt;br /&gt;
PC Startadresse wird an 0x200001E0 direkt angesprungen.&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Hi&lt;br /&gt;
Da der interne FLASH der stm32f1x laut Datenblatt nur für 1000 Schreibvorgänge ausgelegt ist, kann mittels BOOT0 (High) und BOOT1 (High) auch aus dem zuvor mit dem Debugger (JTAG/SWD) beschriebenen SRAM booten. &lt;br /&gt;
Hierbei gilt zu beachten:&lt;br /&gt;
 VTOR auf die NVIC Tabelle im SRAM vor dem auslösen des ersten Interrupts remappen.&lt;br /&gt;
&lt;br /&gt;
 Um ein vergleichbares Startverhalten zum FLASH zu erreichen, empfiehlt es sich,&lt;br /&gt;
 0xF1E0F85F an 0x200001E0 zu schreiben. Diese implizite Ausführung von &amp;quot;ldr.w pc,&lt;br /&gt;
 [pc, #-0x01E0]&amp;quot; beim Start erzwingt ein laden der Startadresse von 0x20000004.&lt;br /&gt;
&lt;br /&gt;
==== Boot from SYSMEM (RS232, CAN und USB) ====&lt;br /&gt;
PC Startadresse wird von 0x1FFFF004 geladen&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Lo&lt;br /&gt;
Auch ohne JTAG lässt sich ein STM32 programmieren (Bootloader-Aktivierung). Dabei stehen, je nach CPU-Typ, verschiedene Möglichkeiten zur Verfügung:&lt;br /&gt;
* RS-232 (bisher alle STMs)&lt;br /&gt;
* USB (nur in bestimmten MCUs mit entsprechender Bootloader-Version und PIN-Anzahl, z.B. STM32F105/107)&lt;br /&gt;
* CAN (wie USB nur in bestimmten MCUs)&lt;br /&gt;
&lt;br /&gt;
3 zusätzliche Verbindungen müssen auf dem Board gepatcht werden. Für einen Test geht es auch mit Tastern für RESET und BOOT0.&amp;lt;br&amp;gt;&lt;br /&gt;
RESET=RTS (L-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT0=DTR (H-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT1=LOW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Details sind hier im Forum: [http://www.mikrocontroller.net/topic/141711 STM32 Programmiertool]&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
=== Vorteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber ARM7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Interrupt-Controller jetzt Teil des Prozessors (als Core Peripheral), die Vector Table ist jetzt eine echte Vektortabelle, keine Sprungliste wie bei ARM7. Durch Automatismen zwischen Core und NVIC (auto register save r0..r3, lr, sp, pc) bei Interrupt Entry wird eine deutlich schnellere Ausführungszeit bei Interrupts erreicht. Der Interrupt Code muss sich nicht mehr selbst um die Sicherung der o.g. Register kümmern und eine besondere Konfiguration der Handler im Compiler entfällt. Sind vor Beendigung einer ISR (d.h. Rücksprung zum User Code) weitere Interrupts pending, so werden diese ausgeführt, ohne dass eine komplette pop-push-sequenz der Register notwendig ist. Schön beschrieben ist es hier im [http://www.st.com/mcu/files/mcu/1221142709.pdf Insider&#039;s Guide] unter 2.4.5 / Seite 20.&lt;br /&gt;
* Thumb-2 Befehlssatz, deutlich schneller als Thumb-1 und ebenso kompakt&lt;br /&gt;
* Weniger Pins für Debugging benötigt durch SWD&lt;br /&gt;
* Mehr Hardware Breakpoints machen debuggen einfacher&lt;br /&gt;
* Software ist einfacher weil die Umschaltung zwischen ARM Mode und Thumb Mode wegfällt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber LPC1700 und LPC1300:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Flexiblere Gehäuseformen mit mehr Peripherie bei kleinen Gehäusen&lt;br /&gt;
* FW-Lib für alle STM32 gleich, alle AppNotes/Demos beziehen sich auf diese eine FW-Lib was die Entwicklung der eigenen Applikation sehr beschleunigt.&lt;br /&gt;
* Genauerer und flexiblerer ADC, insbesondere gegenüber LPC1300&lt;br /&gt;
* Flexiblere Varianten der Peripherie &amp;gt;&amp;gt; bei weniger einen deutlichen Preisvorteil&lt;br /&gt;
* ab 0,85 EUR (Stand 2010) Allerdings gibts den LPC1100 mit Cortex-M0 schon ab 0,65 $!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber SAM3/4:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fast alle Pins sind 5-Volt tolerant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber anderen &amp;quot;Kleinen&amp;quot; wie z.B. PIC, Atmel usw.&#039;&#039;&#039;&lt;br /&gt;
* nahezu gleicher Preis bei Hobby Anwendungen&lt;br /&gt;
* 32 Bit ohne Umwege in Assembler rechenbar&lt;br /&gt;
* Schnelle direkte Offset-Adressierung ermöglich effizienten Zugriff auf Stack-Variablen, lokal gespeicherte Flash-Konstanten, struct/Array-Elemente&lt;br /&gt;
* Einfache einheitliche Adressierung des gesamten Adressraums, d.h. Pointer auf Peripherieregister, RAM &amp;amp; Flash können exakt gleich behandelt werden, keinerlei Banking/Umschalt-Mechanismen erforderlich auch bei großem Flash/RAM&lt;br /&gt;
* Interrupt-Prioritäten und Prioritätsgruppen&lt;br /&gt;
* Effiziente Pointerarithmetik da Registerbreite=Adressbreite&lt;br /&gt;
* bessere Peripherie wie USB, Ethernet, Vielzahl an Timern&lt;br /&gt;
* der ARM-Core hat eine höhere Taktfrequenz und kann gleichzeitig mehr in weniger Takten berechnen&lt;br /&gt;
* Hardware-Division, bei einigen FPU zur effizienten float-Berechnung&lt;br /&gt;
* Mit größerem Flash/RAM verfügbar&lt;br /&gt;
* Code kann direkt aus dem RAM ausgeführt werden, Speicherschutz und privilegierter Ausführungsmodus können &amp;quot;Kernel&amp;quot;- vor &amp;quot;Anwendungs&amp;quot;-Code schützen, somit wird das dynamische Nachladen von Anwendungen aus externem Speicher effizient &amp;amp; sicher möglich&lt;br /&gt;
* ... und weitere 1000 Punkte ...&lt;br /&gt;
&lt;br /&gt;
=== Nachteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil gegenüber LPC1700:&#039;&#039;&#039;&lt;br /&gt;
* STM32F1xx: nur 72 MHz statt 100 MHz (LPC1759: 120 MHz) Taktfrequenz; STM32F2xx hat diesen Nachteil nicht (ebenfalls 120MHz, STM32F4xx mit 168MHz) (Aber NXP hat schon 150MHz angekündigt)&lt;br /&gt;
* Der LPC1700 besitzt deutlich mehr Mechanismen, um die Auswirkung der Waitstates des Flash-ROMs auf Code- und Datenzugriffe zu reduzieren und das bedeutet mehr Performance bei gleicher Taktfrequenz. Beim STM32F2 entfällt dieser Nachteil wohl aufgrund des ART accelerators. &lt;br /&gt;
* Alle LPC1xxx haben 32 Bit Timer. Bei den STM32 haben das nur die STM32F2xx (2 Stück)&lt;br /&gt;
* I2S Einheit von ST hat keinen FIFO und im 24/32Bit Modus müssen 2x16Bit Halbwörter übertragen werden. Wobei allgemein bei neuen ARM Prozessoren die vorhandenen DMA-Kanäle (basierend auf eigenen BUS-Kanälen und Speicherzugriffen) FIFO in beliebiger Größe bedeutet. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil für Hobby-Anwender&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Nicht direkt &amp;quot;Steckbrettauglich&amp;quot;, da kein DIL Gehäuse verfügbar. Der ebay-Shop dipmicro führt jedoch sehr günstige Lötadapter für Umsetzung von LQFP48 auf DIP48. QFP64 in 0.5mm Pinabstand und nicht 0.8mm wie AVR&lt;br /&gt;
&lt;br /&gt;
* Viel Peripherie, Clocks müssen alle richtig eingestellt werden, ggf. Anpassung des Startup Codes usw.&lt;br /&gt;
** =&amp;gt; Daher nicht besonders gut für Mikrcontroller Anfänger/Einsteiger geeignet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Errata, Tipps und Tricks ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* AD-Wandler PA0: Im Errata steht, dass hier Fehler in der Wandlung entstehen könnten, also einen anderen Pin verwenden.&lt;br /&gt;
* CAN-Bus PD0/PD1: Remap geht erst ab der 100-Pin-Version. Steht im RM0008 unter 9.3.3.: &amp;quot;CAN1 alternate function remapping&amp;quot;. Alle Infos von RM0008 9.3.x sind interessant&lt;br /&gt;
* CAN und USB sind bei der F1 Serie nur bei der &amp;quot;◦Connectivity-Line&amp;quot; gleichzeitig nutzbar. Siehe Datenblätter.&lt;br /&gt;
* Mit internem RC-Oszillator kann die CPU mit maximal 64MHz betrieben werden. Mit einem externen Quarz sind dann 72MHz möglich.&lt;br /&gt;
* Für USB Betrieb muss die CPU mit 48MHz oder 72MHz betrieben werden (bei STM32F1xx).&lt;br /&gt;
* Der Idle Interrupt vom Usart wird zwar ausgelöst, aber nicht vom entsprechenden Statusflag angezeigt&lt;br /&gt;
* Der DMA fängt beim aktivieren immer von vorn an zu zählen, auch wenn er nur kurz angehalten wurde&lt;br /&gt;
* STM32F2xx hat kein Flash Size Register, bei STM32F4xx ist zwar ein flash Size Register beschrieben, kollidiert aber in der Adresse mit einem anderen Register&lt;br /&gt;
* Derivate mit internem EEPROM und nur einer Speicherbank haben das &amp;quot;Feature&amp;quot; bei write/erase des Data-Flashes (EEPROM) einen kompletten stall der code execution zu verursachen (inkl. ISR&#039;s, DMA). Desgleichen bei write/erase des internen Flash (ISP-routinen, EEPROM-Emulation).&lt;br /&gt;
* Der I2C hat diverse Fehler, welche im Errata des jeweiligen Modells (z.B. [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00238166.pdf STM32F105xx and STM32F107xx Errata sheet] ) zu finden sind. Workarounds hierzu finden sich in der Application Note [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00209826.pdf AN2824]&lt;br /&gt;
* [http://blog.frankvh.com/category/stm32/ weitere undokummentierte Features]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== GCC ====&lt;br /&gt;
Um den GCC direkt zu verwenden (zB. mit selbstgebautem makefile), falls man das nicht von einer Entwicklungsumgebung machen lässt, siehe zunächst [[ARM GCC]]. STM32-spezifisches ist:&lt;br /&gt;
* Wird die [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] und ein Quarz verwendet, so muss noch per Präprozessor-Definition die Frequenz des Quarzes angegeben werden mittels z.B. -DHSE_VALUE=8000000 für 8MHz (wie auf dem STM32F4 Discovery).&lt;br /&gt;
&lt;br /&gt;
===== Startupcode &amp;amp; Linkerscript =====&lt;br /&gt;
* Damit der compilierte Code an den richtigen Stellen im Controller landet (d.h. dem Flash) muss man dem Linker ein Linkerscript mitgeben. Dies geht per &amp;quot;-T &#039;&#039;pfad_zum_linkerscript.ld&#039;&#039;&amp;quot; an den Linker-Befehl. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Linkerscript für die Atollic TrueSTUDIO IDE, dieses kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich das Script im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM324x7I_EVAL/stm32_flash.ld&amp;quot; des Archives.&lt;br /&gt;
* Damit beim Starten die richtigen Initialisierungen vorgenommen werden (wie globale Variablen und bei C++ Konstruktoren globaler Objekt-Instanzen) muss als erstes ein Startupcode laufen, der dann die main()-Funktion aufruft. Der Startupcode ist meistens in Assembler geschrieben, C-Code ist aber auch möglich. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Startupcode für die Atollic TrueSTUDIO IDE, dieser kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich der Code in Assemblerform im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO/startup_stm32f40xx.s&amp;quot; des Archives. Der Assemblercode kann per arm-none-eabi-as (Flags s.o.) assemblisiert werden, die resultierende .o -Datei normal mitgelinkt.&lt;br /&gt;
&lt;br /&gt;
Zusammen bieten die beiden Dateien der Anwendung ein Standard-C-Interface, d.h. man kann wie gewohnt globale Variablen verwenden und seinen Code in die main()-Funktion schreiben.&lt;br /&gt;
&lt;br /&gt;
=== Tipps für Umsteiger von Atmel/PIC/8051 ===&lt;br /&gt;
* Prozessortakt hat unterschiedliche Taktquellen und eine PLL.&lt;br /&gt;
* Alle Peripheriemodule haben einen extra Clock, den man aktivieren muss.&lt;br /&gt;
* Wenn man z.B. einen UART benutzen möchte, so muss man den Clock vom UART, Alternate Function IO (AFIO) und dem GPIO-Port aktivieren.&lt;br /&gt;
* Ansonsten hat man nahezu doppelt so viele Möglichkeiten in den Peripheriemodulen.&lt;br /&gt;
* Interrupt-Flags müssen in der ISR selber gelöscht werden&lt;br /&gt;
* Forum zu [http://www.mikrocontroller.net/topic/175888 Interrupts vs. Events]&lt;br /&gt;
&lt;br /&gt;
=== Errata vom STM32F4xx die nicht im Errata von ST stehen ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267439#2788478 Aktivieren von DMA], wenn mehr als 3 DMA Kanäle aktiviert werden, kann es sein dass die nicht alle korrekt bedient werden. Auch klappt der DMA mit dem FSMC nicht immer zuverlässig. [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FWarning%20limit%20simultaneous%20DMAs%20to%202&amp;amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;amp;currentviews=811 siehe hier] [http://blog.frankvh.com/2012/01/13/stm32f2xx-stm32f4xx-dma-maximum-transactions/ und hier]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/260637#2700761 Nerviger Bug in &amp;quot;stm32f4xx.h&amp;quot;] Änderung Struktur GPIO_TypeDef&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/261690#2714754 Batterie wird leer gezogen], nur bei manchen Chips mit Rev. A&lt;br /&gt;
* [http://www.efton.sk/STM32/STM32F4xx_doc_errors.txt Liste von Dokumentations-Fehlern]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://www.reichelt.de/STM-Controller/2/index.html?;ACTION=2;LA=2;GROUPID=2950; Reichelt]&lt;br /&gt;
* [http://darisusgmbh.de/shop/index.php?cat=c2692_ARM-Cortex.html Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE (Farnell Programm für Private)] &lt;br /&gt;
* [http://www.sander-electronic.de/be00069.html Sander]&lt;br /&gt;
*[http://www.tme.eu/de/katalog/index.phtml#cleanParameters%3D1%26search%3DSTM32F10%26bf_szukaj%3D+ TME] &lt;br /&gt;
*[http://teske-electronics.de/index.php?cPath=3_9_53 Teske electronics]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/prozessoren-und-mikrocontroller/mikrocontroller/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294417325&amp;amp;lastAttributeSelectedBlock=4294425895 RS-Online]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gewerblich liefern natürlich viele wie EBV, Mouser, Farnell, Digikey usw...&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=gruppe&amp;amp;id=14 Im Shop von Embedded Projects]&lt;br /&gt;
* [http://www.watterott.com/de/Boards-Kits/ARM/ARM-Cortex-M3 Cortex M3 bei Watterott]&lt;br /&gt;
* [http://www.raisonance.com/~primer-starter-kits__microcontrollers__tool~tool__T018:4enfvamuxbtp.html Primer und Primer2 von Raisonance]&lt;br /&gt;
* [http://www.sander-electronic.de/es0028.html Sander Electronic]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/MP32F103-Stick:_Ein_Mini-Mikrocontroller-Board_mit_USB_und_bis_zu_4MB_Datenspeicher Artikel im Wiki, ARM mit USB und 4MB Speicher]&lt;br /&gt;
* [http://www.futurlec.com/STM32_Development_Board.shtml Futurlec Evalboard, ebenso Header-Board]&lt;br /&gt;
* [http://www.propox.com/products/t_174.html Propox, Header-Boards für 103R und 103V sowie Trägerplatine dafür]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Cortex_M3_OCM3U Cortex M3 Artikel im Wiki]&lt;br /&gt;
* [http://olimex.com/dev/index.html STM32 bei Olimex]&lt;br /&gt;
* [http://de.farnell.com/jsp/displayProduct.jsp?sku=1824325&amp;amp;action=view&amp;amp;CMP=GRHS-1000962 STM32Discovery bei Farnell] Mikrocontroller Board (STM32F100RBT6B) mit onboard USB-Programming Interface für ca. 12,50€&lt;br /&gt;
* [http://www.de.rs-online.com/web/p/products/7458434/ STM32Discovery bei RS-Components] 12,65 € +MwSt.&lt;br /&gt;
* [http://www.segor.de/#Q=STM32 VL DISCOVERY] STM32 Discovery bei Segor&lt;br /&gt;
* [http://www.watterott.com/de/STM32F4Discovery STM32F4DISCOVERY] STM32F4 Cortex M4 Controller mit JTAG-Debugger auf der Platine bei Watterott für 16,66EUR.&lt;br /&gt;
* [http://www.mcu-raisonance.com/~open4-development-platform__microcontrollers__tool~tool__T018:g65gu6ghg2n.html/ Open 4 oder auch genannt Evo-Primer]&lt;br /&gt;
* [http://www.wayengineer.com/index.php?main_page=index&amp;amp;cPath=50_66&amp;amp;page=1&amp;amp;sort=3a WayEngineer]&lt;br /&gt;
* [http://thinkembedded.ch/ST-STMicroelectronics:::24.html Im Thinkembedded Shop] in der Schweiz / DiscoveryF4, div. ETT und Olimex Boarde ab 20,18 CHF / 16,15 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&amp;amp;artID=200072 Im myAVR Shop] DiscoveryF4 mit möglichem Zubehör 16,45 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://www.keil.com/boards/cortexm.asp Keil/ARM Demoboards]&lt;br /&gt;
* [http://www.phytec.de Phytec]&lt;br /&gt;
* [http://shop.myavr.de/index.php?sp=artlist_kat.sp.php&amp;amp;katID=37 verschiedene ARM Produkte und Erweiterungen bei myAVR]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities, Tutorials ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/173753 Diskussion zum Artikel]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ARM*+STM32*+Cortex* Suche im Forum]&lt;br /&gt;
* [https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/AllItems.aspx Forum auf der ST Homepage] &lt;br /&gt;
* [http://www.stm32circle.com/hom/index.php STM32 Community] &lt;br /&gt;
*[http://joe-c.de/pages/posts/einstieg_mikrocontroller_stm32f103_101.php Einstieg:  STM32board mit Kamera (deutsch)] &lt;br /&gt;
* [http://www.ebv.com/fileadmin/products/Press_Print/Brochures/Product_Brochures/EBV_Cortex%20Collection_V2.pdf Übersicht der Cortex Prozessoren und deren Hersteller (nicht nur ST, von EBV)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/258652 Tutorial]&lt;br /&gt;
* [http://diller-technologies.de/stm32_wide.html STM32 Tutorial in Deutsch von Diller Technologies]&lt;br /&gt;
* [http://mySTM32.de STM32 C und C++ Tutorial in Deutsch ]&lt;br /&gt;
* [http://mikrocontroller.bplaced.net STM32F4 Quellcode-Librarys und CooCox-Projekte in Deutsch ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:STM32| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78494</id>
		<title>STM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78494"/>
		<updated>2013-09-14T18:15:32Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Programmierung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STM32 ist ein Mikrocontroller-Familie von [http://www.st.com/mcu/inchtml-pages-stm32.html ST] mit einer 32-Bit [http://www.arm.com/products/processors/cortex-m/index.php ARM Cortex-M0/M3/M4] CPU. Diese Architektur ist speziell für den Einsatz in Microcontrollern neu entwickelt und löst damit die bisherigen ARM7-basierten Controller weitestgehend ab. Den STM32 gibt es von ST in unzähligen Varianten mit variabler Peripherie und verschiedenen Gehäusegrößen und -formen. Durch die geringe Chipfläche des Cores ist es ST möglich, eine 32 Bit-CPU für weniger als 1&amp;amp;nbsp;€ anzubieten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:stm32F103xc.png|thumb|right|340px|Blockdiagramm STM32F103xC/D/E]]&lt;br /&gt;
&lt;br /&gt;
== STM32-Familien ==&lt;br /&gt;
&lt;br /&gt;
Bisher gibt es sieben STM32-Familien:&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp STM32F0]&lt;br /&gt;
** Cortex M0&lt;br /&gt;
** Mikrocontroller zum Einstieg&lt;br /&gt;
** Bis 48MHz&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1169.jsp STM32F1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
**Verschiedene Unterfamilien:&lt;br /&gt;
*** Connectivity line&lt;br /&gt;
*** Performance line&lt;br /&gt;
*** USB Access line&lt;br /&gt;
*** Access Line&lt;br /&gt;
*** Value line&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1575 STM32F2]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 120MHz&lt;br /&gt;
** Wie die STM32F1 Serie, Camera-Interface, 32-Bit Timer, Crypto-Engine...&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
** Fast 12-bit 5 MSPS and precise 16-bit sigma-delta ADCs&lt;br /&gt;
** Touch sensing controller (TSC)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp STM32F4]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 180MHz&lt;br /&gt;
** Bis zu 2MB Flash&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1295 STM32L1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Low Power &lt;br /&gt;
** mit LCD Treiber&lt;br /&gt;
** Bis 32MHz&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1581 STM32W]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** BIS 24MHz&lt;br /&gt;
** RF-MCU &lt;br /&gt;
[http://www.st.com/internet/mcu/class/1734.jsp Hier eine Übersicht zum Auswählen eines STM32Fxxx]&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Cortex-M0 / Cortex-M3 / Cortex-M4F Kern (mit FPU)&lt;br /&gt;
* 16KB ... 2MB  [[Flash-ROM]]&lt;br /&gt;
*  4KB ... 256KB [[Speicher#SRAM|SRAM]]&lt;br /&gt;
* 4KB [[Speicher#EEPROM|EEPROM]] (STM32L)&lt;br /&gt;
* 512 one-time programmable Bytes(STM32F2/4)&lt;br /&gt;
* [[IC-Gehäuseformen | Gehäuse]] 36 ... 216 Pins als QFN, LQFP und BGA&lt;br /&gt;
* Derzeit sind über &#039;&#039;&#039;250&#039;&#039;&#039; STM32 Derivate/Varianten verfügbar&lt;br /&gt;
* Bis 72MHz CPU-Takt, bis 120MHz beim STM32F2xx, bis 168/180 MHz beim STM32F4xx, wobei eine spezielle prefetch-hardware bis 120/168 MHz eine Geschwindigkeit erzielen soll, die 0 Wait-States entspricht. Der CPU-Takt wird über einen Multiplikator aus dem internen RC-Takt oder einem externen Quarz-Takt abgeleitet.&lt;br /&gt;
* Externes Businterface (nur bei Gehäusen ab 100 Pin und nur bei STM32F4, STM32F2 und STM32F1 Performance line)&lt;br /&gt;
* LCD Treiber für 8x40 Punkte (nicht beim STM32F2xx)&lt;br /&gt;
* TFT Treiber bei STM32F429 / STM32F439&lt;br /&gt;
* Spannungsbereich 1,65 ... 3,6V, nur eine Betriebsspannung nötig&lt;br /&gt;
* Temperaturbereich bis 125 °C&lt;br /&gt;
* Bis zu 140 IOs, viele davon [[Pegelwandler|5V-tolerant]]&lt;br /&gt;
* Interner, kalibrierter RC-Oszillator mit 8MHz (16MHz bei STM32F2/F4xx)&lt;br /&gt;
* Externer Quarz&lt;br /&gt;
* Real Time Clock mit eigenem Quarz und separater Stromversorgung&lt;br /&gt;
* Bis zu 16 [[Timer]], je Timer bis zu 4 IC/OC/PWM Ausgänge. Davon 2x Motion Control Timer (bei STM32F103xF/G)&lt;br /&gt;
* Systick Counter&lt;br /&gt;
* Bis zu 3 12-Bit [[AD-Wandler]] mit insgesamt 24 AD-Eingängen, integrierter [[Temperatursensor]], Referenzspannung Vrefint und VBatt Spannungsmessung (STM32F4xx)&lt;br /&gt;
* Bis zu 2 12-Bit [[DA-Wandler]] (bis zu 3 beim STM32F3xx)&lt;br /&gt;
* Bis zu 2 [[DMA]] Controller mit bis zu 12 Kanälen (16 beim STM32F2/4xx)&lt;br /&gt;
* Bis zu 2x [[I2C|I²C]]&lt;br /&gt;
* Bis zu 5x [[UART|USART]] mit LIN, IrDA und Modem Control (bis zu 8 beim STM32F2/F4xx)&lt;br /&gt;
* Bis zu 3x [[SPI]] (bis zu 6 beim STM32F4xx)&lt;br /&gt;
* Bis zu 2x [[I2S|I²S]]&lt;br /&gt;
* Bis zu 2x [[CAN#STMicroelectronics STM32 (Cortex M3/M4)|CAN]]&lt;br /&gt;
* Hardware [[CRC]] Unit, bei der STM32F3xx Serie mit einem einstellbaren Polynom &lt;br /&gt;
* Unique device ID register (96 Bits)&lt;br /&gt;
* RNG - Random Number Generator (STM32F2/4xx)&lt;br /&gt;
* Cryptographic Processor (CRYP) (STM32F2/4xx)&lt;br /&gt;
* Hash Processor (HASH) (STM32F2/4xx)&lt;br /&gt;
* Kamera-Interface (DCMI) (STM32F2/4xx)&lt;br /&gt;
* [[USB]] 2.0 Full Speed / OTG&lt;br /&gt;
* [[USB]] 2.0 Hi Speed OTG mit extra PHY-Chip (STM32F2/4xx)&lt;br /&gt;
* SDIO Interface (z.B. SD-Card Reader)&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Watchdog mit Window-Mode&lt;br /&gt;
* Jedes Peripheriemodul ist separat einschaltbar, wodurch sich erheblich [[Ultra low power|Strom sparen]] lässt&lt;br /&gt;
* [[JTAG]] und SWD (Serial Wire Debug) Interface&lt;br /&gt;
* Bis zu 6 Hardware-Breakpoints für Debuggen&lt;br /&gt;
* und vieles mehr . . .&lt;br /&gt;
&lt;br /&gt;
== Struktur der Dokumentation: ==&lt;br /&gt;
Die Dokumentation der STM32 ist zwar umfangreicher und komplexer z.B. die der [[AVR]], enthält aber dennoch alle nötigen Informationen. Sie teilt sich auf in mehrere Dokumente.&lt;br /&gt;
Als Beispiel der Dokumentation soll stellvertretend der [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164486 STM32F103RC] genannt werden. Die Seite von ST beinhaltet alle nötigen Informationen passend zu diesem Prozessor.&lt;br /&gt;
&lt;br /&gt;
Diese Dokumente von ST beschreiben den Controller:&lt;br /&gt;
&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00191185.pdf STM32F103xC/D/E Datasheet] sind die speziellen Eigenschaften einer bestimmten Modellreihe beschrieben und die exakten Daten und Pinouts aufgeführt, sowie die Zuordnung Chipname - Flash/RAM-Größe. Die Peripheriemodule werden nur aufgeführt, nicht detailliert beschrieben.&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/CD00171190.pdf Reference Manual (RM0008)] sind alle Peripheriemodule der jeweiligen STM32-Controllerfamilie im Detail beschrieben.&lt;br /&gt;
* Das [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0403c/index.html ARMv7M Architecture Reference Manual] beschreibt detailliert den Prozessorkern, wie das Exception Model, die CPU Instruktionen inklusive Encoding, etc.&lt;br /&gt;
* Das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00228163.pdf STM32 Cortex-M3 Programming Manual] ist eine Zusammenfassung des ARMv7M Architecture Reference Manual bezogen auf die STM32.&lt;br /&gt;
* Wer nicht die ST Firmware-Library verwendet, der benötigt zusätzlich das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00283419.pdf Flash Programming Manual] für die Betriebsart des Flash-ROMs, d.h. die frequenzabhängige Konfiguration der Waitstates.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich sollten auch die [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00197763.pdf Errata Sheets] beachtet werden. Empfohlen sei auch die Appnote &amp;quot;[http://www.st.com/web/en/resource/technical/document/application_note/CD00164185.pdf AN2586 Getting started with STM32F10xxx hardware development]&amp;quot;.&lt;br /&gt;
Die jeweiligen Dokumentations-PDFs sind auf der Produktseite von ST eines jeden Mikrocontrollers verlinkt.&lt;br /&gt;
&lt;br /&gt;
== Hardware Zugriffs-Libraries ==&lt;br /&gt;
=== CMSIS ===&lt;br /&gt;
&lt;br /&gt;
Die CMSIS (ARM® &#039;&#039;&#039;C&#039;&#039;&#039;ortex™ &#039;&#039;&#039;M&#039;&#039;&#039;icrocontroller &#039;&#039;&#039;S&#039;&#039;&#039;oftware &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;S&#039;&#039;&#039;tandard) ist eine Library von ARM für den Zugriff auf die herstellerübergreifenden Funktionen des ARM-Cores. Hierzu gehört bei den Cortex-M4F-Cores auch die DSP und Floating-Point Funktionalität. Weiterhin existieren eine Zahl von Helferfunktionen für den NVIC, den Sys-Tick-Counter, sowie eine SystemInit-Funktion, welche sich um die PLL kümmert. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen des CMSIS-Standards ([http://www.onARM.com www.onARM.com]) wurden die Headerdateien standardisiert, der Zugriff auf die Register erfolgt per &#039;&#039;&#039;Peripheral-&amp;gt;Register&#039;&#039;&#039;. Die CMSIS C-Dateien bzw. Header enthalten auch Anpassungen für die verschiedenen Compiler. Die Portierung eines Real-Time-Betriebsystems sollte unter Verwendung der CMSIS, für Chips der verschiedenen Hersteller, stark vereinfacht möglich sein (z.B. einheitliche Adressen für Core-Hardware/Sys-Tick-Counter).&lt;br /&gt;
&lt;br /&gt;
Die CMSIS ist im Download der ‎STM32 Standard Peripheral Library enthalten. Die Compiler-Hersteller liefern eine jeweils zur ihrer Tool-Version passende bzw. geprüfte Library (incl. CMSIS) aus. Diese Libs können, gegenüber den Downloads beim Chip-Hersteller, auch ältere Version beinhalten.&lt;br /&gt;
&lt;br /&gt;
=== ‎STM32 Standard Peripheral Library ===&lt;br /&gt;
&lt;br /&gt;
ST bietet für jede Controller Familie eine umfangreiche zur CMSIS passende Peripherie-Bibliothek. Alle Funktionen um die Peripherie zu benutzen sind gekapselt in einfache Strukturen und Funktionsaufrufe. Somit muss man sich nicht selbst um die Peripherie-Register kümmern. Diese Library und ihre Dokumentation setzen das grundlegende Verständnis der Funktion des jeweiligen Peripheriemoduls voraus, wie es die o.a. Referenz und diverse Appnotes vermitteln. Die Library beinhaltet außerdem für fast jede Peripherie mehrere Beispiele.&lt;br /&gt;
Für die USB Schnittstelle gibt es noch eine extra Library, genauso wie für Ethernet.&lt;br /&gt;
&lt;br /&gt;
Auf der &amp;quot;Design Resources&amp;quot; Seite der Produktseite von ST eines jeden STM32 Mikrocontrollers kann die Library für den jeweiligen Controller heruntergeladen werden, z.B. [http://www.st.com/web/en/catalog/tools/PF257890 hier] für den o.g. STM32F103RC.&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
Zur Programmierung der STM32 gibt es verschiedene Möglichkeiten, sowohl kommerzielle proprietäre als auch mit Freier Software.&lt;br /&gt;
&lt;br /&gt;
Der GCC (in seinen verschiedenen Binärdistributionen) ist der einzige ARM Compiler der [http://de.wikipedia.org/wiki/C%2B%2B11 C++11] unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Freie Software/Freeware ===&lt;br /&gt;
==== Selber zusammenstellen ====&lt;br /&gt;
Man nehme...:&lt;br /&gt;
* Eine Entwicklungsumgebung nach Wahl:&lt;br /&gt;
** [http://www.eclipse.org Eclipse] mit [http://www.eclipse.org/cdt/ C/C++ Development Tooling] und [http://gnuarmeclipse.livius.net/blog/ GNU ARM Plug-in] (Bei Verwendung vom GCC-ARM-Embedded als Toolchain &amp;quot;Sourcery G++ Lite&amp;quot; auswählen, dieser sieht für eclipse gleich aus) (Linux, Windows)&lt;br /&gt;
** [http://netbeans.org/ Netbeans] mit [http://plugins.netbeans.org/plugin/37426/gdbserver GDBserver-Plugin] (Linux, Windows)&lt;br /&gt;
** [http://www.kdevelop.org/ KDevelop] (Linux)&lt;br /&gt;
** [http://www.geany.org/ Geany] (Linux, Windows)&lt;br /&gt;
** Oder ein einfacher Texteditor&lt;br /&gt;
* Einen C,C++ Compiler:&lt;br /&gt;
** Eine der [[ARM_GCC#GCC_Bin.C3.A4rdistributionen|GCC-Binärdistributionen]], siehe auch [[#GCC|GCC]] (je nach Distribution Linux, Windows)&lt;br /&gt;
* Programmiersoftware zum Flashen des Target:&lt;br /&gt;
** [http://openocd.sourceforge.net/ OpenOCD] unterstützt viele Debug/Programmier-Adapter (Linux, Windows)&lt;br /&gt;
** [https://github.com/texane/stlink Texane stlink] funktioniert gut mit den ST-Link Adaptern wie sie zB. auf den STM32 Discovery Boards zu finden sind (Linux)&lt;br /&gt;
** Turtelizer2 oder andere JTAG Programmieradapter&lt;br /&gt;
** Bei Verwendung eines Segger J-Link, den [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf Segger GDB-Server] in Verbindung mit dem beim GCC mitgelieferten GDB (Linux, Windows)&lt;br /&gt;
&lt;br /&gt;
==== Komplette IDE&#039;s ====&lt;br /&gt;
* [http://www.codesourcery.com/sgpp/lite_edition.html Codesourcery Lite Edition]&lt;br /&gt;
* [http://www.coocox.org/ Coocox Eclipse IDE] kostenlose IDE für STM32F0 / F1 / F4 Hilfreiche Infos gibt es im [http://www.mikrocontroller.net/topic/214719?goto=new#2228482 hier] und [http://www.mikrocontroller.net/topic/214719?goto=new#2229943 hier] Forum&lt;br /&gt;
* [http://emide.org/ emIDE] kostenlose IDE die mit dem Segger J-LINK funktioniert.&lt;br /&gt;
&lt;br /&gt;
=== Kommerzielle Umgebungen ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp Keil µVision] (Demo max. 32KB Code): Die sehr komfortable µVison IDE ist neben dem ARM Compiler per Menue auch für einen beliebigen GNU-Compiler konfigurierbar. Damit besteht das 32k-Limit nur noch für den integrierten Debugger / Simulator. µVison selbst kann kostenlos mit dem MDK-Evaluationkit heruntergeladen werden. [https://www.keil.com/arm/demo/eval/arm.htm#DOWNLOAD download]&lt;br /&gt;
* [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR-Embedded-Workbench] (Demo max. 32KB Code) [http://supp.iar.com/Download/SW/?item=EWARM-EVAL download]&lt;br /&gt;
* [http://www.isystem.com/products/itag winIDEAiTag] Keine Code Limitierung, GCC und Testwerkzeug beinhaltet. Läuft mit dem iTag Adapter.&lt;br /&gt;
* [http://www.raisonance.com Raisonance Ride7] (GCC Compiler, kostenlose Version auf Debugging von max. 32KB Code limitiert, keine Limitierung beim Complilieren)&lt;br /&gt;
* [http://www.atollic.com Atollic] (Lite Version (bis V2.3.0) ohne Code-Limit, auf GCC basierend. Die neueste Version ab V3 hat fast keine Beschränkungen mehr außer jetzt einen Code-Limit von 32kB. Außerdem werden jetzt die meisten ARM Familien unterstützt. )&lt;br /&gt;
* [http://www.rowley.co.uk/arm/ Rowley Crossworks] (Demo 30 Tage unbeschränkt, 150$ für nichtkommerzielle Nutzung, auf GCC basierend)&lt;br /&gt;
* [http://www.code-red-tech.com Code Red] (GCC basierend)&lt;br /&gt;
* [http://www.sisy.de/index.php?id=17&amp;amp;no_cache=1 SiSy ARM oder SiSy Micrcontroller++] (Demo verfügbar keine Gößenbegrenzung, basiert auf GNU-Compiler, grafische Programmierung mit UML möglich, integrierter Debugger)&lt;br /&gt;
&lt;br /&gt;
=== Tutorials für diverse Tool-Kombinationen ===&lt;br /&gt;
* Zum Starten eine fertige Zusammenstellung: [http://www.mikrocontroller.net/topic/216554 Eclipse+codesourcery+st-link]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/265600 STM32F4 mit Code::Blocks]&lt;br /&gt;
* Sehr nützlich für Linux-Anwender auch diese Seite: [http://fun-tech.se/stm32/index.php STM32/ARM Cortex-M3 HOWTO: Development under Ubuntu.]&lt;br /&gt;
* [http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.pdf How-to manual - Installing a toolchain for Cortex-M3/STM32 on Ubuntu] ([http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.odt Das Gleiche im bearbeitbaren ODT-Format]) &lt;br /&gt;
* [[STM32 Eclipse Installation|Eclipse + Yagarto/CodeSourcery + OpenOCD/ST-Link]]&lt;br /&gt;
* [[STM32 LEDBlinken AtollicTrueStudio|Atollic TrueSTUDIO Installation + Demo]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/214719 Tipps für Installation mit Eclipse]&lt;br /&gt;
&lt;br /&gt;
* Installation für STM32 mit MDK-ARM Lite und Einstellungen STM32F0/F4-Discovery Board&lt;br /&gt;
** [https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM Download]&lt;br /&gt;
** [https://www.youtube.com/watch?v=RXOOxby5nns&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;index=1 Installations Video STM32F4 Discovery Board]&lt;br /&gt;
** [https://www.youtube.com/watch?annotation_id=annotation_203294&amp;amp;feature=iv&amp;amp;index=4&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;src_vid=sN4gDZ7H8gw&amp;amp;v=BeZcQjXxk9A Einstellungen STM32F0 Discovery Board Video]&lt;br /&gt;
* [http://www.firefly-power.de/ARM/debugging.html Eclipse Plugin &amp;quot;GDB Hardware Debugging&amp;quot; mit OpenOCD]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:STM32| ]]&lt;br /&gt;
* Installation für STM32 mit SiSy ARM&lt;br /&gt;
** Download: [http://www.sisy.de/index.php?id=59 SiSy DEMO] kein Begrenzung der Codegröße&lt;br /&gt;
** [http://www.youtube.com/watch?v=84Y3jYLWYpo Videobeispiel]&lt;br /&gt;
&lt;br /&gt;
* [http://www.comsytec.eu/epsdebugger.php Installation für STM32 mit Code::Blocks]&lt;br /&gt;
&lt;br /&gt;
* STM32 mit EmBlocks&lt;br /&gt;
** [http://www.emblocks.org/web/downloads-main Download EmBlocks]&lt;br /&gt;
** [https://www.youtube.com/watch?v=coHPJylnzC8 Video STM32 Project Wizzard in EmBlocks]&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter===&lt;br /&gt;
* [http://www.segger.com/jlink-model-overview.html SEGGER J-LINK / J-TRACE] für u.a. alle ARM7/9/11, Cortex-M0/M1/M3/M4/A5/A8/A9/R4 als [http://www.segger.com/cms/j-link-edu.html NonComercial] J-LINK-EDU für ca. 60,- zu haben, läuft in µVision, IAR, GDB (Linux &amp;amp; Windows über einen eigenen [http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf GDB-Server]), Keil, ...&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ Olimex] ARM-USB-OCD (ca. 60.-, hat zusätzlich einen Spannungsausgen und einen COM Port)&lt;br /&gt;
* Keil [http://www.keil.com/ulinkme/ ULINK-ME], [http://www.keil.com/arm/ulink2/ ULINK2], [http://www.keil.com/arm/ulinkpro/ ULINK pro]&lt;br /&gt;
* [http://www.st.com/internet/evalboard/product/219866.jsp ST-LINK], [http://www.st.com/internet/evalboard/product/251168.jsp ST-LINK/V2]&lt;br /&gt;
* Jedes STM32 Discovery board hat einen ST-Link für Programmierung/Debugging per SWD on-board, welcher auch für eigene STM32 Target Hardware benutzt werden kann (ca. 12,- bis 19,-€, je nach Typ).&lt;br /&gt;
* [http://www.raisonance.com/~rlink-debugger-programmer__microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html Raisonance RLink]&lt;br /&gt;
* [http://www.amontec.com Amontec]&lt;br /&gt;
* [http://www.hjtag.com H-JTAG] Personal Edition für ca. 60,- zu haben, läuft mit ADS, SDT, IAR, Vision und RVDS &lt;br /&gt;
* [http://www.isystem.com/products/itag iTag] für 50.- bei Amazon zu bestellen, oder als Eigenbau version (offenes Design) läuft mit der freien winIDEAiTag version (siehe oben)&lt;br /&gt;
&lt;br /&gt;
In der Regel haben die [[JTAG]] Adapter einen 20-Poligen Stecker, den man direkt auf die Demo-Boards, die auch einen 20-Poligen [[JTAG]]-Anschluss haben, einstecken kann. Die Pinbelegung ist genormt, siehe Artikel [[JTAG]]. Die Discovery-Boards haben keinen seperaten JTAG-Stecker, aber zumindest für das STM32F4 Discovery kann man sich leicht einen Adapter Pinheader-&amp;gt;JTAG Stecker selber bauen.&lt;br /&gt;
&lt;br /&gt;
Andere [[JTAG]] Adapter wie z.B. der ULink von Keil funktionieren nur mit dem Keil Compiler.&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter Open-Source===&lt;br /&gt;
&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-COOCOX], CoLinkEX Nachbau von Olimex, unterstützt JTAG sowie SWD&lt;br /&gt;
** [http://www.coocox.org/colinkEx.htm unterstützte uC]&lt;br /&gt;
** unterstütze IDEs: [http://www.keil.com/arm/mdk.asp Keil MDK-ARM 4.03] oder neuer, [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR Embedded Workbench 5.xx] oder neuer sowie die [http://www.coocox.org/CooCox_CoIDE.htm CooCox CoIDE]&lt;br /&gt;
* [http://www.oocdlink.com/ OOCDLink]&lt;br /&gt;
* [https://github.com/texane/stlink Stlink]&lt;br /&gt;
* [http://www.randomprojects.org/wiki/Floss-JTAG FLOSS-JTAG]&lt;br /&gt;
* [http://capitanio.org/mlink/ Linux Demo Code für die Discovery&#039;s ST-Link Programmierung]&lt;br /&gt;
&lt;br /&gt;
Der Controller hat auch einen fest eingebauten Boot-Lader. Damit läßt er sich auch über eine gewöhnliche serielle Schnittstelle programmieren, ohne dass man einen JTAG-Adapter benötigt. Dies erfordert ggf. entsprechende Konfiguration über die BOOTx-Pins und/oder die Option-Bytes.&lt;br /&gt;
&lt;br /&gt;
=== Demo-Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Einführung in die GPIO Programmierung der STM32F10x und STM32F30x Prozessoren am Beispiel des STM32F3 Discovery Boards und Vergleich zur AVR IO Registerstruktur [http://www.mikrocontroller.net/topic/300472#new]&lt;br /&gt;
* [[prog_bsp_timer_1_timer2|Programmbeispiel für die Verwendung von Timer2 zusammen mit dem Interrupt]]&lt;br /&gt;
* [http://www.firefly-power.de/ARM/printf.html Printf() debugging mit minimalem Aufwand]&lt;br /&gt;
* [[STM32_BLDC_Control_with_HALL_Sensor|Programmbeispiel für BLDC Motoransteuerung (Timer 1) mit HALLSensor (Timer 3)]]&lt;br /&gt;
* [[Cortex_M3_OCM3U]]&lt;br /&gt;
* Martin Thomas hat ein umfangreiches Projekt erstellt, in der die Eclipse Einstellungen enthalten sind:&lt;br /&gt;
** [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html &amp;quot;ChaN&#039;s FAT-Module with STM32 SPI&amp;quot;]&lt;br /&gt;
* [[STM32 USB-FS-Device Lib]]&lt;br /&gt;
* Modellbau-Sender auf STM32-Basis mit vielen Treibern [http://www.rcos.eu www.rcos.eu]&lt;br /&gt;
* Ausführliches [https://github.com/jkerdels/stm32edu Einstiegs-Tutorial] in Codeform für das [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4 discovery board]&lt;br /&gt;
* [http://www.redacom.ch/keillab/ Schweizer Gondelbahnsteuerung über Webserver auf ETT STM32F ARM KIT Board in Keil RTOS] mit Webcam&lt;br /&gt;
* Die [http://ethernut.svn.sourceforge.net/viewvc/ethernut/trunk/ Ethernut SVN Version] unterstützt inzwischen viele STM32 Typen, viele Devices und einige STM32 Demoboards&lt;br /&gt;
&lt;br /&gt;
== Debug- und Trace-Interface (CoreSight™ Debug and Trace Technologie)==&lt;br /&gt;
&lt;br /&gt;
Übersicht über beide Funktionalitäten und den Schnittstellen:&lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_cs_core_sight.htm&lt;br /&gt;
&lt;br /&gt;
Die Coresight-Debug-Architektur ermöglicht ein nicht-invasives Debugging, d.h. es können während des Betriebes (meistens) ohne Beeinflussung des Prozessors Daten vom Speicher gelesen und in selbigen geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Debugger Funktionen ===&lt;br /&gt;
&lt;br /&gt;
Der Debugger-Teil besitzt drei Funktionen:&lt;br /&gt;
* Run Control: z.B. Programm-Start, Stopp und Einzel-Schritte.&lt;br /&gt;
* (Program) Break Points: Ein Programm hält an, wenn der Programm Counter eine bestimmte Programm-Adresse erreicht.&lt;br /&gt;
** Die maximale Anzahl der gleichzeitig möglichen Break Points ist begrenzt (z.B. 6 bei einem STM32).&lt;br /&gt;
** Die Anzahl der Break Points ist nahezu unbegrenzt, wenn ein Debugger über den Memory Access (s.u.) sogenannte Flash Break Points unterstützt. Dabei wird ein geladenes Programm im Flash umprogrammiert, um den Debugger anzuhalten. Diese Funktionalität ist meistens ein kostenpflichtiges Zusatz-Feature des Debugger-Herstellers. &lt;br /&gt;
** Beinhaltet keine Data Watch Funktionalität, welche im Trace-Teil (DWT) realisiert wird.&lt;br /&gt;
* Memory Access: Lesen und Schreiben von Speicheradressen. &lt;br /&gt;
** Diese Funktionalität beinhaltet keine direkte Flash-Programmierung. Der Programmiervorgang für einen Flash ist herstellerspezifisch und muss von dem verwendeten Debugger unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
=== Trace Funktionen ===&lt;br /&gt;
Die Trace-Funktionalität wird in drei Funktionen aufgeteilt:&lt;br /&gt;
* ETM (Embedded Trace Macrocell): Optional, nicht jede CPU besitzt diese Hardware (Kostenfaktor, Austattung).&lt;br /&gt;
* ITM (Instrumentation Trace Macrocell): Über diesen Kanal kann ein vereinfachtes Trace des Core ermöglicht werden, sowie &amp;quot;printf-ähnlich&amp;quot; Daten über den ITM Channel 0 geschickt und im Debugger ausgegeben werden.&lt;br /&gt;
* DWT (Data Watchpoint &amp;amp; Trace Unit): &lt;br /&gt;
** Data Watch: 4 Access-Break-Points ( z.B. der Debugger bleibt stehen, wenn das Programm auf einen Speicher zugreift oder der Wert einer Variablen einen bestimmten Wert annimmt). &lt;br /&gt;
** Trace Unit: Programmverlauf (durch Lesen des Program Counters) und Interrupt Aufrufe verfolgen, sowie Zeitmessungen.&lt;br /&gt;
&lt;br /&gt;
Einige der Trace-Funktionalitäten können über die JTAG-Schnittstelle angesprochen werden. Die schnelle Trace-Funktionalität (mit 4 bit Parallel-Port) steht nur mit der erweiterten DEBUG + ETM Schnittstelle zur Verfügung. Im Gegensatz zum Debugger-Teil (Run Control, Break Points und Memory Access) werden Trace-Funktionen nicht von allen Debuggern unterstützt. Debugger mit der vollen Trace-Funktionalität kosten deutlich mehr.&lt;br /&gt;
&lt;br /&gt;
* Beispiele für Trace-Port-Aktivierungen für verschiedene Hersteller: http://www.keil.com/support/man/docs/jlink/jlink_capture_tracedata.htm&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung des parallelen Trace-Ports erfordert, je nach CPU Hersteller, zusätzliche Debugger-Makros für die Aktivierung und Port-Freischaltung. Zusätzlich sind die Schnittstellenauswahl und Einstellung (Frequenzen) im Entwicklungs-Tool (IDE) wichtig, um erfolgreich den Programm-Verlauf &amp;quot;tracen&amp;quot; zu können.&lt;br /&gt;
&lt;br /&gt;
=== Debug und Trace-Schnittstellen ===&lt;br /&gt;
Als Debug Interface stehen zwei Varianten zur Auswahl:&lt;br /&gt;
* [[JTAG]]: Dafür sind mindestens 6 Steuerleitungen nötig. Unterstützt Device Chaining: Mehrere verbundene Geräte können mit einem Debugger/Programmer gleichzeitig angesteuert werden.&lt;br /&gt;
* SWD (Serial Wire Debug): Hier mindestens 2  Steuerleitungen (3 mit SWO, zzgl GND und 3,3V). Die SWD Schnittstelle ist in der Regel schneller und kann auch Funktionen aus dem Trace-Teil beinhalten (z.B. ITM, dafür wird der SWO-Pin benötigt). Device Chaining ist mit dieser Schnittstelle nicht möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standard-JTAG Steckerbelegungen: &lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm&lt;br /&gt;
&lt;br /&gt;
=== Der 10polige JTAG-Stecker von mmvisual ===&lt;br /&gt;
mmvisual hat mit dieser Steckerbelegung die Standard JTAG Schnittstelle erweitert:&lt;br /&gt;
&lt;br /&gt;
Ich habe diesen Part in den Artikel [http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual JTAG] verschoben.&lt;br /&gt;
Hinzu gekommen ist die Adapterplatine 10-Polig auf Standard JTAG 20 Polig mit TTL/V24 Wandler. [http://www.mikrocontroller.net/articles/JTAG#Die_Adapterplatine Siehe hier.]&lt;br /&gt;
&lt;br /&gt;
== Hardware-Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Der STM32 benötigt für den Betrieb nur (Minimalbeschaltung):&lt;br /&gt;
&lt;br /&gt;
* VCC 2..3,3V (je nach Typ)&lt;br /&gt;
* AVCC 2..3,3V (sehr wichtig, der STM32 lässt sich ohne diese Spannung nicht programmieren)&lt;br /&gt;
* GND&lt;br /&gt;
* Reset Pin 100nF nach GND (ein Pull-Up Widerstand von ca. 40k ist intern vorhanden)&lt;br /&gt;
* [[#Bootmodi|Boot-Pins]]&lt;br /&gt;
&lt;br /&gt;
ansonsten nur ein paar einzelne Cs 100nF an VCC/GND.&lt;br /&gt;
&lt;br /&gt;
Um Programmieren zu können wird entweder noch die serielle Schnittstelle (Programmieren über den vorprogrammierten Bootloader) oder JTAG oder die SWD Schnittstelle benötigt.&lt;br /&gt;
&lt;br /&gt;
=== Bootmodi ===&lt;br /&gt;
Unterschiedliche Bootmodi lassen sich mittels der PINs BOOT0 und BOOT1 auswählen . Siehe Application Note [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/18225/AN2606.pdf AN2606].&lt;br /&gt;
&lt;br /&gt;
==== Boot from FLASH ====&lt;br /&gt;
Startadresse wird von 0x08000004 geladen&lt;br /&gt;
 BOOT0 Lo&lt;br /&gt;
 BOOT1 X &lt;br /&gt;
&lt;br /&gt;
==== Boot from SRAM ====&lt;br /&gt;
PC Startadresse wird an 0x200001E0 direkt angesprungen.&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Hi&lt;br /&gt;
Da der interne FLASH der stm32f1x laut Datenblatt nur für 1000 Schreibvorgänge ausgelegt ist, kann mittels BOOT0 (High) und BOOT1 (High) auch aus dem zuvor mit dem Debugger (JTAG/SWD) beschriebenen SRAM booten. &lt;br /&gt;
Hierbei gilt zu beachten:&lt;br /&gt;
 VTOR auf die NVIC Tabelle im SRAM vor dem auslösen des ersten Interrupts remappen.&lt;br /&gt;
&lt;br /&gt;
 Um ein vergleichbares Startverhalten zum FLASH zu erreichen, empfiehlt es sich,&lt;br /&gt;
 0xF1E0F85F an 0x200001E0 zu schreiben. Diese implizite Ausführung von &amp;quot;ldr.w pc,&lt;br /&gt;
 [pc, #-0x01E0]&amp;quot; beim Start erzwingt ein laden der Startadresse von 0x20000004.&lt;br /&gt;
&lt;br /&gt;
==== Boot from SYSMEM (RS232, CAN und USB) ====&lt;br /&gt;
PC Startadresse wird von 0x1FFFF004 geladen&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Lo&lt;br /&gt;
Auch ohne JTAG lässt sich ein STM32 programmieren (Bootloader-Aktivierung). Dabei stehen, je nach CPU-Typ, verschiedene Möglichkeiten zur Verfügung:&lt;br /&gt;
* RS-232 (bisher alle STMs)&lt;br /&gt;
* USB (nur in bestimmten MCUs mit entsprechender Bootloader-Version und PIN-Anzahl, z.B. STM32F105/107)&lt;br /&gt;
* CAN (wie USB nur in bestimmten MCUs)&lt;br /&gt;
&lt;br /&gt;
3 zusätzliche Verbindungen müssen auf dem Board gepatcht werden. Für einen Test geht es auch mit Tastern für RESET und BOOT0.&amp;lt;br&amp;gt;&lt;br /&gt;
RESET=RTS (L-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT0=DTR (H-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT1=LOW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Details sind hier im Forum: [http://www.mikrocontroller.net/topic/141711 STM32 Programmiertool]&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
=== Vorteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber ARM7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Interrupt-Controller jetzt Teil des Prozessors (als Core Peripheral), die Vector Table ist jetzt eine echte Vektortabelle, keine Sprungliste wie bei ARM7. Durch Automatismen zwischen Core und NVIC (auto register save r0..r3, lr, sp, pc) bei Interrupt Entry wird eine deutlich schnellere Ausführungszeit bei Interrupts erreicht. Der Interrupt Code muss sich nicht mehr selbst um die Sicherung der o.g. Register kümmern und eine besondere Konfiguration der Handler im Compiler entfällt. Sind vor Beendigung einer ISR (d.h. Rücksprung zum User Code) weitere Interrupts pending, so werden diese ausgeführt, ohne dass eine komplette pop-push-sequenz der Register notwendig ist. Schön beschrieben ist es hier im [http://www.st.com/mcu/files/mcu/1221142709.pdf Insider&#039;s Guide] unter 2.4.5 / Seite 20.&lt;br /&gt;
* Thumb-2 Befehlssatz, deutlich schneller als Thumb-1 und ebenso kompakt&lt;br /&gt;
* Weniger Pins für Debugging benötigt durch SWD&lt;br /&gt;
* Mehr Hardware Breakpoints machen debuggen einfacher&lt;br /&gt;
* Software ist einfacher weil die Umschaltung zwischen ARM Mode und Thumb Mode wegfällt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber LPC1700 und LPC1300:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Flexiblere Gehäuseformen mit mehr Peripherie bei kleinen Gehäusen&lt;br /&gt;
* FW-Lib für alle STM32 gleich, alle AppNotes/Demos beziehen sich auf diese eine FW-Lib was die Entwicklung der eigenen Applikation sehr beschleunigt.&lt;br /&gt;
* Genauerer und flexiblerer ADC, insbesondere gegenüber LPC1300&lt;br /&gt;
* Flexiblere Varianten der Peripherie &amp;gt;&amp;gt; bei weniger einen deutlichen Preisvorteil&lt;br /&gt;
* ab 0,85 EUR (Stand 2010) Allerdings gibts den LPC1100 mit Cortex-M0 schon ab 0,65 $!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber SAM3/4:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fast alle Pins sind 5-Volt tolerant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber anderen &amp;quot;Kleinen&amp;quot; wie z.B. PIC, Atmel usw.&#039;&#039;&#039;&lt;br /&gt;
* nahezu gleicher Preis bei Hobby Anwendungen&lt;br /&gt;
* 32 Bit ohne Umwege in Assembler rechenbar&lt;br /&gt;
* bessere Peripherie&lt;br /&gt;
* ... und weitere 1000 Punkte ...&lt;br /&gt;
&lt;br /&gt;
=== Nachteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil gegenüber LPC1700:&#039;&#039;&#039;&lt;br /&gt;
* STM32F1xx: nur 72 MHz statt 100 MHz (LPC1759: 120 MHz) Taktfrequenz; STM32F2xx hat diesen Nachteil nicht (ebenfalls 120MHz, STM32F4xx mit 168MHz) (Aber NXP hat schon 150MHz angekündigt)&lt;br /&gt;
* Der LPC1700 besitzt deutlich mehr Mechanismen, um die Auswirkung der Waitstates des Flash-ROMs auf Code- und Datenzugriffe zu reduzieren und das bedeutet mehr Performance bei gleicher Taktfrequenz. Beim STM32F2 entfällt dieser Nachteil wohl aufgrund des ART accelerators. &lt;br /&gt;
* Alle LPC1xxx haben 32 Bit Timer. Bei den STM32 haben das nur die STM32F2xx (2 Stück)&lt;br /&gt;
* I2S Einheit von ST hat keinen FIFO und im 24/32Bit Modus müssen 2x16Bit Halbwörter übertragen werden. Wobei allgemein bei neuen ARM Prozessoren die vorhandenen DMA-Kanäle (basierend auf eigenen BUS-Kanälen und Speicherzugriffen) FIFO in beliebiger Größe bedeutet. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil für Hobby-Anwender&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Nicht direkt &amp;quot;Steckbrettauglich&amp;quot;, da kein DIL Gehäuse verfügbar. Der ebay-Shop dipmicro führt jedoch sehr günstige Lötadapter für Umsetzung von LQFP48 auf DIP48. QFP64 in 0.5mm Pinabstand und nicht 0.8mm wie AVR&lt;br /&gt;
&lt;br /&gt;
* Viel Peripherie, Clocks müssen alle richtig eingestellt werden, ggf. Anpassung des Startup Codes usw.&lt;br /&gt;
** =&amp;gt; Daher nicht besonders gut für Mikrcontroller Anfänger/Einsteiger geeignet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Errata, Tipps und Tricks ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* AD-Wandler PA0: Im Errata steht, dass hier Fehler in der Wandlung entstehen könnten, also einen anderen Pin verwenden.&lt;br /&gt;
* CAN-Bus PD0/PD1: Remap geht erst ab der 100-Pin-Version. Steht im RM0008 unter 9.3.3.: &amp;quot;CAN1 alternate function remapping&amp;quot;. Alle Infos von RM0008 9.3.x sind interessant&lt;br /&gt;
* CAN und USB sind bei der F1 Serie nur bei der &amp;quot;◦Connectivity-Line&amp;quot; gleichzeitig nutzbar. Siehe Datenblätter.&lt;br /&gt;
* Mit internem RC-Oszillator kann die CPU mit maximal 64MHz betrieben werden. Mit einem externen Quarz sind dann 72MHz möglich.&lt;br /&gt;
* Für USB Betrieb muss die CPU mit 48MHz oder 72MHz betrieben werden (bei STM32F1xx).&lt;br /&gt;
* Der Idle Interrupt vom Usart wird zwar ausgelöst, aber nicht vom entsprechenden Statusflag angezeigt&lt;br /&gt;
* Der DMA fängt beim aktivieren immer von vorn an zu zählen, auch wenn er nur kurz angehalten wurde&lt;br /&gt;
* STM32F2xx hat kein Flash Size Register, bei STM32F4xx ist zwar ein flash Size Register beschrieben, kollidiert aber in der Adresse mit einem anderen Register&lt;br /&gt;
* Derivate mit internem EEPROM und nur einer Speicherbank haben das &amp;quot;Feature&amp;quot; bei write/erase des Data-Flashes (EEPROM) einen kompletten stall der code execution zu verursachen (inkl. ISR&#039;s, DMA). Desgleichen bei write/erase des internen Flash (ISP-routinen, EEPROM-Emulation).&lt;br /&gt;
* Der I2C hat diverse Fehler, welche im Errata des jeweiligen Modells (z.B. [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00238166.pdf STM32F105xx and STM32F107xx Errata sheet] ) zu finden sind. Workarounds hierzu finden sich in der Application Note [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00209826.pdf AN2824]&lt;br /&gt;
* [http://blog.frankvh.com/category/stm32/ weitere undokummentierte Features]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== GCC ====&lt;br /&gt;
Um den GCC direkt zu verwenden (zB. mit selbstgebautem makefile), falls man das nicht von einer Entwicklungsumgebung machen lässt, siehe zunächst [[ARM GCC]]. STM32-spezifisches ist:&lt;br /&gt;
* Wird die [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] und ein Quarz verwendet, so muss noch per Präprozessor-Definition die Frequenz des Quarzes angegeben werden mittels z.B. -DHSE_VALUE=8000000 für 8MHz (wie auf dem STM32F4 Discovery).&lt;br /&gt;
&lt;br /&gt;
===== Startupcode &amp;amp; Linkerscript =====&lt;br /&gt;
* Damit der compilierte Code an den richtigen Stellen im Controller landet (d.h. dem Flash) muss man dem Linker ein Linkerscript mitgeben. Dies geht per &amp;quot;-T &#039;&#039;pfad_zum_linkerscript.ld&#039;&#039;&amp;quot; an den Linker-Befehl. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Linkerscript für die Atollic TrueSTUDIO IDE, dieses kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich das Script im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM324x7I_EVAL/stm32_flash.ld&amp;quot; des Archives.&lt;br /&gt;
* Damit beim Starten die richtigen Initialisierungen vorgenommen werden (wie globale Variablen und bei C++ Konstruktoren globaler Objekt-Instanzen) muss als erstes ein Startupcode laufen, der dann die main()-Funktion aufruft. Der Startupcode ist meistens in Assembler geschrieben, C-Code ist aber auch möglich. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Startupcode für die Atollic TrueSTUDIO IDE, dieser kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich der Code in Assemblerform im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO/startup_stm32f40xx.s&amp;quot; des Archives. Der Assemblercode kann per arm-none-eabi-as (Flags s.o.) assemblisiert werden, die resultierende .o -Datei normal mitgelinkt.&lt;br /&gt;
&lt;br /&gt;
Zusammen bieten die beiden Dateien der Anwendung ein Standard-C-Interface, d.h. man kann wie gewohnt globale Variablen verwenden und seinen Code in die main()-Funktion schreiben.&lt;br /&gt;
&lt;br /&gt;
=== Tipps für Umsteiger von Atmel/PIC/8051 ===&lt;br /&gt;
* Prozessortakt hat unterschiedliche Taktquellen und eine PLL.&lt;br /&gt;
* Alle Peripheriemodule haben einen extra Clock, den man aktivieren muss.&lt;br /&gt;
* Wenn man z.B. einen UART benutzen möchte, so muss man den Clock vom UART, Alternate Function IO (AFIO) und dem GPIO-Port aktivieren.&lt;br /&gt;
* Ansonsten hat man nahezu doppelt so viele Möglichkeiten in den Peripheriemodulen.&lt;br /&gt;
* Interrupt-Flags müssen in der ISR selber gelöscht werden&lt;br /&gt;
* Forum zu [http://www.mikrocontroller.net/topic/175888 Interrupts vs. Events]&lt;br /&gt;
&lt;br /&gt;
=== Errata vom STM32F4xx die nicht im Errata von ST stehen ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267439#2788478 Aktivieren von DMA], wenn mehr als 3 DMA Kanäle aktiviert werden, kann es sein dass die nicht alle korrekt bedient werden. Auch klappt der DMA mit dem FSMC nicht immer zuverlässig. [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FWarning%20limit%20simultaneous%20DMAs%20to%202&amp;amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;amp;currentviews=811 siehe hier] [http://blog.frankvh.com/2012/01/13/stm32f2xx-stm32f4xx-dma-maximum-transactions/ und hier]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/260637#2700761 Nerviger Bug in &amp;quot;stm32f4xx.h&amp;quot;] Änderung Struktur GPIO_TypeDef&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/261690#2714754 Batterie wird leer gezogen], nur bei manchen Chips mit Rev. A&lt;br /&gt;
* [http://www.efton.sk/STM32/STM32F4xx_doc_errors.txt Liste von Dokumentations-Fehlern]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://www.reichelt.de/STM-Controller/2/index.html?;ACTION=2;LA=2;GROUPID=2950; Reichelt]&lt;br /&gt;
* [http://darisusgmbh.de/shop/index.php?cat=c2692_ARM-Cortex.html Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE (Farnell Programm für Private)] &lt;br /&gt;
* [http://www.sander-electronic.de/be00069.html Sander]&lt;br /&gt;
*[http://www.tme.eu/de/katalog/index.phtml#cleanParameters%3D1%26search%3DSTM32F10%26bf_szukaj%3D+ TME] &lt;br /&gt;
*[http://teske-electronics.de/index.php?cPath=3_9_53 Teske electronics]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/prozessoren-und-mikrocontroller/mikrocontroller/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294417325&amp;amp;lastAttributeSelectedBlock=4294425895 RS-Online]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gewerblich liefern natürlich viele wie EBV, Mouser, Farnell, Digikey usw...&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=gruppe&amp;amp;id=14 Im Shop von Embedded Projects]&lt;br /&gt;
* [http://www.watterott.com/de/Boards-Kits/ARM/ARM-Cortex-M3 Cortex M3 bei Watterott]&lt;br /&gt;
* [http://www.raisonance.com/~primer-starter-kits__microcontrollers__tool~tool__T018:4enfvamuxbtp.html Primer und Primer2 von Raisonance]&lt;br /&gt;
* [http://www.sander-electronic.de/es0028.html Sander Electronic]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/MP32F103-Stick:_Ein_Mini-Mikrocontroller-Board_mit_USB_und_bis_zu_4MB_Datenspeicher Artikel im Wiki, ARM mit USB und 4MB Speicher]&lt;br /&gt;
* [http://www.futurlec.com/STM32_Development_Board.shtml Futurlec Evalboard, ebenso Header-Board]&lt;br /&gt;
* [http://www.propox.com/products/t_174.html Propox, Header-Boards für 103R und 103V sowie Trägerplatine dafür]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Cortex_M3_OCM3U Cortex M3 Artikel im Wiki]&lt;br /&gt;
* [http://olimex.com/dev/index.html STM32 bei Olimex]&lt;br /&gt;
* [http://de.farnell.com/jsp/displayProduct.jsp?sku=1824325&amp;amp;action=view&amp;amp;CMP=GRHS-1000962 STM32Discovery bei Farnell] Mikrocontroller Board (STM32F100RBT6B) mit onboard USB-Programming Interface für ca. 12,50€&lt;br /&gt;
* [http://www.de.rs-online.com/web/p/products/7458434/ STM32Discovery bei RS-Components] 12,65 € +MwSt.&lt;br /&gt;
* [http://www.segor.de/#Q=STM32 VL DISCOVERY] STM32 Discovery bei Segor&lt;br /&gt;
* [http://www.watterott.com/de/STM32F4Discovery STM32F4DISCOVERY] STM32F4 Cortex M4 Controller mit JTAG-Debugger auf der Platine bei Watterott für 16,66EUR.&lt;br /&gt;
* [http://www.mcu-raisonance.com/~open4-development-platform__microcontrollers__tool~tool__T018:g65gu6ghg2n.html/ Open 4 oder auch genannt Evo-Primer]&lt;br /&gt;
* [http://www.wayengineer.com/index.php?main_page=index&amp;amp;cPath=50_66&amp;amp;page=1&amp;amp;sort=3a WayEngineer]&lt;br /&gt;
* [http://thinkembedded.ch/ST-STMicroelectronics:::24.html Im Thinkembedded Shop] in der Schweiz / DiscoveryF4, div. ETT und Olimex Boarde ab 20,18 CHF / 16,15 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&amp;amp;artID=200072 Im myAVR Shop] DiscoveryF4 mit möglichem Zubehör 16,45 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://www.keil.com/boards/cortexm.asp Keil/ARM Demoboards]&lt;br /&gt;
* [http://www.phytec.de Phytec]&lt;br /&gt;
* [http://shop.myavr.de/index.php?sp=artlist_kat.sp.php&amp;amp;katID=37 verschiedene ARM Produkte und Erweiterungen bei myAVR]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities, Tutorials ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/173753 Diskussion zum Artikel]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ARM*+STM32*+Cortex* Suche im Forum]&lt;br /&gt;
* [https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/AllItems.aspx Forum auf der ST Homepage] &lt;br /&gt;
* [http://www.stm32circle.com/hom/index.php STM32 Community] &lt;br /&gt;
*[http://joe-c.de/pages/posts/einstieg_mikrocontroller_stm32f103_101.php Einstieg:  STM32board mit Kamera (deutsch)] &lt;br /&gt;
* [http://www.ebv.com/fileadmin/products/Press_Print/Brochures/Product_Brochures/EBV_Cortex%20Collection_V2.pdf Übersicht der Cortex Prozessoren und deren Hersteller (nicht nur ST, von EBV)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/258652 Tutorial]&lt;br /&gt;
* [http://diller-technologies.de/stm32_wide.html STM32 Tutorial in Deutsch von Diller Technologies]&lt;br /&gt;
* [http://mySTM32.de STM32 C und C++ Tutorial in Deutsch ]&lt;br /&gt;
* [http://mikrocontroller.bplaced.net STM32F4 Quellcode-Librarys und CooCox-Projekte in Deutsch ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:STM32| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78050</id>
		<title>STM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=78050"/>
		<updated>2013-08-18T18:33:19Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Eclipse für STM32 (Windows) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STM32 ist ein Mikrocontroller-Familie von [http://www.st.com/mcu/inchtml-pages-stm32.html ST] mit einer 32-Bit [http://www.arm.com/products/processors/cortex-m/index.php ARM Cortex-M0/M3/M4] CPU. Diese Architektur ist speziell für den Einsatz in Microcontrollern neu entwickelt und löst damit die bisherigen ARM7-basierten Controller weitestgehend ab. Den STM32 gibt es von ST in unzähligen Varianten mit variabler Peripherie und verschiedenen Gehäusegrößen und -formen. Durch die geringe Chipfläche des Cores ist es ST möglich, eine 32 Bit-CPU für weniger als 1&amp;amp;nbsp;€ anzubieten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:stm32F103xc.png|thumb|right|340px|Blockdiagramm STM32F103xC/D/E]]&lt;br /&gt;
&lt;br /&gt;
== STM32-Familien ==&lt;br /&gt;
&lt;br /&gt;
Bisher gibt es sieben STM32-Familien:&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp STM32F0]&lt;br /&gt;
** Cortex M0&lt;br /&gt;
** Mikrocontroller zum Einstieg&lt;br /&gt;
** Bis 48MHz&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1169.jsp STM32F1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
**Verschiedene Unterfamilien:&lt;br /&gt;
*** Connectivity line&lt;br /&gt;
*** Performance line&lt;br /&gt;
*** USB Access line&lt;br /&gt;
*** Access Line&lt;br /&gt;
*** Value line&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1575 STM32F2]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 120MHz&lt;br /&gt;
** Wie die STM32F1 Serie, Camera-Interface, 32-Bit Timer, Crypto-Engine...&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
** Fast 12-bit 5 MSPS and precise 16-bit sigma-delta ADCs&lt;br /&gt;
** Touch sensing controller (TSC)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp STM32F4]&lt;br /&gt;
** Cortex M4F&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 180MHz&lt;br /&gt;
** Bis zu 2MB Flash&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1295 STM32L1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Low Power &lt;br /&gt;
** mit LCD Treiber&lt;br /&gt;
** Bis 32MHz&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1581 STM32W]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** BIS 24MHz&lt;br /&gt;
** RF-MCU &lt;br /&gt;
[http://www.st.com/internet/mcu/class/1734.jsp Hier eine Übersicht zum Auswählen eines STM32Fxxx]&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Cortex-M0 / Cortex-M3 / Cortex-M4F Kern (mit FPU)&lt;br /&gt;
* 16KB ... 2MB  [[Flash-ROM]]&lt;br /&gt;
*  4KB ... 256KB [[Speicher#SRAM|SRAM]]&lt;br /&gt;
* 4KB [[Speicher#EEPROM|EEPROM]] (STM32L)&lt;br /&gt;
* 512 one-time programmable Bytes(STM32F2/4)&lt;br /&gt;
* [[IC-Gehäuseformen | Gehäuse]] 36 ... 216 Pins als QFN, LQFP und BGA&lt;br /&gt;
* Derzeit sind über &#039;&#039;&#039;250&#039;&#039;&#039; STM32 Derivate/Varianten verfügbar&lt;br /&gt;
* Bis 72MHz CPU-Takt, bis 120MHz beim STM32F2xx, bis 168/180 MHz beim STM32F4xx, wobei eine spezielle prefetch-hardware bis 120/168 MHz eine Geschwindigkeit erzielen soll, die 0 Wait-States entspricht. Der CPU-Takt wird über einen Multiplikator aus dem internen RC-Takt oder einem externen Quarz-Takt abgeleitet.&lt;br /&gt;
* Externes Businterface (nur bei Gehäusen ab 100 Pin und nur bei STM32F4, STM32F2 und STM32F1 Performance line)&lt;br /&gt;
* LCD Treiber für 8x40 Punkte (nicht beim STM32F2xx)&lt;br /&gt;
* TFT Treiber bei STM32F429 / STM32F439&lt;br /&gt;
* Spannungsbereich 1,65 ... 3,6V, nur eine Betriebsspannung nötig&lt;br /&gt;
* Temperaturbereich bis 125 °C&lt;br /&gt;
* Bis zu 140 IOs, viele davon [[Pegelwandler|5V-tolerant]]&lt;br /&gt;
* Interner, kalibrierter RC-Oszillator mit 8MHz (16MHz bei STM32F2/F4xx)&lt;br /&gt;
* Externer Quarz&lt;br /&gt;
* Real Time Clock mit eigenem Quarz und separater Stromversorgung&lt;br /&gt;
* Bis zu 16 [[Timer]], je Timer bis zu 4 IC/OC/PWM Ausgänge. Davon 2x Motion Control Timer (bei STM32F103xF/G)&lt;br /&gt;
* Systick Counter&lt;br /&gt;
* Bis zu 3 12-Bit [[AD-Wandler]] mit insgesamt 24 AD-Eingängen, integrierter [[Temperatursensor]], Referenzspannung Vrefint und VBatt Spannungsmessung (STM32F4xx)&lt;br /&gt;
* Bis zu 2 12-Bit [[DA-Wandler]] (bis zu 3 beim STM32F3xx)&lt;br /&gt;
* Bis zu 2 [[DMA]] Controller mit bis zu 12 Kanälen (16 beim STM32F2/4xx)&lt;br /&gt;
* Bis zu 2x [[I2C|I²C]]&lt;br /&gt;
* Bis zu 5x [[UART|USART]] mit LIN, IrDA und Modem Control (bis zu 8 beim STM32F2/F4xx)&lt;br /&gt;
* Bis zu 3x [[SPI]] (bis zu 6 beim STM32F4xx)&lt;br /&gt;
* Bis zu 2x [[I2S|I²S]]&lt;br /&gt;
* Bis zu 2x [[CAN]]&lt;br /&gt;
* Unique device ID register (96 Bits)&lt;br /&gt;
* RNG - Random Number Generator (STM32F2/4xx)&lt;br /&gt;
* Cryptographic Processor (CRYP) (STM32F2/4xx)&lt;br /&gt;
* Hash Processor (HASH) (STM32F2/4xx)&lt;br /&gt;
* Kamera-Interface (DCMI) (STM32F2/4xx)&lt;br /&gt;
* [[USB]] 2.0 Full Speed / OTG&lt;br /&gt;
* [[USB]] 2.0 Hi Speed OTG mit extra PHY-Chip (STM32F2/4xx)&lt;br /&gt;
* SDIO Interface (z.B. SD-Card Reader)&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Watchdog mit Window-Mode&lt;br /&gt;
* Jedes Peripheriemodul ist separat einschaltbar, wodurch sich erheblich [[Ultra low power|Strom sparen]] lässt&lt;br /&gt;
* [[JTAG]] und SWD (Serial Wire Debug) Interface&lt;br /&gt;
* Bis zu 6 Hardware-Breakpoints für Debuggen&lt;br /&gt;
* und vieles mehr . . .&lt;br /&gt;
&lt;br /&gt;
== Struktur der Dokumentation: ==&lt;br /&gt;
Die Dokumentation der STM32 ist zwar umfangreicher und komplexer z.B. die der [[AVR]], enthält aber dennoch alle nötigen Informationen. Sie teilt sich auf in mehrere Dokumente.&lt;br /&gt;
Als Beispiel der Dokumentation soll stellvertretend der [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164486 STM32F103RC] genannt werden. Die Seite von ST beinhaltet alle nötigen Informationen passend zu diesem Prozessor.&lt;br /&gt;
&lt;br /&gt;
Diese Dokumente von ST beschreiben den Controller:&lt;br /&gt;
&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00191185.pdf STM32F103xC/D/E Datasheet] sind die speziellen Eigenschaften einer bestimmten Modellreihe beschrieben und die exakten Daten und Pinouts aufgeführt, sowie die Zuordnung Chipname - Flash/RAM-Größe. Die Peripheriemodule werden nur aufgeführt, nicht detailliert beschrieben.&lt;br /&gt;
* Im [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/CD00171190.pdf Reference Manual (RM0008)] sind alle Peripheriemodule der jeweiligen STM32-Controllerfamilie im Detail beschrieben.&lt;br /&gt;
* Das [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0403c/index.html ARMv7M Architecture Reference Manual] beschreibt detailliert den Prozessorkern, wie das Exception Model, die CPU Instruktionen inklusive Encoding, etc.&lt;br /&gt;
* Das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00228163.pdf STM32 Cortex-M3 Programming Manual] ist eine Zusammenfassung des ARMv7M Architecture Reference Manual bezogen auf die STM32.&lt;br /&gt;
* Wer nicht die ST Firmware-Library verwendet, der benötigt zusätzlich das [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/programming_manual/CD00283419.pdf Flash Programming Manual] für die Betriebsart des Flash-ROMs, d.h. die frequenzabhängige Konfiguration der Waitstates.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich sollten auch die [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00197763.pdf Errata Sheets] beachtet werden. Empfohlen sei auch die Appnote &amp;quot;[http://www.st.com/web/en/resource/technical/document/application_note/CD00164185.pdf AN2586 Getting started with STM32F10xxx hardware development]&amp;quot;.&lt;br /&gt;
Die jeweiligen Dokumentations-PDFs sind auf der Produktseite von ST eines jeden Mikrocontrollers verlinkt.&lt;br /&gt;
&lt;br /&gt;
== Hardware Zugriffs-Libraries ==&lt;br /&gt;
=== CMSIS ===&lt;br /&gt;
&lt;br /&gt;
Die CMSIS (ARM® &#039;&#039;&#039;C&#039;&#039;&#039;ortex™ &#039;&#039;&#039;M&#039;&#039;&#039;icrocontroller &#039;&#039;&#039;S&#039;&#039;&#039;oftware &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;S&#039;&#039;&#039;tandard) ist eine Library von ARM für den Zugriff auf die herstellerübergreifenden Funktionen des ARM-Cores. Hierzu gehört bei den Cortex-M4F-Cores auch die DSP und Floating-Point Funktionalität. Weiterhin existieren eine Zahl von Helferfunktionen für den NVIC, den Sys-Tick-Counter, sowie eine SystemInit-Funktion, welche sich um die PLL kümmert. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen des CMSIS-Standards ([http://www.onARM.com www.onARM.com]) wurden die Headerdateien standardisiert, der Zugriff auf die Register erfolgt per &#039;&#039;&#039;Peripheral-&amp;gt;Register&#039;&#039;&#039;. Die CMSIS C-Dateien bzw. Header enthalten auch Anpassungen für die verschiedenen Compiler. Die Portierung eines Real-Time-Betriebsystems sollte unter Verwendung der CMSIS, für Chips der verschiedenen Hersteller, stark vereinfacht möglich sein (z.B. einheitliche Adressen für Core-Hardware/Sys-Tick-Counter).&lt;br /&gt;
&lt;br /&gt;
Die CMSIS ist im Download der ‎STM32 Standard Peripheral Library enthalten. Die Compiler-Hersteller liefern eine jeweils zur ihrer Tool-Version passende bzw. geprüfte Library (incl. CMSIS) aus. Diese Libs können, gegenüber den Downloads beim Chip-Hersteller, auch ältere Version beinhalten.&lt;br /&gt;
&lt;br /&gt;
=== ‎STM32 Standard Peripheral Library ===&lt;br /&gt;
&lt;br /&gt;
ST bietet für jede Controller Familie eine umfangreiche zur CMSIS passende Peripherie-Bibliothek. Alle Funktionen um die Peripherie zu benutzen sind gekapselt in einfache Strukturen und Funktionsaufrufe. Somit muss man sich nicht selbst um die Peripherie-Register kümmern. Diese Library und ihre Dokumentation setzen das grundlegende Verständnis der Funktion des jeweiligen Peripheriemoduls voraus, wie es die o.a. Referenz und diverse Appnotes vermitteln. Die Library beinhaltet außerdem für fast jede Peripherie mehrere Beispiele.&lt;br /&gt;
Für die USB Schnittstelle gibt es noch eine extra Library, genauso wie für Ethernet.&lt;br /&gt;
&lt;br /&gt;
Auf der &amp;quot;Design Resources&amp;quot; Seite der Produktseite von ST eines jeden STM32 Mikrocontrollers kann die Library für den jeweiligen Controller heruntergeladen werden, z.B. [http://www.st.com/web/en/catalog/tools/PF257890 hier] für den o.g. STM32F103RC.&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
Zur Programmierung der STM32 gibt es verschiedene Möglichkeiten, sowohl kommerzielle proprietäre als auch mit Freier Software.&lt;br /&gt;
&lt;br /&gt;
Der GCC (in seinen verschiedenen Binärdistributionen) ist der einzige ARM Compiler der [http://de.wikipedia.org/wiki/C%2B%2B11 C++11] unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Freie Software/Freeware ===&lt;br /&gt;
==== Selber zusammenstellen ====&lt;br /&gt;
Man nehme...:&lt;br /&gt;
* Eine Entwicklungsumgebung nach Wahl:&lt;br /&gt;
** [http://www.eclipse.org Eclipse] mit [http://www.eclipse.org/cdt/ C/C++ Development Tooling] und [http://gnuarmeclipse.livius.net/blog/ GNU ARM Plug-in] (Bei Verwendung vom GCC-ARM-Embedded als Toolchain &amp;quot;Sourcery G++ Lite&amp;quot; auswählen, dieser sieht für eclipse gleich aus)&lt;br /&gt;
** [http://netbeans.org/ Netbeans] mit [http://plugins.netbeans.org/plugin/37426/gdbserver GDBserver-Plugin]&lt;br /&gt;
** [http://www.kdevelop.org/ KDevelop]&lt;br /&gt;
** [http://www.geany.org/ Geany]&lt;br /&gt;
** Oder ein einfacher Texteditor&lt;br /&gt;
* Einen C,C++ Compiler:&lt;br /&gt;
** [https://launchpad.net/gcc-arm-embedded GCC-ARM-Embedded] wird von ARM selbst gepflegt, siehe auch [[#GCC|GCC]]&lt;br /&gt;
** [http://www.yagarto.de Yagarto Tools] funktionieren nicht mit FPU&lt;br /&gt;
* Programmiersoftware zum Flashen des Target:&lt;br /&gt;
** [http://openocd.sourceforge.net/ OpenOCD] unterstützt viele Debug/Programmier-Adapter&lt;br /&gt;
** [https://github.com/texane/stlink Texane stlink] funktioniert gut mit den ST-Link Adaptern wie sie zB. auf den STM32 Discovery Boards zu finden sind&lt;br /&gt;
** Turtelizer2 oder andere JTAG Programmieradapter&lt;br /&gt;
&lt;br /&gt;
==== Komplette IDE&#039;s ====&lt;br /&gt;
* [http://www.codesourcery.com/sgpp/lite_edition.html Codesourcery Lite Edition]&lt;br /&gt;
* [http://www.coocox.org/ Coocox Eclipse IDE] kostenlose IDE für STM32F0 / F1 / F4 Hilfreiche Infos gibt es im [http://www.mikrocontroller.net/topic/214719?goto=new#2228482 hier] und [http://www.mikrocontroller.net/topic/214719?goto=new#2229943 hier] Forum&lt;br /&gt;
* [http://emide.org/ emIDE] kostenlose IDE die mit dem Segger J-LINK funktioniert.&lt;br /&gt;
=== Mehr Links ===&lt;br /&gt;
* Eclipse Plugin &amp;quot;GDB Hardware Debugging&amp;quot; mit [http://www.firefly-power.de/ARM/debugging.html OpenOCD server]&lt;br /&gt;
* [http://www.st.com/internet/com/software/ides_mcu.jsp#stm32 ST Liste: IDEs, Toolsets and Debug tools for MCUs]&lt;br /&gt;
* Zum Starten eine fertige Zusammenstellung: [http://www.mikrocontroller.net/topic/216554 Eclipse+codesourcery+st-link]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/265600 STM32F4 mit Code::Blocks]&lt;br /&gt;
* Sehr nützlich für Linux-Anwender auch diese Seite: [http://fun-tech.se/stm32/index.php STM32/ARM Cortex-M3 HOWTO: Development under Ubuntu.]&lt;br /&gt;
* [http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.pdf How-to manual - Installing a toolchain for Cortex-M3/STM32 on Ubuntu] ([http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.odt Das Gleiche im bearbeitbaren ODT-Format]) &lt;br /&gt;
&lt;br /&gt;
=== Eclipse für STM32 (Windows) ===&lt;br /&gt;
==== Installation ====&lt;br /&gt;
Hier ist der Anfang des Artikels [[STM32 Eclipse Installation]], hier ist neueres beschrieben als hier aufgeführt. Wenn der Artikel fertig ist, dann wird dieser Teil gelöscht.&lt;br /&gt;
&lt;br /&gt;
* Eclipse &amp;quot;Helios&amp;quot; installieren mit GNU ARM Eclipse Plug-in&lt;br /&gt;
Eclipse IDE for C/C++ Developers&amp;lt;ref&amp;gt;http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliosr&amp;lt;/ref&amp;gt; downloaden und installieren&lt;br /&gt;
&lt;br /&gt;
* GNU ARM Eclipse Plug-in&amp;lt;ref&amp;gt;http://sourceforge.net/projects/gnuarmeclipse/&amp;lt;/ref&amp;gt; runterladen und installieren. [http://sourceforge.net/apps/mediawiki/gnuarmeclipse/index.php?title=Main_Page Weitere Infos].&lt;br /&gt;
&lt;br /&gt;
Wird CodeSourcery G++ Lite verwendet, so muss die PATH Variable angepasst &lt;br /&gt;
werden, damit das Plugin die CodeSourcery exe-Files findet&amp;lt;ref&amp;gt;für Discovery notwendig&amp;lt;/ref&amp;gt;. Alternativ das eclipse von einem script aus starten und zuerst den PATH erweitern.&lt;br /&gt;
&lt;br /&gt;
Soll das ST-LINK verwendet werden, so kann der Atollic ST-LINK GDBSERVER aus der Atollic free version genutzt werden. Mit dem gdbclient im Eclipse kann damit problemlos geflasht und gedebuggt werden (JTAG und SWD). &lt;br /&gt;
&lt;br /&gt;
Neuere Versionen von OpenOCD können ebenfalls mit STLINK und STLINK2 Kontakt aufnehmen. Bei vorkompilierten OpenOCD-Packeten (z.B. die von Freddy Chopin) mit libusb-Support und installiertem Herstellertreiber von STM ist noch der libusb-Filtertreiber einzurichten (relativ einfach per libusb-win32 filter wizard GUI).&lt;br /&gt;
&lt;br /&gt;
Die Startup- und Linkerscripts der Atollic free version können für ein Projekt in dieser Konstallation genutzt werden.&lt;br /&gt;
&lt;br /&gt;
* Eclipse &amp;quot;Galileo&amp;quot; installation&amp;lt;ref&amp;gt;[http://www.eclipse.org/] → Downloads → &amp;quot;Eclipse IDE for C/C++ Developers (79 MB)&amp;lt;/ref&amp;gt;. Und das Servicepack 1&amp;lt;ref&amp;gt;[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR1/eclipse-cpp-galileo-SR1-win32.zip Eclipse SR1]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Entpacken der Datei eclipse-cpp-galileo-SR1-win32.zip nach &amp;quot;C:\WinARM\&amp;quot; (Ordner neu erstellen)&lt;br /&gt;
&lt;br /&gt;
* Eclipse PlugIn&amp;lt;ref&amp;gt;http://download.eclipse.org/tools/cdt/releases/galileo&amp;lt;/ref&amp;gt; hinzufügen: Help → Install New Software... → &amp;quot;Eclipse C/C++ Development Tools&amp;quot; + &amp;quot;Eclipse C/C++ GDB Hardware Debugging&amp;quot; installieren&lt;br /&gt;
&lt;br /&gt;
* Yagarto Tools&amp;lt;ref&amp;gt;[http://www.yagarto.de/] &amp;quot;Download (for Windows)&amp;quot; → &amp;quot;YAGARTO Tools&amp;quot; http://www.yagarto.de/download/yagarto/yagarto-tools-20091223-setup.exe Installieren, Auswahl Verzeichnis &amp;quot;C:\WinARM\yagarto-tools&amp;quot;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* CodeSourcery: Achtung! Die Menustruktur ändert sich durchaus mal, dann suchen gehen. http://www.codesourcery.com/ → Products → Sourcery G++ → Editions&amp;gt;Lite Edition → ARM → Downloads. Direkter Download&amp;lt;ref&amp;gt;[http://www.codesourcery.com/sgpp/lite/arm/portal/package6496/public/arm-none-eabi/arm-2010q1-188-arm-none-eabi.exe]&amp;lt;/ref&amp;gt;. Installieren, Auswahl Verzeichnis &amp;quot;C:\WinARM\CodeSourcery&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* OpenOCD: Kompilierte Version für Windows&amp;lt;ref&amp;gt;[http://www.freddiechopin.info/] → Download → Software → OpenOCD&amp;lt;/ref&amp;gt; installieren nach &amp;quot;C:\WinARM\OpenOCD_0_4_0&amp;quot; ist auch auf der Seite&amp;lt;ref&amp;gt;[http://yagarto.de/#ocd Yagarto.de]&amp;lt;/ref&amp;gt; beschrieben. PS: Sollte der Olimex ARM-USB-OCD verwendet werden, dann darf nicht der Treiber von Olimex verwendet werden, sondern der vom OpenOCD Download&amp;lt;ref&amp;gt;[http://www.mikrocontroller.net/topic/173753#1668913]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* ST Firmware: http://www.st.com → Auswahl CPU STM32F103xxx → &amp;quot;Firmware&amp;quot; &amp;quot;STM32F10x_StdPeriph_Lib&amp;quot;&amp;lt;ref&amp;gt;http://www.st.com/mcu/devicedocs-STM32F103RC-110.html&amp;lt;/ref&amp;gt;. Das ZIP &amp;quot;stm32f10x_stdperiph_lib.zip&amp;quot; Entpacken nach &amp;quot;C:\WinARM\examples\stm32_FW3.4.0\&lt;br /&gt;
&lt;br /&gt;
==== Installation für STM32 auf einem zweiten Rechner====&lt;br /&gt;
&lt;br /&gt;
* Kopieren des Verzeichnisses C:\WinARM\ (Zuvor wurden aus diesem Grund alle Setup-Pakete nach C:\WinARM\... installiert)&lt;br /&gt;
* Die PATH-Variable in der Systemsteuerung mit den C:\WinARM\.... Verzeichnissen nachführen&lt;br /&gt;
* Fertig.&lt;br /&gt;
&lt;br /&gt;
==== Installation für STM32 mit AtollicTrueStudio (+Demo) ====&lt;br /&gt;
* Installation + Demo: [[STM32 LEDBlinken AtollicTrueStudio]]&lt;br /&gt;
&lt;br /&gt;
==== Installation für STM32 mit MDK-ARM Lite und Einstellungen STM32F0/F4-Discovery Board ====&lt;br /&gt;
* [https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM Download]&lt;br /&gt;
* [https://www.youtube.com/watch?v=RXOOxby5nns&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;index=1 Installations Video STM32F4 Discovery Board]&lt;br /&gt;
* [https://www.youtube.com/watch?annotation_id=annotation_203294&amp;amp;feature=iv&amp;amp;index=4&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;src_vid=sN4gDZ7H8gw&amp;amp;v=BeZcQjXxk9A Einstellungen STM32F0 Discovery Board Video]&lt;br /&gt;
&lt;br /&gt;
==== Installation für STM32 mit SiSy ARM ====&lt;br /&gt;
* Download: [http://www.sisy.de/index.php?id=59 SiSy DEMO] kein Begrenzung der Codegröße&lt;br /&gt;
* [http://www.youtube.com/watch?v=84Y3jYLWYpo Videobeispiel]&lt;br /&gt;
&lt;br /&gt;
==== Installation für STM32 mit Code::Blocks ====&lt;br /&gt;
* Download: [http://www.comsytec.eu/epsdebugger.php EPS Debugger plugin für STM32]&lt;br /&gt;
&lt;br /&gt;
=== STM32 mit EmBlocks ===&lt;br /&gt;
* [http://www.emblocks.org/web/downloads-main Download EmBlocks]&lt;br /&gt;
* [https://www.youtube.com/watch?v=coHPJylnzC8 Video STM32 Project Wizzard in EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Kommerzielle Umgebungen ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp Keil µVision] (Demo max. 32KB Code): Die sehr komfortable µVison IDE ist neben dem ARM Compiler per Menue auch für einen beliebigen GNU-Compiler konfigurierbar. Damit besteht das 32k-Limit nur noch für den integrierten Debugger / Simulator. µVison selbst kann kostenlos mit dem MDK-Evaluationkit heruntergeladen werden. [https://www.keil.com/arm/demo/eval/arm.htm#DOWNLOAD download]&lt;br /&gt;
* [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR-Embedded-Workbench] (Demo max. 32KB Code) [http://supp.iar.com/Download/SW/?item=EWARM-EVAL download]&lt;br /&gt;
* [http://www.isystem.com/products/itag winIDEAiTag] Keine Code Limitierung, GCC und Testwerkzeug beinhaltet. Läuft mit dem iTag Adapter.&lt;br /&gt;
* [http://www.raisonance.com Raisonance Ride7] (GCC Compiler, kostenlose Version auf Debugging von max. 32KB Code limitiert, keine Limitierung beim Complilieren)&lt;br /&gt;
* [http://www.atollic.com Atollic] (Lite Version (bis V2.3.0) ohne Code-Limit, auf GCC basierend. Die neueste Version ab V3 hat fast keine Beschränkungen mehr außer jetzt einen Code-Limit von 32kB. Außerdem werden jetzt die meisten ARM Familien unterstützt. )&lt;br /&gt;
* [http://www.coocox.org CoIDE] (Kostenlose GCC, Eclipse basierende IDE mit einem Code-Generator Tool)&lt;br /&gt;
* [http://www.rowley.co.uk/arm/ Rowley Crossworks] (Demo 30 Tage unbeschränkt, 150$ für nichtkommerzielle Nutzung, auf GCC basierend)&lt;br /&gt;
* [http://www.code-red-tech.com Code Red] (GCC basierend)&lt;br /&gt;
* [http://www.sisy.de/index.php?id=17&amp;amp;no_cache=1 SiSy ARM oder SiSy Micrcontroller++] (Demo verfügbar keine Gößenbegrenzung, basiert auf GNU-Compiler, grafische Programmierung mit UML möglich, integrierter Debugger)&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter===&lt;br /&gt;
* SEGGER [http://www.segger.com J-LINK / J-TRACE] ARM7..11, Cortex-M0..4, Cortex A8..15, als [http://www.segger.com/cms/j-link-edu.html NonComercial] J-LINK-EDU für ca. 60,- zu haben, läuft in µVision, IAR, gdb, Keil, ...&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ Olimex] ARM-USB-OCD (ca. 60.-, hat zusätzlich einen Spannungsausgen und einen COM Port)&lt;br /&gt;
* Keil [http://www.keil.com/ulinkme/ ULINK-ME], [http://www.keil.com/arm/ulink2/ ULINK2], [http://www.keil.com/arm/ulinkpro/ ULINK pro]&lt;br /&gt;
* [http://www.st.com/internet/evalboard/product/219866.jsp ST-LINK], [http://www.st.com/internet/evalboard/product/251168.jsp ST-LINK/V2]&lt;br /&gt;
*[http://www.st.com/internet/com/press_release/p3065.jsp STM32xx Discovery] jedes STM32 Discovery board hat einen ST-Link für Programmierung/Debugging per SWD on-board, welcher auch für eigene STM32 Target Hardware benutzt werden kann (ca. 12,- bis 19,-€, je nach Typ).&lt;br /&gt;
* [http://www.raisonance.com/~rlink-debugger-programmer__microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html Raisonance RLink]&lt;br /&gt;
* [http://www.amontec.com Amontec]&lt;br /&gt;
* [http://www.hjtag.com H-JTAG] Personal Edition für ca. 60,- zu haben, läuft mit ADS, SDT, IAR, Vision und RVDS &lt;br /&gt;
* [http://www.isystem.com/products/itag iTag] für 50.- bei Amazon zu bestellen, oder als Eigenbau version (offenes Design) läuft mit der freien winIDEAiTag version (siehe oben)&lt;br /&gt;
&lt;br /&gt;
Solch ein STM32FxDISCOVERY Demo-Board ist ideal für den Einstieg, da man kein extra [[JTAG]] Adapter kaufen muss. Das Board [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4DISCOVERY] mit 12..15 EUR ist sehr günstig und hat einen leistungsfähigen STM32F407 Prozessor mit 168MHz und einen ST-LINK/V2 schon drauf. Zusammen mit der [http://www.coocox.org/ Coocox] Entwicklungsumgebung hat man einen günstigen Einstieg in die STM32 Welt.&lt;br /&gt;
&lt;br /&gt;
In der Regel haben diese [[JTAG]] Adapter einen 20-Poligen Stecker, den man direkt auf die Demo-Boards, die auch einen 20-Poligen [[JTAG]]-Anschluss haben, einstecken kann. Die Pinbelegung ist genormt, siehe Artikel [[JTAG]].&lt;br /&gt;
&lt;br /&gt;
Andere [[JTAG]] Adapter wie z.B. der ULink von Keil funktionieren nur mit dem Keil Compiler.&lt;br /&gt;
&lt;br /&gt;
Zu erst sollte man sich die IDE heraus suchen mit der man Arbeiten mag, und dann darin den unterstützten JTAG Adapter.&lt;br /&gt;
&lt;br /&gt;
Aus eigener Erfahrung kann ich den J-LINK von Segger sehr empfehlen, da er mit der meisten Software, auch GCC sehr gut und vor allem schnell (FLASH programmieren) funktioniert und enorm viele Prozessoren (ARM7/9/11, Cortex-M0..M4, Cortex-A8..15, uvm., viele Hersteller) unterstützt.&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter Open-Source===&lt;br /&gt;
&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-COOCOX], CoLinkEX Nachbau von Olimex, unterstützt JTAG sowie SWD&lt;br /&gt;
** [http://www.coocox.org/colinkEx.htm unterstützte uC]&lt;br /&gt;
** unterstütze IDEs: [http://www.keil.com/arm/mdk.asp Keil MDK-ARM 4.03] oder neuer, [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR Embedded Workbench 5.xx] oder neuer sowie die [http://www.coocox.org/CooCox_CoIDE.htm CooCox CoIDE]&lt;br /&gt;
* [http://www.oocdlink.com/ OOCDLink]&lt;br /&gt;
* [https://github.com/texane/stlink Stlink]&lt;br /&gt;
* [http://www.randomprojects.org/wiki/Floss-JTAG FLOSS-JTAG]&lt;br /&gt;
* [http://capitanio.org/mlink/ Linux Demo Code für die Discovery&#039;s ST-Link Programmierung]&lt;br /&gt;
&lt;br /&gt;
Der Controller hat auch einen fest eingebauten Boot-Lader. Damit läßt er sich auch über eine gewöhnliche serielle Schnittstelle programmieren, ohne daß man einen JTAG-Adapter benötigt.&lt;br /&gt;
&lt;br /&gt;
Tipps für Installation mit Eclipse können in [http://www.mikrocontroller.net/topic/214719 diesem Thread] gelesen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Demo-Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Einführung in die GPIO Programmierung der STM32F10x und STM32F30x Prozessoren am Beispiel des STM32F3 Discovery Boards und Vergleich zur AVR IO Registerstruktur [http://www.mikrocontroller.net/topic/300472#new]&lt;br /&gt;
* [[prog_bsp_timer_1_timer2|Programmbeispiel für die Verwendung von Timer2 zusammen mit dem Interrupt]]&lt;br /&gt;
* [http://www.firefly-power.de/ARM/printf.html Printf() debugging mit minimalem Aufwand]&lt;br /&gt;
* [[STM32_BLDC_Control_with_HALL_Sensor|Programmbeispiel für BLDC Motoransteuerung (Timer 1) mit HALLSensor (Timer 3)]]&lt;br /&gt;
* [[Cortex_M3_OCM3U]]&lt;br /&gt;
* Martin Thomas hat ein umfangreiches Projekt erstellt, in der die Eclipse Einstellungen enthalten sind:&lt;br /&gt;
** [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html &amp;quot;ChaN&#039;s FAT-Module with STM32 SPI&amp;quot;]&lt;br /&gt;
* [[STM32 USB-FS-Device Lib]]&lt;br /&gt;
* Modellbau-Sender auf STM32-Basis mit vielen Treibern [http://www.rcos.eu www.rcos.eu]&lt;br /&gt;
* Ausführliches [https://github.com/jkerdels/stm32edu Einstiegs-Tutorial] in Codeform für das [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4 discovery board]&lt;br /&gt;
* [http://www.redacom.ch/keillab/ Schweizer Gondelbahnsteuerung über Webserver auf ETT STM32F ARM KIT Board in Keil RTOS] mit Webcam&lt;br /&gt;
* Die [http://ethernut.svn.sourceforge.net/viewvc/ethernut/trunk/ Ethernut SVN Version] unterstützt inzwischen viele STM32 Typen, viele Devices und einige STM32 Demoboards&lt;br /&gt;
&lt;br /&gt;
== Debug- und Trace-Interface (CoreSight™ Debug and Trace Technologie)==&lt;br /&gt;
&lt;br /&gt;
Übersicht über beide Funktionalitäten und den Schnittstellen:&lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_cs_core_sight.htm&lt;br /&gt;
&lt;br /&gt;
Die Coresight-Debug-Architektur ermöglicht ein nicht-invasives Debugging, d.h. es können während des Betriebes (meistens) ohne Beeinflussung des Prozessors Daten vom Speicher gelesen und in selbigen geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Debugger Funktionen ===&lt;br /&gt;
&lt;br /&gt;
Der Debugger-Teil besitzt drei Funktionen:&lt;br /&gt;
* Run Control: z.B. Programm-Start, Stopp und Einzel-Schritte.&lt;br /&gt;
* (Program) Break Points: Ein Programm hält an, wenn der Programm Counter eine bestimmte Programm-Adresse erreicht.&lt;br /&gt;
** Die maximale Anzahl der gleichzeitig möglichen Break Points ist begrenzt (z.B. 6 bei einem STM32).&lt;br /&gt;
** Die Anzahl der Break Points ist nahezu unbegrenzt, wenn ein Debugger über den Memory Access (s.u.) sogenannte Flash Break Points unterstützt. Dabei wird ein geladenes Programm im Flash umprogrammiert, um den Debugger anzuhalten. Diese Funktionalität ist meistens ein kostenpflichtiges Zusatz-Feature des Debugger-Herstellers. &lt;br /&gt;
** Beinhaltet keine Data Watch Funktionalität, welche im Trace-Teil (DWT) realisiert wird.&lt;br /&gt;
* Memory Access: Lesen und Schreiben von Speicheradressen. &lt;br /&gt;
** Diese Funktionalität beinhaltet keine direkte Flash-Programmierung. Der Programmiervorgang für einen Flash ist herstellerspezifisch und muss von dem verwendeten Debugger unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
=== Trace Funktionen ===&lt;br /&gt;
Die Trace-Funktionalität wird in drei Funktionen aufgeteilt:&lt;br /&gt;
* ETM (Embedded Trace Macrocell): Optional, nicht jede CPU besitzt diese Hardware (Kostenfaktor, Austattung).&lt;br /&gt;
* ITM (Instrumentation Trace Macrocell): Über diesen Kanal kann ein vereinfachtes Trace des Core ermöglicht werden, sowie &amp;quot;printf-ähnlich&amp;quot; Daten über den ITM Channel 0 geschickt und im Debugger ausgegeben werden.&lt;br /&gt;
* DWT (Data Watchpoint &amp;amp; Trace Unit): &lt;br /&gt;
** Data Watch: 4 Access-Break-Points ( z.B. der Debugger bleibt stehen, wenn das Programm auf einen Speicher zugreift oder der Wert einer Variablen einen bestimmten Wert annimmt). &lt;br /&gt;
** Trace Unit: Programmverlauf (durch Lesen des Program Counters) und Interrupt Aufrufe verfolgen, sowie Zeitmessungen.&lt;br /&gt;
&lt;br /&gt;
Einige der Trace-Funktionalitäten können über die JTAG-Schnittstelle angesprochen werden. Die schnelle Trace-Funktionalität (mit 4 bit Parallel-Port) steht nur mit der erweiterten DEBUG + ETM Schnittstelle zur Verfügung. Im Gegensatz zum Debugger-Teil (Run Control, Break Points und Memory Access) werden Trace-Funktionen nicht von allen Debuggern unterstützt. Debugger mit der vollen Trace-Funktionalität kosten deutlich mehr.&lt;br /&gt;
&lt;br /&gt;
* Beispiele für Trace-Port-Aktivierungen für verschiedene Hersteller: http://www.keil.com/support/man/docs/jlink/jlink_capture_tracedata.htm&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung des parallelen Trace-Ports erfordert, je nach CPU Hersteller, zusätzliche Debugger-Makros für die Aktivierung und Port-Freischaltung. Zusätzlich sind die Schnittstellenauswahl und Einstellung (Frequenzen) im Entwicklungs-Tool (IDE) wichtig, um erfolgreich den Programm-Verlauf &amp;quot;tracen&amp;quot; zu können.&lt;br /&gt;
&lt;br /&gt;
=== Debug und Trace-Schnittstellen ===&lt;br /&gt;
Als Debug Interface stehen zwei Varianten zur Auswahl:&lt;br /&gt;
* [[JTAG]]: Dafür sind mindestens 6 Steuerleitungen nötig. Unterstützt Device Chaining: Mehrere verbundene Geräte können mit einem Debugger/Programmer gleichzeitig angesteuert werden.&lt;br /&gt;
* SWD (Serial Wire Debug): Hier mindestens 2  Steuerleitungen (3 mit SWO, zzgl GND und 3,3V). Die SWD Schnittstelle ist in der Regel schneller und kann auch Funktionen aus dem Trace-Teil beinhalten (z.B. ITM, dafür wird der SWO-Pin benötigt). Device Chaining ist mit dieser Schnittstelle nicht möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standard-JTAG Steckerbelegungen: &lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm&lt;br /&gt;
&lt;br /&gt;
=== Der 10polige JTAG-Stecker von mmvisual ===&lt;br /&gt;
mmvisual hat mit dieser Steckerbelegung die Standard JTAG Schnittstelle erweitert:&lt;br /&gt;
&lt;br /&gt;
Ich habe diesen Part in den Artikel [http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual JTAG] verschoben.&lt;br /&gt;
Hinzu gekommen ist die Adapterplatine 10-Polig auf Standard JTAG 20 Polig mit TTL/V24 Wandler. [http://www.mikrocontroller.net/articles/JTAG#Die_Adapterplatine Siehe hier.]&lt;br /&gt;
&lt;br /&gt;
== Hardware-Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Der STM32 benötigt für den Betrieb nur (Minimalbeschaltung):&lt;br /&gt;
&lt;br /&gt;
* VCC 2..3,3V (je nach Typ)&lt;br /&gt;
* AVCC 2..3,3V (sehr wichtig, der STM32 lässt sich ohne diese Spannung nicht programmieren)&lt;br /&gt;
* GND&lt;br /&gt;
* Reset Pin 100nF nach GND (ein Pull-Up Widerstand von ca. 40k ist intern vorhanden)&lt;br /&gt;
* [[#Bootmodi|Boot-Pins]]&lt;br /&gt;
&lt;br /&gt;
ansonsten nur ein paar einzelne Cs 100nF an VCC/GND.&lt;br /&gt;
&lt;br /&gt;
Um Programmieren zu können wird entweder noch die serielle Schnittstelle (Programmieren über den vorprogrammierten Bootloader) oder JTAG oder die SWD Schnittstelle benötigt.&lt;br /&gt;
&lt;br /&gt;
=== Bootmodi ===&lt;br /&gt;
Unterschiedliche Bootmodi lassen sich mittels der PINs BOOT0 und BOOT1 auswählen . Siehe Application Note [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/18225/AN2606.pdf AN2606].&lt;br /&gt;
&lt;br /&gt;
==== Boot from FLASH ====&lt;br /&gt;
Startadresse wird von 0x08000004 geladen&lt;br /&gt;
 BOOT0 Lo&lt;br /&gt;
 BOOT1 X &lt;br /&gt;
&lt;br /&gt;
==== Boot from SRAM ====&lt;br /&gt;
PC Startadresse wird an 0x200001E0 direkt angesprungen.&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Hi&lt;br /&gt;
Da der interne FLASH der stm32f1x laut Datenblatt nur für 1000 Schreibvorgänge ausgelegt ist, kann mittels BOOT0 (High) und BOOT1 (High) auch aus dem zuvor mit dem Debugger (JTAG/SWD) beschriebenen SRAM booten. &lt;br /&gt;
Hierbei gilt zu beachten:&lt;br /&gt;
 VTOR auf die NVIC Tabelle im SRAM vor dem auslösen des ersten Interrupts remappen.&lt;br /&gt;
&lt;br /&gt;
 Um ein vergleichbares Startverhalten zum FLASH zu erreichen, empfiehlt es sich,&lt;br /&gt;
 0xF1E0F85F an 0x200001E0 zu schreiben. Diese implizite Ausführung von &amp;quot;ldr.w pc,&lt;br /&gt;
 [pc, #-0x01E0]&amp;quot; beim Start erzwingt ein laden der Startadresse von 0x20000004.&lt;br /&gt;
&lt;br /&gt;
==== Boot from SYSMEM (RS232, CAN und USB) ====&lt;br /&gt;
PC Startadresse wird von 0x1FFFF004 geladen&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Lo&lt;br /&gt;
Auch ohne JTAG lässt sich ein STM32 programmieren (Bootloader-Aktivierung). Dabei stehen, je nach CPU-Typ, verschiedene Möglichkeiten zur Verfügung:&lt;br /&gt;
* RS-232 (bisher alle STMs)&lt;br /&gt;
* USB (nur in bestimmten MCUs mit entsprechender Bootloader-Version und PIN-Anzahl, z.B. STM32F105/107)&lt;br /&gt;
* CAN (wie USB nur in bestimmten MCUs)&lt;br /&gt;
&lt;br /&gt;
3 zusätzliche Verbindungen müssen auf dem Board gepatcht werden. Für einen Test geht es auch mit Tastern für RESET und BOOT0.&amp;lt;br&amp;gt;&lt;br /&gt;
RESET=RTS (L-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT0=DTR (H-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT1=LOW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Details sind hier im Forum: [http://www.mikrocontroller.net/topic/141711 STM32 Programmiertool]&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
=== Vorteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber ARM7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Interrupt-Controller jetzt Teil des Prozessors (als Core Peripheral), die Vector Table ist jetzt eine echte Vektortabelle, keine Sprungliste wie bei ARM7. Durch Automatismen zwischen Core und NVIC (auto register save r0..r3, lr, sp, pc) bei Interrupt Entry wird eine deutlich schnellere Ausführungszeit bei Interrupts erreicht. Der Interrupt Code muss sich nicht mehr selbst um die Sicherung der o.g. Register kümmern und eine besondere Konfiguration der Handler im Compiler entfällt. Sind vor Beendigung einer ISR (d.h. Rücksprung zum User Code) weitere Interrupts pending, so werden diese ausgeführt, ohne dass eine komplette pop-push-sequenz der Register notwendig ist. Schön beschrieben ist es hier im [http://www.st.com/mcu/files/mcu/1221142709.pdf Insider&#039;s Guide] unter 2.4.5 / Seite 20.&lt;br /&gt;
* Thumb-2 Befehlssatz, deutlich schneller als Thumb-1 und ebenso kompakt&lt;br /&gt;
* Weniger Pins für Debugging benötigt durch SWD&lt;br /&gt;
* Mehr Hardware Breakpoints machen debuggen einfacher&lt;br /&gt;
* Software ist einfacher weil die Umschaltung zwischen ARM Mode und Thumb Mode wegfällt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber LPC1700 und LPC1300:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Flexiblere Gehäuseformen mit mehr Peripherie bei kleinen Gehäusen&lt;br /&gt;
* FW-Lib für alle STM32 gleich, alle AppNotes/Demos beziehen sich auf diese eine FW-Lib was die Entwicklung der eigenen Applikation sehr beschleunigt.&lt;br /&gt;
* Genauerer und flexiblerer ADC, insbesondere gegenüber LPC1300&lt;br /&gt;
* Flexiblere Varianten der Peripherie &amp;gt;&amp;gt; bei weniger einen deutlichen Preisvorteil&lt;br /&gt;
* ab 0,85 EUR (Stand 2010) Allerdings gibts den LPC1100 mit Cortex-M0 schon ab 0,65 $!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber SAM3/4:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fast alle Pins sind 5-Volt tolerant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber anderen &amp;quot;Kleinen&amp;quot; wie z.B. PIC, Atmel usw.&#039;&#039;&#039;&lt;br /&gt;
* nahezu gleicher Preis bei Hobby Anwendungen&lt;br /&gt;
* 32 Bit ohne Umwege in Assembler rechenbar&lt;br /&gt;
* bessere Peripherie&lt;br /&gt;
* ... und weitere 1000 Punkte ...&lt;br /&gt;
&lt;br /&gt;
=== Nachteile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil gegenüber LPC1700:&#039;&#039;&#039;&lt;br /&gt;
* STM32F1xx: nur 72 MHz statt 100 MHz (LPC1759: 120 MHz) Taktfrequenz; STM32F2xx hat diesen Nachteil nicht (ebenfalls 120MHz, STM32F4xx mit 168MHz) (Aber NXP hat schon 150MHz angekündigt)&lt;br /&gt;
* Der LPC1700 besitzt deutlich mehr Mechanismen, um die Auswirkung der Waitstates des Flash-ROMs auf Code- und Datenzugriffe zu reduzieren und das bedeutet mehr Performance bei gleicher Taktfrequenz. Beim STM32F2 entfällt dieser Nachteil wohl aufgrund des ART accelerators. &lt;br /&gt;
* Alle LPC1xxx haben 32 Bit Timer. Bei den STM32 haben das nur die STM32F2xx (2 Stück)&lt;br /&gt;
* I2S Einheit von ST hat keinen FIFO und im 24/32Bit Modus müssen 2x16Bit Halbwörter übertragen werden. Wobei allgemein bei neuen ARM Prozessoren die vorhandenen DMA-Kanäle (basierend auf eigenen BUS-Kanälen und Speicherzugriffen) FIFO in beliebiger Größe bedeutet. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil für Hobby-Anwender&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Nicht direkt &amp;quot;Steckbrettauglich&amp;quot;, da kein DIL Gehäuse verfügbar. Der ebay-Shop dipmicro führt jedoch sehr günstige Lötadapter für Umsetzung von LQFP48 auf DIP48. QFP64 in 0.5mm Pinabstand und nicht 0.8mm wie AVR&lt;br /&gt;
&lt;br /&gt;
* Viel Peripherie, Clocks müssen alle richtig eingestellt werden, ggf. Anpassung des Startup Codes usw.&lt;br /&gt;
** =&amp;gt; Daher nicht besonders gut für Mikrcontroller Anfänger/Einsteiger geeignet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Errata, Tipps und Tricks ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* AD-Wandler PA0: Im Errata steht, dass hier Fehler in der Wandlung entstehen könnten, also einen anderen Pin verwenden.&lt;br /&gt;
* CAN-Bus PD0/PD1: Remap geht erst ab der 100-Pin-Version. Steht im RM0008 unter 9.3.3.: &amp;quot;CAN1 alternate function remapping&amp;quot;. Alle Infos von RM0008 9.3.x sind interessant&lt;br /&gt;
* CAN und USB sind bei der F1 Serie nur bei der &amp;quot;◦Connectivity-Line&amp;quot; gleichzeitig nutzbar. Siehe Datenblätter.&lt;br /&gt;
* Mit internem RC-Oszillator kann die CPU mit maximal 64MHz betrieben werden. Mit einem externen Quarz sind dann 72MHz möglich.&lt;br /&gt;
* Für USB Betrieb muss die CPU mit 48MHz oder 72MHz betrieben werden (bei STM32F1xx).&lt;br /&gt;
* Der Idle Interrupt vom Usart wird zwar ausgelöst, aber nicht vom entsprechenden Statusflag angezeigt&lt;br /&gt;
* Der DMA fängt beim aktivieren immer von vorn an zu zählen, auch wenn er nur kurz angehalten wurde&lt;br /&gt;
* STM32F2xx hat kein Flash Size Register, bei STM32F4xx ist zwar ein flash Size Register beschrieben, kollidiert aber in der Adresse mit einem anderen Register&lt;br /&gt;
* Derivate mit internem EEPROM und nur einer Speicherbank haben das &amp;quot;Feature&amp;quot; bei write/erase des Data-Flashes (EEPROM) einen kompletten stall der code execution zu verursachen (inkl. ISR&#039;s, DMA). Desgleichen bei write/erase des internen Flash (ISP-routinen, EEPROM-Emulation).&lt;br /&gt;
* Der I2C hat diverse Fehler, welche im Errata des jeweiligen Modells (z.B. [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/errata_sheet/CD00238166.pdf STM32F105xx and STM32F107xx Errata sheet] ) zu finden sind. Workarounds hierzu finden sich in der Application Note [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00209826.pdf AN2824]&lt;br /&gt;
* [http://blog.frankvh.com/category/stm32/ weitere undokummentierte Features]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== GCC ====&lt;br /&gt;
Hier einige Hinweise wie man den GCC (zB. aus der [https://launchpad.net/gcc-arm-embedded GCC-ARM-Embedded Binärdistribution]) direkt verwenden kann (zB. mit selbstgebautem makefile), falls man das nicht von einer Entwicklungsumgebung machen lässt.&lt;br /&gt;
===== Compiler &amp;amp; Linker Flags für GCC =====&lt;br /&gt;
* Mit Optimierungen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Tool/Sprache                                          !! Cortex-M3                       !! Cortex-M4F&lt;br /&gt;
|-&lt;br /&gt;
| C-Compiler (gcc) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -Os -flto || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -Os -flto&lt;br /&gt;
|-&lt;br /&gt;
| C++ Compiler (g++) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -Os -flto -fno-rtti -fno-exceptions || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -Os -flto -fno-rtti -fno-exceptions&lt;br /&gt;
|-&lt;br /&gt;
| Assembler (as) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb&lt;br /&gt;
|-&lt;br /&gt;
| Linken von C Code (mit gcc-Befehl) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -Os -flto -Wl,--gc-sections -static || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -Os -flto -Wl,--gc-sections -static&lt;br /&gt;
|-&lt;br /&gt;
| Linken von C++ (und C) Code (mit g++-Befehl) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -Os -flto -fno-rtti -fno-exceptions -Wl,--gc-sections -static || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -Os -flto -fno-rtti -fno-exceptions -Wl,--gc-sections -static&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* Ohne Optimierungen, mit Debug-Informationen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Tool/Sprache                                          !! Cortex-M3                       !! Cortex-M4F&lt;br /&gt;
|-&lt;br /&gt;
| C-Compiler (gcc) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -g || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -g&lt;br /&gt;
|-&lt;br /&gt;
| C++ Compiler (g++) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -g -fno-rtti -fno-exceptions || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -g -fno-rtti -fno-exceptions&lt;br /&gt;
|-&lt;br /&gt;
| Assembler (as) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb&lt;br /&gt;
|-&lt;br /&gt;
| Linken von C Code (mit gcc-Befehl) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -g -Wl,--gc-sections -static || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -g -Wl,--gc-sections -static&lt;br /&gt;
|-&lt;br /&gt;
| Linken von C++ (und C) Code (mit g++-Befehl) || -mcpu=cortex-m3 -mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections -g -fno-rtti -fno-exceptions -Wl,--gc-sections -static || -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -ffunction-sections -fdata-sections -g -fno-rtti -fno-exceptions -Wl,--gc-sections -static&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Siehe auch das [https://launchpadlibrarian.net/135588846/readme.txt Readme vom GCC-ARM-Embedded]&lt;br /&gt;
* Wird die [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] und ein Quarz verwendet, so muss noch per Präprozessor-Definition die Frequenz des Quarzes angegeben werden mittels z.B. -DHSE_VALUE=8000000 für 8MHz (wie auf dem STM32F4 Discovery).&lt;br /&gt;
* Um das -flto -Flag verwenden zu können, muss der GCC [http://gcc.gnu.org/onlinedocs/gccint/LTO.html LTO] unterstützen. Beim ARM-GCC-Embedded ist dies ab Version 4.7-2013-q2-update  der Fall.&lt;br /&gt;
* Die LTO erkennt die ISR&#039;s und den Interrupt Vector möglicherweise als &amp;quot;unbenutzt&amp;quot; und optimiert sie daher weg. Dies kann durch Markierung der Funktionen &amp;amp; Variablen mit  &amp;quot;__attribute__ ((used))&amp;quot; verhindert werden.&lt;br /&gt;
* Alle Compileroptionen müssen auch beim Linken mit angegeben werden (ist in obiger Tabelle berücksichtigt), da auch dann u.U. Code generiert werden kann.&lt;br /&gt;
&lt;br /&gt;
===== Startupcode &amp;amp; Linkerscript =====&lt;br /&gt;
* Damit der compilierte Code an den richtigen Stellen im Controller landet (d.h. dem Flash) muss man dem Linker ein Linkerscript mitgeben. Dies geht per &amp;quot;-T &#039;&#039;pfad_zum_linkerscript.ld&#039;&#039;&amp;quot; an den Linker-Befehl. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Linkerscript für die Atollic TrueSTUDIO IDE, dieses kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich das Script im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM324x7I_EVAL/stm32_flash.ld&amp;quot; des Archives.&lt;br /&gt;
* Damit beim Starten die richtigen Initialisierungen vorgenommen werden (wie globale Variablen und bei C++ Konstruktoren globaler Objekt-Instanzen) muss als erstes ein Startupcode laufen, der dann die main()-Funktion aufruft. Der Startupcode ist meistens in Assembler geschrieben, C-Code ist aber auch möglich. Im Archiv der [[#.E2.80.8ESTM32_Standard_Peripheral_Library|STM32 Standard Peripheral Library]] befindet sich ein Beispiel-Startupcode für die Atollic TrueSTUDIO IDE, dieser kann direkt mit dem GCC verwendet werden. Beispielsweise für den STM32F4 befindet sich der Code in Assemblerform im Pfad &amp;quot;/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO/startup_stm32f40xx.s&amp;quot; des Archives. Der Assemblercode kann per arm-none-eabi-as (Flags s.o.) assemblisiert werden, die resultierende .o -Datei normal mitgelinkt.&lt;br /&gt;
&lt;br /&gt;
Zusammen bieten die beiden Dateien der Anwendung ein Standard-C-Interface, d.h. man kann wie gewohnt globale Variablen verwenden und seinen Code in die main()-Funktion schreiben.&lt;br /&gt;
&lt;br /&gt;
===== FPU von den STM32 mit Cortex-M4F nutzen =====&lt;br /&gt;
Um die FPU zu nutzen, muss dem Compiler per [[#Compiler_.26_Linker_Flags_f.C3.BCr_GCC|Flag]] dazu gebracht werden, FPU-Instruktionen zu generieren.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss vor Benutzung der FPU-Befehle die FPU aktiviert werden, dies geschieht typischerweise im Startupcode, bevor die main() -Funktion aufgerufen wird. Hier die entsprechenden Befehle, falls sie im verwendeten Startupcode nicht onehin schon enthalten sind:&lt;br /&gt;
&amp;lt;pre&amp;gt;/*FPU settings*/&lt;br /&gt;
 ldr     r0, =0xE000ED88           /* Enable CP10,CP11 */&lt;br /&gt;
 ldr     r1,[r0]&lt;br /&gt;
 orr     r1,r1,#(0xF &amp;lt;&amp;lt; 20)&lt;br /&gt;
 str     r1,[r0]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls ein C-Startupcode verwendet wird, kann man es machen wie in der system_stm32f4xx.c aus den Beispielen von ST-Microelectronics:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
SCB-&amp;gt;CPACR |= ((3UL &amp;lt;&amp;lt; 10*2)|(3UL &amp;lt;&amp;lt; 11*2)); /* set CP10 and CP11 Full Access */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin sollte die Toolchain auch Laufzeitbibliotheken mit FPU-Unterstützung mitbringen (CodeBench lite und Yagarto werden ohne ausgeleifert, GCC for ARM embedded von launchpad.org mit).&lt;br /&gt;
&lt;br /&gt;
Mehr dazu in diesem Thread: [http://www.mikrocontroller.net/topic/261021 Floating Pointing Unit STM32F4]&lt;br /&gt;
&lt;br /&gt;
===== Disassemblieren mit GCC =====&lt;br /&gt;
arm-none-eabi-objdump -d -t -C pfad_zum_binary.elf&lt;br /&gt;
&lt;br /&gt;
===== Konvertieren zwischen Binary-Formaten beim GCC =====&lt;br /&gt;
arm-none-eabi-objcopy -O &#039;&#039;ausgabeformat&#039;&#039; &#039;&#039;eingabe_binary.elf&#039;&#039; &#039;&#039;ausgabe_binary&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nützlich als Ausgabeformat sind z.B. &amp;quot;ihex&amp;quot; oder &amp;quot;binary&amp;quot;.&lt;br /&gt;
===== Code-Größe optimieren =====&lt;br /&gt;
Obige Flags (insbesondere -flto und -Os) verwenden. [http://www.mikrocontroller.net/topic/298976#3197418 Hier] finden sich noch ein par Tips, für den 1. kann aber mittlerweile der GCC-ARM-Embedded direkt verwendet werden, da er jetzt LTO unterstützt (s.o.).&lt;br /&gt;
&lt;br /&gt;
=== Tipps für Umsteiger von Atmel/PIC/8051 ===&lt;br /&gt;
* Prozessortakt hat unterschiedliche Taktquellen und eine PLL.&lt;br /&gt;
* Alle Peripheriemodule haben einen extra Clock, den man aktivieren muss.&lt;br /&gt;
* Wenn man z.B. einen UART benutzen möchte, so muss man den Clock vom UART, Alternate Function IO (AFIO) und dem GPIO-Port aktivieren.&lt;br /&gt;
* Ansonsten hat man nahezu doppelt so viele Möglichkeiten in den Peripheriemodulen.&lt;br /&gt;
* Interrupt-Flags müssen in der ISR selber gelöscht werden&lt;br /&gt;
* Forum zu [http://www.mikrocontroller.net/topic/175888 Interrupts vs. Events]&lt;br /&gt;
&lt;br /&gt;
=== Errata vom STM32F4xx die nicht im Errata von ST stehen ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267439#2788478 Aktivieren von DMA], wenn mehr als 3 DMA Kanäle aktiviert werden, kann es sein dass die nicht alle korrekt bedient werden. Auch klappt der DMA mit dem FSMC nicht immer zuverlässig. [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FWarning%20limit%20simultaneous%20DMAs%20to%202&amp;amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;amp;currentviews=811 siehe hier] [http://blog.frankvh.com/2012/01/13/stm32f2xx-stm32f4xx-dma-maximum-transactions/ und hier]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/260637#2700761 Nerviger Bug in &amp;quot;stm32f4xx.h&amp;quot;] Änderung Struktur GPIO_TypeDef&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/261690#2714754 Batterie wird leer gezogen], nur bei manchen Chips mit Rev. A&lt;br /&gt;
* [http://www.efton.sk/STM32/STM32F4xx_doc_errors.txt Liste von Dokumentations-Fehlern]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://www.reichelt.de/STM-Controller/2/index.html?;ACTION=2;LA=2;GROUPID=2950; Reichelt]&lt;br /&gt;
* [http://darisusgmbh.de/shop/index.php?cat=c2692_ARM-Cortex.html Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE (Farnell Programm für Private)] &lt;br /&gt;
* [http://www.sander-electronic.de/be00069.html Sander]&lt;br /&gt;
*[http://www.tme.eu/de/katalog/index.phtml#cleanParameters%3D1%26search%3DSTM32F10%26bf_szukaj%3D+ TME] &lt;br /&gt;
*[http://teske-electronics.de/index.php?cPath=3_9_53 Teske electronics]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/prozessoren-und-mikrocontroller/mikrocontroller/?sort-by=default&amp;amp;sort-order=default&amp;amp;applied-dimensions=4294417325&amp;amp;lastAttributeSelectedBlock=4294425895 RS-Online]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gewerblich liefern natürlich viele wie EBV, Mouser, Farnell, Digikey usw...&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=gruppe&amp;amp;id=14 Im Shop von Embedded Projects]&lt;br /&gt;
* [http://www.watterott.com/de/Boards-Kits/ARM/ARM-Cortex-M3 Cortex M3 bei Watterott]&lt;br /&gt;
* [http://www.raisonance.com/~primer-starter-kits__microcontrollers__tool~tool__T018:4enfvamuxbtp.html Primer und Primer2 von Raisonance]&lt;br /&gt;
* [http://www.sander-electronic.de/es0028.html Sander Electronic]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/MP32F103-Stick:_Ein_Mini-Mikrocontroller-Board_mit_USB_und_bis_zu_4MB_Datenspeicher Artikel im Wiki, ARM mit USB und 4MB Speicher]&lt;br /&gt;
* [http://www.futurlec.com/STM32_Development_Board.shtml Futurlec Evalboard, ebenso Header-Board]&lt;br /&gt;
* [http://www.propox.com/products/t_174.html Propox, Header-Boards für 103R und 103V sowie Trägerplatine dafür]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Cortex_M3_OCM3U Cortex M3 Artikel im Wiki]&lt;br /&gt;
* [http://olimex.com/dev/index.html STM32 bei Olimex]&lt;br /&gt;
* [http://de.farnell.com/jsp/displayProduct.jsp?sku=1824325&amp;amp;action=view&amp;amp;CMP=GRHS-1000962 STM32Discovery bei Farnell] Mikrocontroller Board (STM32F100RBT6B) mit onboard USB-Programming Interface für ca. 12,50€&lt;br /&gt;
* [http://www.de.rs-online.com/web/p/products/7458434/ STM32Discovery bei RS-Components] 12,65 € +MwSt.&lt;br /&gt;
* [http://www.segor.de/#Q=STM32 VL DISCOVERY] STM32 Discovery bei Segor&lt;br /&gt;
* [http://www.watterott.com/de/STM32F4Discovery STM32F4DISCOVERY] STM32F4 Cortex M4 Controller mit JTAG-Debugger auf der Platine bei Watterott für 16,66EUR.&lt;br /&gt;
* [http://www.steitec.net/ARM-Boards/ Steitec, STM32F103 Cortex M3 Board 34,80€]&lt;br /&gt;
* [http://www.mcu-raisonance.com/~open4-development-platform__microcontrollers__tool~tool__T018:g65gu6ghg2n.html/ Open 4 oder auch genannt Evo-Primer]&lt;br /&gt;
* [http://www.wayengineer.com/index.php?main_page=index&amp;amp;cPath=50_66&amp;amp;page=1&amp;amp;sort=3a WayEngineer]&lt;br /&gt;
* [http://thinkembedded.ch/ST-STMicroelectronics:::24.html Im Thinkembedded Shop] in der Schweiz / DiscoveryF4, div. ETT und Olimex Boarde ab 20,18 CHF / 16,15 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&amp;amp;artID=200072 Im myAVR Shop] DiscoveryF4 mit möglichem Zubehör 16,45 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://www.keil.com/boards/cortexm.asp Keil/ARM Demoboards]&lt;br /&gt;
* [http://www.phytec.de Phytec]&lt;br /&gt;
* [http://shop.myavr.de/index.php?sp=artlist_kat.sp.php&amp;amp;katID=37 verschiedene ARM Produkte und Erweiterungen bei myAVR]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities, Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/173753 Diskussion zum Artikel]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ARM*+STM32*+Cortex* Suche im Forum]&lt;br /&gt;
* [https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/AllItems.aspx Forum auf der ST Homepage] &lt;br /&gt;
* [http://www.stm32circle.com/hom/index.php STM32 Community] &lt;br /&gt;
*[http://joe-c.de/pages/posts/einstieg_mikrocontroller_stm32f103_101.php Einstieg:  STM32board mit Kamera (deutsch)] &lt;br /&gt;
* [http://www.ebv.com/fileadmin/products/Press_Print/Brochures/Product_Brochures/EBV_Cortex%20Collection_V2.pdf Übersicht der Cortex Prozessoren und deren Hersteller (nicht nur ST, von EBV)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/258652 Tutorial]&lt;br /&gt;
* [http://diller-technologies.de/stm32_wide.html STM32 Tutorial in Deutsch von Diller Technologies]&lt;br /&gt;
* [http://mySTM32.de STM32 C und C++ Tutorial in Deutsch ]&lt;br /&gt;
* [http://mikrocontroller.bplaced.net STM32F4 Quellcode-Librarys und CooCox-Projekte in Deutsch ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:STM32| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77944</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77944"/>
		<updated>2013-08-09T20:45:06Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Bezugsquellen */ link aktualisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/company/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/company/free-kit-qualification-program hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Sleep_Mode&amp;diff=77943</id>
		<title>Sleep Mode</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Sleep_Mode&amp;diff=77943"/>
		<updated>2013-08-09T20:40:06Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; Sleep Mode&#039;&#039;&#039;, auf deutsch &#039;&#039;Schlafmodus&#039;&#039;,  bezeichnet den Zustand eines [[Mikrocontroller]]s, in dem verschiedene Funktionsblöcke wie [[Timer]], [[UART]], [[AD-Wandler]] etc. deaktiviert sind, um Strom zu sparen. Das ist vor allem in [[Versorgung aus einer Zelle | batteriebetriebenen]] Geräten wichtig, denn schließlich möchte man eine möglichst lange Laufzeit mit einer möglichst kleinen Batterie erreichen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Sleep Mode eng verknüpft ist das [[Ultra low power]] Design. Man muss viele Dinge beachten, um nicht unnötig Strom zu verbrauchen. Z. B. werden in vielen Geräten über lange Zeiträume Daten erfaßt (Datenschreiber). Dabei werden meist relativ wenig Daten in sehr langen Zeitabständen aufgezeichnet und gespeichert. Zwischendurch gibt es für den Mikrocontroller meist nichts zu tun. Dann ist es nicht sinnvoll in Warteschleifen Zeit zu vertrödeln. Das geht wesentlich stromsparender.&lt;br /&gt;
&lt;br /&gt;
Die Ausführungen dieses Wikiartikels beziehen sich auf den [[AVR]] ATmega32. Prinzipiell gilt das Gesagte auch für viele andere Mikrocontroller ([[MSP430]], [[8051]],[[EFM32]] etc.), die Details muss man jedoch in den jeweiligen Datenblättern nachlesen. Bei den verschiedenen AVR Modellen findet man diese Informationen im Datenblatt unter der Überschrift &amp;quot;Power Management and Sleep Modes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sleep_mode_ablauf.png|framed|Flussdiagramm zu Anwendung von Sleep Modi]]&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
&lt;br /&gt;
Das Prinzip ist immer gleich: Nach Initialisierung des Mikrocontrollers und eventuell angeschlossener ICs ([[LCD]], [[I2C]]-EEPROM etc.) geht der Prozessor in eine Endlosschleife, in welcher die verschiedenen Aufgaben zyklisch bearbeitet werden. Wenn jedoch gerade nichts zu tun ist geht der Prozessor schlafen. Ein Interrupt weckt ihn, der Interrupt wird ausgeführt und er setzt seine Arbeit in der Hauptschleife fort. Das heißt aber auch, daß vor dem Eintritt in den Sleep-Mode die jeweiligen Interrupts freigegeben werden müssen und auch die entsprechenden Interruptroutinen bereitgestellt werden müssen. Sonst gibt es im wahrsten Sinne des Wortes ein böses Erwachen oder einen endlosen Dornröschenschlaf, der nur durch ein Reset beendet werden kann. Kurz bevor der Mikrocontroller schlafen geht, sollte man möglichst alle Module abschalten, welche nicht gebraucht werden, um wertvollen Strom zu sparen. Dazu zählen&lt;br /&gt;
&lt;br /&gt;
* der [[Brownout|Brown Out]] Detector (per [[AVR Fuses]] einschaltbar)&lt;br /&gt;
* der Analogcomparator&lt;br /&gt;
* interne AD-Referenz&lt;br /&gt;
* [[Watchdog]]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[Timer]]&lt;br /&gt;
&lt;br /&gt;
Weitere Hinweise zum Stromsparen gibt es im Artikel [[Ultra low power]].&lt;br /&gt;
&lt;br /&gt;
== Überblick über alle Sleep Modes der AVRs ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sleep Mode || Verfügbare&amp;lt;br/&amp;gt;Module || Stromaufnahme&amp;lt;BR/&amp;gt;3,3V/1 MHz || Weckruf || Aufwachzeit&amp;lt;BR&amp;gt;[Ticks] || Bemerkung&lt;br /&gt;
|-&lt;br /&gt;
| Active     || alle              &lt;br /&gt;
|align =&amp;quot;center&amp;quot;|  1,2mA                                  || alle     &lt;br /&gt;
|align =&amp;quot;center&amp;quot;| 0 &lt;br /&gt;
| - &lt;br /&gt;
|- &lt;br /&gt;
| Idle       || alle              &lt;br /&gt;
|align =&amp;quot;center&amp;quot;| 0,3mA                                   || alle     &lt;br /&gt;
|align =&amp;quot;center&amp;quot;| 6 &lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| ADC Noise&amp;lt;BR&amp;gt;Reduction || ADC&amp;lt;BR&amp;gt;Timer 2&amp;lt;BR&amp;gt;ext. Interrupts&amp;lt;BR&amp;gt;TWI&amp;lt;BR&amp;gt;Watchdog  &lt;br /&gt;
|align =&amp;quot;center&amp;quot;| ca. 0,3mA || ADC&amp;lt;BR&amp;gt;Timer 2&amp;lt;BR&amp;gt;ext. &#039;&#039;&#039;level&#039;&#039;&#039; Interrupt&amp;lt;BR&amp;gt;[[TWI]] Address match&amp;lt;BR&amp;gt;Brown Out Detector Reset&amp;lt;BR&amp;gt;External Reset&amp;lt;BR&amp;gt;Watchdog Reset &lt;br /&gt;
|align =&amp;quot;center&amp;quot;| 6&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Power Save || Timer 2&amp;lt;BR&amp;gt;ext. Interrupts&amp;lt;BR&amp;gt;TWI&amp;lt;BR&amp;gt;Watchdog &lt;br /&gt;
|align =&amp;quot;center&amp;quot;|   10&amp;amp;mu;A         || Timer 2&amp;lt;BR&amp;gt;ext. &#039;&#039;&#039;level&#039;&#039;&#039; Interrupt&amp;lt;BR&amp;gt;TWI Address match&amp;lt;BR&amp;gt;Brown Out Detector Reset&amp;lt;BR&amp;gt;External Reset&amp;lt;BR&amp;gt;Watchdog Reset &lt;br /&gt;
|align =&amp;quot;center&amp;quot;| siehe&amp;lt;BR&amp;gt;[[#Morgenmuffel | hier]]&lt;br /&gt;
| Timer2 mit 32,768 kHz&amp;lt;BR&amp;gt;Uhrenquarz aktiv&lt;br /&gt;
|-&lt;br /&gt;
| Stand By   ||  ext. Interrupts&amp;lt;BR&amp;gt;TWI&amp;lt;BR&amp;gt;Watchdog &lt;br /&gt;
|align =&amp;quot;center&amp;quot;|   35&amp;amp;mu;A                              || ext. &#039;&#039;&#039;level&#039;&#039;&#039; Interrupt&amp;lt;BR&amp;gt;TWI Address match&amp;lt;BR&amp;gt;Brown Out Detector Reset&amp;lt;BR&amp;gt;External Reset&amp;lt;BR&amp;gt;Watchdog Reset &lt;br /&gt;
|align =&amp;quot;center&amp;quot;|  6&lt;br /&gt;
| Hauptoszillator aktiv&lt;br /&gt;
|-&lt;br /&gt;
| Power Down ||  ext. Interrupts&amp;lt;BR&amp;gt;TWI&amp;lt;BR&amp;gt;Watchdog &lt;br /&gt;
|align =&amp;quot;center&amp;quot;| 0,3&amp;amp;mu;A                                 ||ext. &#039;&#039;&#039;level&#039;&#039;&#039; Interrupt&amp;lt;BR&amp;gt;TWI Address match&amp;lt;BR&amp;gt;Brown Out Detector Reset&amp;lt;BR&amp;gt;External Reset&amp;lt;BR&amp;gt;Watchdog Reset&amp;lt;br\&amp;gt;PCINT&lt;br /&gt;
|align =&amp;quot;center&amp;quot;| siehe&amp;lt;BR&amp;gt;[[#Morgenmuffel | hier]]&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Die verschiedenen Sleep Modes im Detail ==&lt;br /&gt;
&lt;br /&gt;
=== Active Mode ===&lt;br /&gt;
&lt;br /&gt;
Eigentlich ist das kein Sleep Mode, er soll der Vollständigkeit halber aber genannt werden. In diesem Modus sind alle Takte und alle Module aktiv, zumindest die, die man per Programm aktiviert hat. In diesem Modus ist die CPU ständig am arbeiten, auch wenn es nur eine lange Warteschleife ist. Warten kostet genauso viel Strom wie sinnvolle Dinge berechnen! Dadurch werden auch ständig Daten aus dem [[Speicher#Flash-ROM | Flash]] geladen, nämlich das Programm, welches gerade ausgeführt wird. Das kostet natürlich Strom, wenn gleich auch die Mikrocontroller von heute sehr wenig brauchen. Bei 1 MHz und 3.3V braucht der ATmega ca. 1,2mA, zu finden im Datenblatt unter &amp;quot;ATmega8 Typical Characteristics&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Idle Mode ===&lt;br /&gt;
&lt;br /&gt;
Hier kann zum ersten mal gespart werden. Wenn nichts berechnet werden soll, der Timer, UART, ADC etc. aber arbeiten sollen, dann ist dieser Modus das Mittel der Wahl. Die CPU bleibt stehen, ebenso der Flash, weil ja kein Programm ausgeführt wird. Das spart schon mal einiges, der Stromverbrauch sinkt auf ca. 0,35mA, eine Einsparung von 70%! Aus diesem Modus kann jeder Interrupt die CPU wieder wecken. Sie ist dann bereits nach sechs Takten wieder voll einsatzfähig.&lt;br /&gt;
&lt;br /&gt;
=== ADC Noise Reduction Mode ===&lt;br /&gt;
&lt;br /&gt;
Dieser Modus geht einen kleinen Schritt weiter als der Idle Mode. Hier wird zusätzlich der Takt für die IO-Module abgeschaltet. Nur noch der [[AD-Wandler]], die exteren Interrupts, das [[TWI]] und der Watchdog sind funktionsfähig (wenn man sie nutzen will). Der [[UART]] und Timer0 bzw. Timer1 sind nicht mehr nutzbar. Wie der Name des Sleep Mode vermuten lässt wird das alles getan, um möglichst wenig Störungen mit den internen Modulen zu erzeugen, um die Messung des ADC geringfügig zu verbessern.&lt;br /&gt;
&lt;br /&gt;
=== Power Save Mode ===&lt;br /&gt;
&lt;br /&gt;
Hier werden fast alle Oszillatoren gestoppt. Die einzige Ausnahme ist der Timer 2, welcher asynchron mit einem 32,768 kHz Uhrenquarz betrieben werden kann. Ist er entsprechend konfiguriert, dann bleibt er beim Einschalten des Power Save Mode aktiv. Dieser Modus ist einer der wichtigsten! Da alle Oszillatoren gestoppt sind, funktionieren nur noch die asynchronen Module.&lt;br /&gt;
&lt;br /&gt;
Bei neueren AVR-Typen (z.&amp;amp;nbsp;B. ATMega88/ATMega644) kann Timer2 wahlweise auch mit dem internen Oszillator weiterlaufen. In dem Fall braucht es keinen externen Uhrenquarz.&lt;br /&gt;
&lt;br /&gt;
=== Stand By ===&lt;br /&gt;
&lt;br /&gt;
Hier werden alle Takte auf dem IC angehalten. &#039;&#039;&#039;ABER!&#039;&#039;&#039; Der ausgewählte Hauptoszillator läuft weiter. Das kostet zwar etwas Strom, hat aber den Riesenvorteil, daß die CPU nach dem Aufwachen nach nur sechs Takten wieder zur Verfügung steht. Das klingt selbstverständlich, ist es aber nicht! Gerade Quarzoszillatoren haben auf Grund ihrer sehr hohen Güte (sehr schmalbandiger Schwingkreis) eine Einschwingzeit von 10..100ms! Eine kleine Ewigkeit. Dieser Modus ist ideal, wenn ein Quarz verwendet wird und kürzeste Reaktionszeiten nach dem Aufwecken nötig sind. Da alle Takte gestoppt sind, funktionieren nur noch die asynchronen Module.&lt;br /&gt;
&lt;br /&gt;
=== Power Down Mode ===&lt;br /&gt;
&lt;br /&gt;
Das ist der &amp;quot;tiefste&amp;quot; Sleep Mode. Dabei werden &#039;&#039;&#039;ALLE&#039;&#039;&#039; Oszillatoren gestoppt (intern wie extern). Nur asynchrone Module funktionieren jetzt noch und können den schlafenden AVR wecken. Die Stromaufnahme wird nur noch von den Leckströmen bestimmt und liegt typisch bei 300nA.&lt;br /&gt;
&lt;br /&gt;
== Morgenmuffel ==&lt;br /&gt;
&lt;br /&gt;
Im Power Save und Power Down Mode ist der Oszillator für die CPU gestoppt. Wird der AVR nun geweckt kann er leider nicht sofort loslegen. Warum? Weil der Oszillator erst anlaufen und sich stabil einschwingen muß. Während dieser Zeit darf die CPU noch nicht loslaufen, sonst kann es passieren, daß sie abstürzt! (Weil ein noch instabiler Oszillator ultrakurze Taktpulse erzeugen kann, an denen sich die CPU &amp;quot;verschluckt&amp;quot;.) Wie bereits oben gesagt kann das Anschwingen eines Quarzoszillators sehr lange dauern. Je niedriger die Frequenz um so länger. Keramikresonatoren sind ca. zehn mal so schnell. Auch das ist ganz einfach physikalisch durch die Güte bestimmt. Sie sind breitbandiger, dadurch zwar ungenauer aber schwingen schneller an. Am schnellsten sind RC-Oszillatoren, leider sind sie aber auch die ungenauesten. Um nun die entsprechende Zeit zu warten wird der Watchdog-Oszillator verwendet. Darum muß man sich nicht direkt kümmern das macht der AVR allein. Aber man muß mittels der [[AVR Fuses]] festlegen, wieviel Takte gewartet werden soll. Die Frequenz des Watchdogoszillators beträgt ca. 1,15 MHz bei 3,3V Versorgungsspannung.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!   Taktquelle                 || Wartezeit [Takte] || Wartezeit      || typische Einschwingzeit&lt;br /&gt;
|-&lt;br /&gt;
|   externer Quarz (1)         || 16384&amp;lt;BR&amp;gt; 32768      || 14,2ms&amp;lt;BR&amp;gt; 28,4ms || 10ms, Uhrenquarze 100ms&lt;br /&gt;
|-&lt;br /&gt;
|   externer Resonator (1)     || 1024&amp;lt;BR&amp;gt; 16384       || 890&amp;amp;mu;s&amp;lt;BR&amp;gt; 14,2ms || 1ms&lt;br /&gt;
|-&lt;br /&gt;
|   externer Quarzoszillator   || 6                    || 5&amp;amp;mu;s      || Takt liegt konstant an&lt;br /&gt;
|-&lt;br /&gt;
|   externer RC-Oszillator     || 6&amp;lt;BR&amp;gt; 18             || 5&amp;amp;mu;s&amp;lt;BR&amp;gt; 15&amp;amp;mu;s || 1..3 Takte&lt;br /&gt;
|-&lt;br /&gt;
|  interner RC-Oszillator      || 6                    || 5&amp;amp;mu;s        || 1..3 Takte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(1) Es können für den Quarz bzw. Resonator auch niedigere Wartezeiten verwendet werden. Das ist jedoch nicht empfehlenswert. Näheres siehe Datenblatt.&lt;br /&gt;
&lt;br /&gt;
== Ermittlung des Stromverbrauchs ==&lt;br /&gt;
&lt;br /&gt;
Bei der Messung des Stromverbrauchs haben wir jedoch ein kleines Problem. Die Stromaufnahme eines Mikrocontrollers schwankt bei der Verwendung des Sleep Mode gewaltig. Denn oft wartet der Mikrocontroller im Schlafmodus auf ein Ereignis, z.&amp;amp;nbsp;B. einen Tastendruck. Wird eine Taste gedrückt arbeitet der Mikrocontroller beispielsweise für 100ms und geht dann wieder für Sekunden bis Tage schlafen. Die stoßartige Arbeitsweise (Burst) gleicht einer [[PWM]]. Das Problem ist dabei, dass man theoretisch mit einem Tiefpass diese PWM filtern (glätten) muss um sie anschließend mit einem Multimeter zu messen. Aber wer will schon einen Tiefpass mit einer Zeitkonstante von mehreren Minuten bis Tagen bauen und damit messen? Das Problem muss anders gelöst werden. Und das ist recht leicht.&lt;br /&gt;
&lt;br /&gt;
* Mit einem Multimeter misst man die Stromaufnahme im Sleep Mode (Mikroampere)&lt;br /&gt;
* Mit einem Reihenwiderstand von 10..100 Ω in der Vcc Leitung des Mikrocontrollers und einem Oszilloskop kann die Stromaufnahme des Mikrocontrollers während der kurzen aktiven Arbeitsphase gemessen werden. Dazu braucht man nur das ohmsche Gesetz, I = U / R. Dabei nutzt man einen 1:1 Tastkopf, um eine maximale Spannungsauflösung zu erreichen. Ausserdem schaltet man den Eingang auf AC-Kopplung, da ja nur Pulse gemessen werden, keine Gleichspannungen. Damit kann man vor allem den Spannungsmessbereich sehr weit runter drehen.  &lt;br /&gt;
* Der mittlere Stromverbrauch wird wie folgt berechnet:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;I_m = \frac {I_\text{sleep} \cdot t_\text{sleep} + I_\text{aktiv} \cdot t_\text{aktiv}}{t_\text{sleep} + t_\text{aktiv}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Batterielebensdauer ==&lt;br /&gt;
&lt;br /&gt;
Wie übersetzen sich nun diese Zahlen in eine Batterielebensdauer? Versorgt man den AVR über drei in Reihe geschaltete AAA [[Versorgung aus einer Zelle | Batterien]], kann man etwa folgende Abschätzung machen. Eine AAA Batterie (Micro) hat eine Kapazität von ca. 1200mAh. D.H. Sie kann für 1200 Stunden (50 Tage) 1mA liefern. Oder für 12000 Stunden 0,1mA, das sind immerhin schon 500 Tage, also über sechzehn Monate! Nutzt man den Power Save Mode (10µA), dann reichen die Batterien bereits 120.000 Stunden, das sind theoretisch 13,7 Jahre! Natürlich sinkt während der Entladung die  Batteriespannung, aber der ATmega32 kann ja mit 2,7V betrieben werden, einige [[AVR]]-Typen sogar mit nur 1,8V. Ebenso wird es in 13 Jahren zu einer merklichen Selbstentladung der Batterien kommen, so daß die hier berechnete Zeit nicht erreicht wird. Real kann eher mit drei bis sieben Jahren gerechnet werden. Um eine hohe Lebensdauer zu erreichen müssen dann Lithiumbatterien verwendet werden, welche eine extrem geringe Selbstentladung haben und eine Lebensdauer von 10 Jahren erreichen.&lt;br /&gt;
&lt;br /&gt;
Wenn man wirklich das allerletzte Mikroampere einsparen will und dennoch quarzgenau eine Zeitbasis benötigt, dann verwendet man eine &#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;C&#039;&#039;&#039;lock (RTC, Echtzeituhr), wie z.&amp;amp;nbsp;B. [http://datasheets.maxim-ic.com/en/ds/DS1371.pdf DS1371] oder RV-3029-C2. Diese Bausteine arbeiten auch mit einem 32,768 kHz Uhrenquarz (ggf. auch intern), sind aber extrem auf Stromsparen optimiert (Stromverbrauch 800..1100nA). Gleichzeitig ist eine Uhr und Weckfunktion eingebaut. Ausgelesen werden kann sie über den [[I2C]]-[[Bus]]. Diese RTC können den Mikrocontroller periodisch nach einer bestimmten Zeit (Sekunden bis Tage) über einen externen Interrupt wecken. Damit kann der Mikrocontroller in den Power Down Mode gehen und maximal Strom sparen. So eine Kombination aus AVR und RTC verbraucht dann nur noch  ca. 1400nA! Eine kleine 3V Lithiumzelle mit 100mAh reicht dann unglaubliche 71.400 Stunden = 8 Jahre!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Allgemein gilt:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\text{Lebensdauer} [h] = \frac {\mathrm{Kapazit\ddot at} [Ah] }{\text{Strom} [A]}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, daß diese Formel nur für relativ geringe Entladeströme gilt, typisch bei einer Entladung über 20 Stunden oder länger. Will man hohe Ströme in einer kurzen Zeit entnehmen, sinkt die verfügbare Kapazität. Genaueres findet man dazu [http://www.amplepower.com/pwrnews/beer/ hier] und im Datenblatt der Batterien.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
Die Beispiele sind mit WINAVR 20060421 compiliert und getestet worden. Zur Nutzung des Sleep Mode werden zwei C-Funktionen zur Verfügung gestellt, set_sleep_mode() und sleep_mode(). Genaueres hierzu findet man in der Dokumentation der libc im WINAVR. Alle Programme wurden mit Optimierungsstufe -Os compiliert.&lt;br /&gt;
&lt;br /&gt;
=== UART Terminal ===&lt;br /&gt;
&lt;br /&gt;
Soll der UART verwendet werden kommt nur der Idle Mode in Frage. In diesem Beispiel wird der AVR genutzt um Zeichen von der [[RS232]] Schnittstelle zu empfangen und per Morsezeichen auszugeben. Als Hauptoszillator wird ein 3,6864 MHz Quarz eingesetzt, wie für eine zuverlässige UART-Kommunikation notwendig ist. Siehe auch [[AVR-Tutorial: UART | AVR-Tutorial]], [[AVR Checkliste#UART.2FUSART | AVR Checkliste]] und [[AVR-GCC-Tutorial#Der_UART | AVR-GCC-Tutorial]]. Im Sleepmode verbraucht der AVR ca. 1,9mA, im aktiven Zustand mit eingeschalteter LED ca. 7,3mA.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
************************************************************************&lt;br /&gt;
*&lt;br /&gt;
* Sleep Mode Demo, Idle Mode&lt;br /&gt;
*&lt;br /&gt;
* ATmega32 mit externem 3,6864 MHz Quarz an XTAL1/XTAL2&lt;br /&gt;
*&lt;br /&gt;
* LOW Fuse Byte = 0xFF&lt;br /&gt;
*&lt;br /&gt;
* An PD5 muss eine LED mit 1 kOhm Vorwiderstand angeschlossen werden&lt;br /&gt;
* An PD0 ist ein MAX232 angeschlosssen, um Daten vom PC zu empfangen&lt;br /&gt;
*&lt;br /&gt;
************************************************************************&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 3686400       // Taktfrequenz des Quarzes&lt;br /&gt;
&lt;br /&gt;
#define BAUD 9600L          // Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!&lt;br /&gt;
 &lt;br /&gt;
// Berechnungen&lt;br /&gt;
#define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1)   // clever runden&lt;br /&gt;
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     // Reale Baudrate&lt;br /&gt;
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) // Fehler in Promille &lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/sleep.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
#include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// globale Variablen&lt;br /&gt;
&lt;br /&gt;
volatile uint8_t uart_flag;&lt;br /&gt;
volatile uint8_t uart_data;&lt;br /&gt;
&lt;br /&gt;
// lange, variable Wartezeit, Einheit in Millisekunden&lt;br /&gt;
&lt;br /&gt;
void long_delay(uint16_t ms) {&lt;br /&gt;
    for (; ms&amp;gt;0; ms--) _delay_ms(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Ein Byte als &amp;quot;Morsezeichen&amp;quot; auf eine LED ausgeben&lt;br /&gt;
&lt;br /&gt;
void morse(uint8_t data) {&lt;br /&gt;
    uint8_t i,j;&lt;br /&gt;
    &lt;br /&gt;
    for(i=0; i&amp;lt;8; i++) {&lt;br /&gt;
        if (data &amp;amp; 0x01)        // Prüfe Bit #0&lt;br /&gt;
            j=250;              // Bit ist 1&lt;br /&gt;
        else&lt;br /&gt;
            j=100;              // Bit ist 0&lt;br /&gt;
&lt;br /&gt;
        PORTD |= (1 &amp;lt;&amp;lt; PD5);    // LED an&lt;br /&gt;
        long_delay(j);&lt;br /&gt;
        PORTD &amp;amp;= ~(1 &amp;lt;&amp;lt; PD5);   // LED aus&lt;br /&gt;
        long_delay(1000-j);&lt;br /&gt;
        data &amp;gt;&amp;gt;= 1;             // nächstes Bit auf Bit #0 schieben&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main (void) {&lt;br /&gt;
&lt;br /&gt;
// IO konfigurieren&lt;br /&gt;
&lt;br /&gt;
    DDRA = 0xFF;&lt;br /&gt;
    DDRB = 0xFF;&lt;br /&gt;
    DDRC = 0xFF;&lt;br /&gt;
    DDRD = 0xFF;&lt;br /&gt;
&lt;br /&gt;
// UART konfigurieren&lt;br /&gt;
&lt;br /&gt;
    UBRRH = UBRR_VAL &amp;gt;&amp;gt; 8;&lt;br /&gt;
    UBRRL = UBRR_VAL &amp;amp; 0xFF;&lt;br /&gt;
    UCSRB = (1&amp;lt;&amp;lt;RXCIE) | (1&amp;lt;&amp;lt;RXEN); &lt;br /&gt;
&lt;br /&gt;
// Interrupts freigeben&lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
    &lt;br /&gt;
// Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while(1) {&lt;br /&gt;
        set_sleep_mode(SLEEP_MODE_IDLE);&lt;br /&gt;
        sleep_mode();                   // in den Schlafmodus wechseln&lt;br /&gt;
&lt;br /&gt;
        // hier wachen wir wieder auf&lt;br /&gt;
        if (uart_flag==1) {&lt;br /&gt;
            uart_flag =0;&lt;br /&gt;
            morse(uart_data);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// UART RX complete interrupt&lt;br /&gt;
&lt;br /&gt;
ISR(USART_RXC_vect) {&lt;br /&gt;
    uart_flag = 1;              // signalisiere neue Daten&lt;br /&gt;
    uart_data = UDR;            // Daten auslesen, dadurch wird auch der Interrupt gelöscht&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quarzgenaue Zeitbasis ===&lt;br /&gt;
&lt;br /&gt;
Hier kommt der Power Save Mode zum Einsatz. Als Zeitbasis dient ein externer 32,768 kHz Uhrenquarz, welcher asynchron den Timer 2 taktet. Das ist zwar nur ein 8 Bit Zähler, der schon nach 256 Takten überläuft, aber es gibt ja zum Glück noch den Vorteiler (Prescaler). Dieser kann die Teilerverhältnisse 1/8/32/256/1024 annehmen, daraus ergeben sich Überlaufzeiten von 7,8125ms/62,5ms/250ms/2s/8s. Werden längere Zeiten benötigt muß man diese in Software nachbilden. Z. B. kann man mit einem zwei Sekunden Intervall in einer Variable bis 30 zählen um exakt eine Minute zu erhalten. Die 30 mal aufwachen, Variable hochzählen und wieder in den Sleep Mode schalten fallen praktisch nicht ins Gewicht, das dauert nur einige Dutzend Mikrosekunden.&lt;br /&gt;
&lt;br /&gt;
Das hier gezeigte Beispiel ist sehr einfach gehalten, zeigt aber deutlich die Vorgehensweise. Im quarzgenauen Zeitraster von einer Minute wird eine LED für zwei Sekunden eingeschaltet. In den realen Anwendungen wird natürliche eine Messung etc. gemacht.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
************************************************************************&lt;br /&gt;
*&lt;br /&gt;
* Sleep Mode Demo, Power Save Mode&lt;br /&gt;
*&lt;br /&gt;
* ATmega32 mit internem 1 MHz Oszillator + 32 kHz Quarz&lt;br /&gt;
*&lt;br /&gt;
* LOW Fuse Byte = 0xE1&lt;br /&gt;
*&lt;br /&gt;
* An PD5 muss eine LED mit 1 kOhm Vorwiderstand angeschlossen werden&lt;br /&gt;
* An TOSC1/TOSC2 muss ein 32,768 kHz Quarz angeschlossen sein&lt;br /&gt;
*&lt;br /&gt;
************************************************************************&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 1000000&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/sleep.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
#include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// globale Variablen&lt;br /&gt;
&lt;br /&gt;
volatile uint8_t flag;&lt;br /&gt;
&lt;br /&gt;
// lange, variable Wartezeit, Einheit in Millisekunden&lt;br /&gt;
&lt;br /&gt;
void long_delay(uint16_t ms) {&lt;br /&gt;
    for (; ms&amp;gt;0; ms--) _delay_ms(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main (void) {&lt;br /&gt;
&lt;br /&gt;
// IO konfigurieren&lt;br /&gt;
&lt;br /&gt;
    DDRA = 0xFF;&lt;br /&gt;
    DDRB = 0xFF;&lt;br /&gt;
    DDRC = 0xFF;&lt;br /&gt;
    DDRD = 0xFF;&lt;br /&gt;
&lt;br /&gt;
// Analogcomparator ausschalten&lt;br /&gt;
&lt;br /&gt;
    ACSR = 0x80;&lt;br /&gt;
&lt;br /&gt;
// Timer2 konfigurieren&lt;br /&gt;
&lt;br /&gt;
    ASSR  = (1&amp;lt;&amp;lt; AS2);              // Timer2 asynchron takten&lt;br /&gt;
    long_delay(1000);               // Einschwingzeit des 32kHz Quarzes&lt;br /&gt;
    TCCR2  = 6;                     // Vorteiler 256 -&amp;gt; 2s Überlaufperiode&lt;br /&gt;
    while((ASSR &amp;amp; (1&amp;lt;&amp;lt; TCR2UB)));   // Warte auf das Ende des Zugriffs&lt;br /&gt;
    TIFR   = (1&amp;lt;&amp;lt;TOV2);             // Interrupts löschen (*)&lt;br /&gt;
    TIMSK |= (1&amp;lt;&amp;lt;TOIE2);            // Timer overflow Interrupt freischalten&lt;br /&gt;
// (*) &amp;quot;Alternatively, TOV2 is cleared by writing a logic one to the flag.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// Interrupts freigeben&lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
&lt;br /&gt;
// Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while(1) {&lt;br /&gt;
&lt;br /&gt;
        // WICHTIG!&lt;br /&gt;
        // Wenn der Timer2 im asynchronen Modus periodisch zum Wecken aus dem Sleep Mode&lt;br /&gt;
        // genutzt wird, dann muss vor dem Wiedereintritt mindestens&lt;br /&gt;
        // 1 Oszillatortakt des Timers abgewartet werden (~30us), um die Interruptlogik &lt;br /&gt;
        // wieder zu aktivieren, anderenfalls wacht der AVR nicht mehr auf.&lt;br /&gt;
        // Die folgenden zwei Zeilen tun dies.&lt;br /&gt;
        // Nur wenn sichergestellt ist, dass der Interrupt + Hauptschleife länger als 30µs dauern,&lt;br /&gt;
        // kann man den Test weglassen&lt;br /&gt;
&lt;br /&gt;
        OCR2 = 0;                       // Dummyzugriff&lt;br /&gt;
        while((ASSR &amp;amp; (1&amp;lt;&amp;lt; OCR2UB)));   // Warte auf das Ende des Zugriffs&lt;br /&gt;
&lt;br /&gt;
        set_sleep_mode(SLEEP_MODE_PWR_SAVE);&lt;br /&gt;
        sleep_mode();                   // in den Schlafmodus wechseln&lt;br /&gt;
&lt;br /&gt;
        // hier wachen wir wieder auf, nach Ausführung des Interrupts&lt;br /&gt;
&lt;br /&gt;
        if (flag==1) {                  // Neues Messintervall ?&lt;br /&gt;
            flag =0;&lt;br /&gt;
            PORTD |= (1 &amp;lt;&amp;lt; PD5);        // LED für 2 Sekunden anschalten&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Timer2 overflow Interrupt&lt;br /&gt;
&lt;br /&gt;
ISR(TIMER2_OVF_vect) {&lt;br /&gt;
    static uint8_t ticks;               // Hilfsvariable für Messintervall&lt;br /&gt;
&lt;br /&gt;
    ticks++;&lt;br /&gt;
    if (ticks==30) {                    // neues Messintervall ?&lt;br /&gt;
        ticks=0;&lt;br /&gt;
        flag=1;&lt;br /&gt;
    }&lt;br /&gt;
    PORTD &amp;amp;= ~(1 &amp;lt;&amp;lt; PD5);               // LED ausschalten&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Sleep Mode beträgt die Stromaufnahme des AVR ca. 10&amp;amp;mu;A, während der zwei Sekunden LED Leuchtdauer 2,3mA. Dadurch ergibt sich ein mittlerer Stromverbrauch von&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;I_m = \frac {10 \mu A \cdot 58s + 2,3mA \cdot 2s}{60s} = 86,3 \mu A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Korrekterweise müßte man jedoch noch den Stromverbrauch berücksichtigen, welcher bei jedem Timerüberlauf alle zwei Sekunden entsteht. Dabei wird einmal der Timerinterrupt durchlaufen sowie einmal die Hauptschleife. Das dauert hier ca. 50 Takte, bei 1 MHz somit 50&amp;amp;mu;s. Zusätzlich wird noch bis zu 30µs gewartet, um garantiert einen Takt im Timer 2 vergehen zu lassen. Das passiert pro Minute 30 mal, somit erhöht sich der mittlere Stromverbrauch um&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac {30 \cdot 80 \mu s \cdot 1,2mA}{60s}= 48nA&amp;lt;/math&amp;gt; , was somit praktisch vollkommen vernachlässigbar ist.&lt;br /&gt;
&lt;br /&gt;
=== Aufwachen per Tastendruck ===&lt;br /&gt;
&lt;br /&gt;
Maximale Einsparung an Energie bringt der Power Down Modus. Das Aufwecken muß dann aber durch eine externen Interrupt erfolgen. Auch hier blinkt eine LED.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
************************************************************************&lt;br /&gt;
*&lt;br /&gt;
* Sleep Mode Demo, Power Down Mode&lt;br /&gt;
*&lt;br /&gt;
* ATmega32 mit internem 1 MHz Oszillator&lt;br /&gt;
*&lt;br /&gt;
* LOW Fuse Byte = 0xE1&lt;br /&gt;
*&lt;br /&gt;
* An PD5 muss eine LED mit 1 kOhm Vorwiderstand angeschlossen werden&lt;br /&gt;
* An PD2 muss ein Taster gegen GND angeschlossen sein&lt;br /&gt;
*&lt;br /&gt;
************************************************************************&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#define F_CPU 1000000&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/sleep.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
#include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// lange, variable Wartezeit, Einheit in Millisekunden&lt;br /&gt;
&lt;br /&gt;
void long_delay(uint16_t ms) {&lt;br /&gt;
    for (; ms&amp;gt;0; ms--) _delay_ms(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main (void) {&lt;br /&gt;
&lt;br /&gt;
// IO konfigurieren&lt;br /&gt;
&lt;br /&gt;
    DDRA = 0xFF;&lt;br /&gt;
    DDRB = 0xFF;&lt;br /&gt;
    DDRC = 0xFF;&lt;br /&gt;
    DDRD = 0xFB;        // PD2 = INT0 = Eingang&lt;br /&gt;
    PORTD = 0x04;       // Pull Up aktivieren&lt;br /&gt;
&lt;br /&gt;
// Analogcomparator ausschalten&lt;br /&gt;
&lt;br /&gt;
    ACSR = 0x80;&lt;br /&gt;
&lt;br /&gt;
// Interrupt konfigurieren&lt;br /&gt;
&lt;br /&gt;
    MCUCR &amp;amp;= ~0x3;              // levelgesteuerter Interrupt an INT0&lt;br /&gt;
&lt;br /&gt;
// Interrupts freigeben&lt;br /&gt;
&lt;br /&gt;
    sei();&lt;br /&gt;
    &lt;br /&gt;
// Endlose Hauptschleife&lt;br /&gt;
&lt;br /&gt;
    while(1) {&lt;br /&gt;
&lt;br /&gt;
        GICR |= (1 &amp;lt;&amp;lt; INT0);            // externen Interrupt freigeben&lt;br /&gt;
&lt;br /&gt;
        set_sleep_mode(SLEEP_MODE_PWR_DOWN);&lt;br /&gt;
        sleep_mode();                   // in den Schlafmodus wechseln&lt;br /&gt;
&lt;br /&gt;
        // hier wachen wir wieder auf&lt;br /&gt;
        GICR &amp;amp;= ~(1 &amp;lt;&amp;lt; INT0);           // externen Interrupt sperren&lt;br /&gt;
                                        // WICHTIG! falls der externe LOW Puls an INT0&lt;br /&gt;
                                        // sehr lange dauert&lt;br /&gt;
&lt;br /&gt;
        PORTD |= (1 &amp;lt;&amp;lt; PD5);            // LED für eine Sekunde anschalten&lt;br /&gt;
        long_delay(1000);&lt;br /&gt;
        PORTD &amp;amp;= ~(1 &amp;lt;&amp;lt; PD5);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// externer Interrupt INT0 &lt;br /&gt;
&lt;br /&gt;
// Die Interruptroutine kann leer sein, ABER sie muss existieren!&lt;br /&gt;
// Sonst springt der AVR nach dem Aufwachen zum Reset, weil kein sinnvoller&lt;br /&gt;
// Interruptvektor eingetragen ist!&lt;br /&gt;
&lt;br /&gt;
ISR(INT0_vect) {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Power Down Mode beträgt die Stromaufnahme des AVR weniger als 1&amp;amp;mu;A (weniger konnte mit dem verfügbaren Messgerät nicht gemessen werden), laut Datenblatt ca. 0,3µA. Während der einen Sekunde LED Leuchtdauer werden 3,8mA verbraucht. Wird einmal pro Minute die Taste gedrückt, ergibt sich ein mittlerer Stromverbrauch von&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;I_m = \frac {0,3 \mu A \cdot 59s + 3,8mA \cdot 1s}{60s} = 63,6 \mu A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird nur einmal pro Stunde die Taste gedrückt, ergibt sich ein mittlerer Stromverbrauch von&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;I_m = \frac {0,3 \mu A \cdot 3599s + 3,8mA \cdot 1s}{3600s} = 1,3 \mu A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
&lt;br /&gt;
=== JTAG Fuse ===&lt;br /&gt;
&lt;br /&gt;
Aus einem [http://www.mikrocontroller.net/topic/51206 Beitrag im Forum]:&lt;br /&gt;
: &#039;&#039;Wenn ich in den Power Down mode schalte bleibt die Stromaufnahme trotzdem gleich.&amp;lt;br/&amp;gt;ATmega128 8MHz 3,3V = 8mA entspricht auch dem Datenblatt.&lt;br /&gt;
&lt;br /&gt;
Datenblatt, Seite 49:&lt;br /&gt;
:If the On-chip debug system is enabled by the OCDEN Fuse and the chip enter Power down or Power save sleep mode, the main clock source remains enabled. In these sleep modes, this will contribute significantly to the total current consumption. There are three alternative ways to avoid this:&lt;br /&gt;
:* Disable OCDEN Fuse.&lt;br /&gt;
:* Disable JTAGEN Fuse.&lt;br /&gt;
:* Write one to the JTD bit in MCUCSR.&lt;br /&gt;
&lt;br /&gt;
PS. Ich habe gestern den ganzen Tag dran mit dem ATmega128 im&lt;br /&gt;
Sleep-Modus gesessen, man musste einfach JTAG abschalten, dann läuft&lt;br /&gt;
der Hauptoszillator nicht mehr und der Stromverbrauch sinkt drastisch&lt;br /&gt;
ab.&lt;br /&gt;
&lt;br /&gt;
== Bauteile ==&lt;br /&gt;
&lt;br /&gt;
* [http://datasheets.maxim-ic.com/en/ds/DS1371.pdf DS1371], Echtzeituhr mit 1&amp;amp;mu;A Stromverbrauch&lt;br /&gt;
*[http://www.nxp.com/documents/data_sheet/PCF2123.pdf], Echtzeituhr mit 0,2 &amp;amp;mu;A Stromverbrauch&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://interface.khm.de/index.php/lab/experiments/sleep_watchdog_battery/ [[Arduino]] Sleep_Watchdog_Battery] von Martin Nawrath&lt;br /&gt;
* [[Arduino]] [http://www.arduino.cc/playground/Learning/ArduinoSleepCode Sleep.]How to let your Arduino go to sleep and wake up on an external event.&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR]]&lt;br /&gt;
[[Kategorie: Spannungsversorgung und Energiequellen]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77937</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77937"/>
		<updated>2013-08-09T16:17:37Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Simplicity Studio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Code-/Projektgenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77936</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77936"/>
		<updated>2013-08-09T16:15:43Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Download */  download links aktualisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/990-simplicity-studio-120-energyaware-tools-osx-linux/ Forum und Download BETA Simplicity Studio für Mac und Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77935</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=77935"/>
		<updated>2013-08-09T16:12:50Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* ERM32 Familien */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Silicon Labs. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Seit dem Juli 2013 gehören die EFM32 zu Silicon Labs, welche Energy Micro übernommen haben. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== EFM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Backup Power Domain ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller der [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko], [http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko] sowie [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko] Serie enthalten eine sogenannte Backup Power Domain. Auf diese kann man auch noch im EM4 (bei einem Stromverbrauch von ca. 400nA) zugreifen. &lt;br /&gt;
Dieser Bereich besteht aus einem Backup Realtime Clock (BURTC) sowie 512 byte Speicher.&lt;br /&gt;
Dieser Bereich wird  durch eine seperate Speisung betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen.&lt;br /&gt;
Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im Backup Power Domain Speicher erhalten und der RTC zählt.&lt;br /&gt;
&lt;br /&gt;
Der Backup Power Domain Speicher (Retention Register) ist in 128 32 Bit Register aufgeteilt (BURTC_RET[0:127]_REG). Es kann in allen Energy Modes auf diese Register zugegriffen werden (EM0-EM4). &lt;br /&gt;
Um Energie zu sparen, können diese auch deaktiviert werden (BURTC_POWERDOWN).&lt;br /&gt;
&lt;br /&gt;
Der BURTC wird defaultmäsig am ULFRCO &amp;quot;angeschlossen&amp;quot; , für eine höhere genauigkeit (höhere Frequenzen) kann der BURTC aber auch mit dem LFRCO oder dem LFXO bis in den EM4 geclockt werden. Es handelt sich dabei um einen 32bit Counter.&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0041_efm32_backup_power_domain.pdf Application Note 0041 Backup Power Domain]&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
- EFM32GG-STK3700 User Manual Seite 9, 5.7 Backup Domain Capacitor &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Uhr implementation mit BURTC) für [http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 EFM32LG-STK3600], [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 EFM32GG-STK3700], [http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 EFM32WG-STK3800] &amp;lt;br&amp;gt; unter Examples/entsprechendes Board/burtc &amp;lt;br&amp;gt;&lt;br /&gt;
- Code Beispiel (Kalender + Uhr implementation mit BURTC) für Giant Gecko Development Kit (EFM32GG-DK3750) &amp;lt;br&amp;gt; unter Application Note/AN0041 Backup Power Domain/Source/backup_rtc_clock_dk...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Quellen ===&lt;br /&gt;
&lt;br /&gt;
Die Energy Micro Mikrocontroller bieten viele verschiedene Clock Quellen.&lt;br /&gt;
&lt;br /&gt;
Quarz Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- Ultra Low Frequency Crystal Oscillator (ULFRCO) 1 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-Low Frequency Crystal Oscillator (LFXO)          32.768 kHz &amp;lt;br&amp;gt;&lt;br /&gt;
-High Frequency Crystal Oscillator (HFXO)         32 MHz &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC Oszilatoren: &amp;lt;br&amp;gt;&lt;br /&gt;
- High Frequency RC Oscillator (HFRCO) 1-28MHz  &amp;lt;br&amp;gt;&lt;br /&gt;
- Low Frequency RC Oscillator (LFRCO)  32.768kHz &amp;lt;br&amp;gt;&lt;br /&gt;
- Auxiliary RC Oscillator (AUXHFRCO)   14MHz (nur für Debug/Trace/Flash programm und LESENCE Timing) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dokumente dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
Online: &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0016_efm32_oscillator_design_considerations.pdf Application Note 0016 zur Clock Wahl / Konfiguration] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://cdn.energymicro.com/dl/an/pdf/an0004_efm32_cmu.pdf Application Note 0004 zur Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
- [http://www.energymicro.com/downloads/datasheets Reference Manuals, Kapitel CMU - Clock Management Unit] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im Simplicity Studio: &amp;lt;br&amp;gt;&lt;br /&gt;
-- Code Beispiele zu div. Development Kits und Starter Kits &amp;lt;br&amp;gt; unter Application Note/AN0016 Clock Management Unit/Source/...&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
Seit Version 1.10 unterstützt die freie [http://www.emblocks.org IDE EmBlocks] auch EFM32 Mikrocontroller. Dies ist eine sehr kleine IDE (40 MB Download), welche auf Code::Blocks basiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Entwicklungsumgebung kann [http://www.emblocks.org/web/index.php/downloads-main hier] heruntergeladen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit [http://www.emblocks.org/web/index.php/downloads-main/examples diesen] Projekt Files kann man alle Beispiele von Energy Micro für das EFM32GG STK3700 sowie das EFM32GG STK3300 auch in EmBlocks öffnen, kompilieren und debuggen. &amp;lt;br&amp;gt; Der GNU ARM Compiler ist bereits integriert und funktioniert ohne weitere Einstellungen.&lt;br /&gt;
&lt;br /&gt;
Vorgehen: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Simplicity Studio herunterladen ([http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Link]), installieren, aktualisieren &amp;lt;br&amp;gt;&lt;br /&gt;
2. EmBlocks herunterladen ([http://www.emblocks.org/web/index.php/downloads-main Download Link]), installieren &amp;lt;br&amp;gt;&lt;br /&gt;
3. Project Files herunterladen ([http://www.emblocks.org/web/index.php/downloads-main/examples Download Link]), entzippen, in das folgende Verzeichniss kopieren: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700 &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. EmBlocks öffnen, dann auf File/open klicken, folgenden Pfad auswählen: &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32GG_STK3700\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
C:\Users\&amp;quot;Benutzername&amp;quot;\AppData\Roaming\energymicro\kits\EFM32TG_STK3300\examples\blink\emblocks\blink.ebp &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies öffnet das Beispielprogram blink. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. EFM32GG STK3700/ EFM32GG STK3300 Board über USB an PC anschliessen &amp;lt;br&amp;gt;&lt;br /&gt;
6. Compilieren (&amp;quot;Build&amp;quot; Knopf) &amp;lt;br&amp;gt;&lt;br /&gt;
7. Debugg Modus starten (&amp;quot;Session Start/Stop) &amp;lt;br&amp;gt;&lt;br /&gt;
8. Programm starten (&amp;quot;Continue&amp;quot; Button) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird das Beispielprogram blink ausgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=QBXb8TY9v9A Video welches debuggen mit EFM32GG STK3700 mit EmBlocks zeigt]&lt;br /&gt;
* [http://forum.energymicro.com/topic/921-emblocks-ide-with-energymicro-support/ Energy Micro Forum über EmBlocks]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse ===&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
Bei EFM32 Mikrocontrollern ist ein USB/UART Bootloader vorprogrammiert ab Werk. &amp;lt;br&amp;gt;&lt;br /&gt;
Apllication Note dazu: &amp;lt;br&amp;gt;&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0003_efm32_uart_bootloader.pdf EFM32 UART Bootloader]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0042_efm32_usb_uart_bootloader.pdf EFM32 USB/UART Bootloader]&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32gg-dk3850-efm32-wonder-gecko-development-kit Wonder Gecko Development Kit (EFM32WG-DK3850)] für ca. 300 Euro /360 SFr. &lt;br /&gt;
**[http://www.youtube.com/watch?v=vQYKx4OaK6w Video über das Wonder Gecko DK3850 Board]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs/welcome-to-lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/datasheets EFM32 Datasheets]&lt;br /&gt;
*[http://www.energymicro.com/downloads/application-notes EFM32 Application-notes]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/user/energymicro Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=76368</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=76368"/>
		<updated>2013-06-09T07:23:57Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Im Juni 2013, hat Silicon Labs angekündet Energy Micro aufzukaufen. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* Wonder Gecko Development Kit (EFM32WG-DK3850) für ca. 300 Euro /360 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:EFM32]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=76367</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=76367"/>
		<updated>2013-06-09T07:22:56Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* EFM32 Gecko Microcontroller Familie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ Energy Micro].&lt;br /&gt;
&lt;br /&gt;
Im Juni 2013, hat Silicon Labs angekündet Energy Micro aufzukaufen. &amp;lt;ref&amp;gt;http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.energymicro.com/news/silicon-labs-to-acquire-energy-micro&amp;lt;/ref&amp;gt;&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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* Wonder Gecko Development Kit (EFM32WG-DK3850) für ca. 300 Euro /360 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:EFM32]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75644</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75644"/>
		<updated>2013-05-15T08:57:42Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Energy Micro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* Wonder Gecko Development Kit (EFM32WG-DK3850) für ca. 300 Euro /360 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
*[https://www.youtube.com/watch?v=iCLFYDNIQjo Free Energy Harvesting Seminars 2013]&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:EFM32]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75643</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75643"/>
		<updated>2013-05-15T08:09:06Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Andere */ link hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* Wonder Gecko Development Kit (EFM32WG-DK3850) für ca. 300 Euro /360 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&lt;br /&gt;
* [http://www.we-online.com/harvest Energy Harvesting Kit von Würth mit EFM32GG-Starter Kit]&lt;br /&gt;
* [http://e.pavlin.si/2013/03/01/prototyping-board-for-energy-micro-efm32g880/ Einfaches Energy Micro Prototype Board (mit Altium Dateien)] [http://forum.energymicro.com/topic/731-simple-efm32g880-breakout-board/ ,Diskussion dazu im EM Forum]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:EFM32]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75642</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75642"/>
		<updated>2013-05-15T08:01:11Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Cortex M4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ARM Cortex-M4 mit FPU (Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* Wonder Gecko Development Kit (EFM32WG-DK3850) für ca. 300 Euro /360 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75641</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75641"/>
		<updated>2013-05-15T07:54:40Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Starter Kits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit(EFM32-TG-STK3300)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit (EFM32-TG-STK3300)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit (EFM32-G8XX-STK)] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit (EFM32-G8XX-STK)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit (EFM32LG-STK3600)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit (EFM32GG-STK3700)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard (EFM32LG-STK3600) und Giant Gecko Starter Kit (EFM32GG-STK3700)]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit (EFM32WG-STK3800)] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* Wonder Gecko Development Kit (EFM32WG-DK3850) für ca. 300 Euro /360 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75640</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75640"/>
		<updated>2013-05-15T07:50:00Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Development Kits */ neu Wonder Gecko Development Kit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-development-kit &amp;quot;altes&amp;quot; Gecko Development Kit (EFM32-GXXX-DK)] für ca. 250 Euro / 310 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das &amp;quot;altes&amp;quot; Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 &amp;quot;neues&amp;quot; Gecko Development Kit (EFM32G-DK3550 )] für ca. 260 Euro / 320 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit (EFM32LG-DK3650)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit (EFM32GG-DK3750)] für ca. 290 Euro / 350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
* Wonder Gecko Development Kit (EFM32WG-DK3850) für ca. 300 Euro /360 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=75608</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=75608"/>
		<updated>2013-05-13T18:06:41Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* ARM Cortex M4 */&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, Infineon, 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;
&#039;&#039;&#039;In diesem Artikel geht es NUR um die ARM Cortex-M Microcontroller, nicht jedoch um ARM [https://www.mikrocontroller.net/articles/Cortex-A Cortex-A] Prozessoren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Befehlssatz ===&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;
== ARM Cortex M ==&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;
Es gibt folgende Varianten dieses Mikrocontroller &amp;quot;Kerns&amp;quot;,&lt;br /&gt;
aufgeführt vom Energieeffizientesten zum Leistungsfähigsten:&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M0 ===&lt;br /&gt;
Als günstigere Variante gibt es die Cortex-M0 Cores mit deutlich kleinerem Befehlssatz, wie z.B. den &#039;&#039;&#039;[[LPC1xxx]]&#039;&#039;&#039;. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp?WT.ac=fp_may12_stm32f0 STM32F0] von [http://www.st.com STMicro], [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx] von [http://www.nxp.com NXP], [https://www.mikrocontroller.net/articles/LPC1xxx&#039;&#039;&#039;interne Seite über LPC1xxx&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.infineon.com/XMC1000 XMC1000] von [http://www.infineon.com Infineon], [http://www.mikrocontroller.net/articles/XMCxxxx &#039;&#039;&#039;interne Seite über XMCxxxx&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nuvoton.com/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=5dbf7d7a-b6df-4fe1-91c9-063449500ce7 NuMicro-Controller] von nuvoton (ex Winbond), laut Datenblatt mit 2.5-5.5V Betriebssspannung!!!&lt;br /&gt;
Für die M0-Familie 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.&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M0+ ===&lt;br /&gt;
Inzwischen gibt es auch eine optimierte Version des Cortex-M0 - die Cortex-M0+ Cores. Diese können (optional) einige Features der Cortex-M3 Serie beeinhalten, wie z.B eine MPU:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family EFM32 Zero Gecko] von [http://www.energymicro.com Energy Micro], [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com/products/microcontrollers/cortex_m0plus/lpc800/ LPC8xx] von [http://www.nxp.com NXP]&lt;br /&gt;
* [http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=KINETIS_L_SERIES Kinetis L-Serie] und [http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=KINETIS_M_SERIES Kinetis M-Serie] von [http://www.freescale.com/ Freescale]&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/products/fm0.html angekunedigte FM0+ Familie] von [http://www.fujitsu.com/emea/services/microelectronics Fujitsu]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M3 ===&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. &lt;br /&gt;
Controllerfamilien dieser Klasse sind:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family EFM32 Tiny Gecko],[http://www.energymicro.com/products/efm32-gecko-microcontroller-family EFM32 Gecko] sowie [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family EFM32 Leopard Gecko] von Energy Micro , [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com LPC13xx/LPC17xx/LPC18xx] 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;
* [http://www.st.com/internet/mcu/family/141.jsp STM32] Baureihen [http://www.st.com/internet/mcu/subclass/1169.jsp F1]/[http://www.st.com/internet/mcu/subclass/1520.jsp F2]/[http://www.st.com/internet/mcu/subclass/1376.jsp L1]/[http://www.st.com/internet/mcu/subclass/1377.jsp W] von STMicroelectronics , [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.toshiba-components.com/microcontroller/TMPM330.html TMPM330] von Toshiba&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/ FM3-Serie] von [http://www.fujitsu.com/emea/services/microelectronics/ 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;
Für den LPC1xxx ist 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.&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M4 ===&lt;br /&gt;
Als hoch performante Variante gibt es dann noch die Cortex-M4 Cores welche teilweise mit einer FPU ausgestattet sind. &lt;br /&gt;
&lt;br /&gt;
Diese werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family EFM32-Wonder Gecko] von Energy Micro, [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com LPC43xx] von NXP (Dual Core)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3] von [http://www.st.com STMicro], [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&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],  [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&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;
* [http://www.infineon.com/XMC4000 XMC4000] von [http://www.infineon.com Infineon], [http://www.mikrocontroller.net/articles/XMCxxxx &#039;&#039;&#039;interne Seite über XMCxxxx&#039;&#039;&#039;], [https://www.mikrocontroller.net/articles/XMC4500 Artikel zum XMC4500]&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/products/fm4.html angekuendigte FM4 Familie] von [http://www.fujitsu.com/emea/services/microelectronics Fujitsu]&lt;br /&gt;
* [http://www.atmel.com/products/at91/sam4landing.asp?family_id=605 AT91SAM4] von Atmel&lt;br /&gt;
&lt;br /&gt;
== ARM7 ==&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;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Von Mikroe gibt es Basic&lt;br /&gt;
http://www.mikroe.com/mikrobasic/arm/&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Von Mikroe gibt es Pascal&lt;br /&gt;
http://www.mikroe.com/mikropascal/arm/&lt;br /&gt;
&lt;br /&gt;
=== GCC ===&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. Eine unvollständige Liste einiger Distributionen folgt: &lt;br /&gt;
&lt;br /&gt;
==== Fertige GCC Binaries für Windows: ====&lt;br /&gt;
- [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
- [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
- [http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration), &lt;br /&gt;
&lt;br /&gt;
- [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] &lt;br /&gt;
&lt;br /&gt;
- [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt von ARM selbst auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
==== Fertige GCC Binaries für Linux (und MacOS X): ====&lt;br /&gt;
- [[ARM GCC toolchain for Linux and Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
- [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
- [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] (alter Name: Codesourcery G++ lite, für Linux, Windows)&lt;br /&gt;
&lt;br /&gt;
- [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt von ARM selbst auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Auswahl der Toolchain sollte beachtet werden, dass es größere Unterschiede bei den bereitgestellten C-Bibliotheken gibt. Die Sourcery Codebench Lite-Edition stellt z.B. keine Bibliotheken mit FPU-Unterstützung bereit, so dass trotz vorhandener FPU beim Cortex-M4 nur suboptimaler Code erzegt werden kann. Siehe [http://wiki.debian.org/ArmHardFloatPort/VfpComparison] für ein kleines Beispiel und eine Erklärung.&lt;br /&gt;
&lt;br /&gt;
Die im Netz häufig anzutreffende summon-arm Toolchain hat einen der seltenen Compiler-Bugs [http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg353473.html] und sollte daher nicht verwendet werden, wenn man floatingpoint-Typen einsetzen möchte. Egal ob mit oder ohne FPU.&lt;br /&gt;
&lt;br /&gt;
Beim Einsatz des gcc in Verbindung mit in C geschriebenem startup-Code bei den Optimierungslevels &amp;quot;-O2&amp;quot; und &amp;quot;-O3&amp;quot; muss zusätzlich &amp;quot;-fno-gcse&amp;quot; gesetzt werden, da ansonsten die von der CPU benötigte NVIC-Tabelle(n) und zugehörige Funktionen u.U. nicht so aussehen wie sie sollten.&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
&lt;br /&gt;
Kostenlose Entwicklungsumgebungen:&lt;br /&gt;
* [http://www.coocox.org/CooCox_CoIDE.htm CooCox IDE (Eclipse basierend]&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;
* emIDE [http://emide.org]&lt;br /&gt;
&lt;br /&gt;
Kommerzielle Entwicklungsumgebungen (zum Teil kostenlos mit Einschränkungen) für ARM-basierte Mikrocontroller sind z.&amp;amp;nbsp;B. :&lt;br /&gt;
*[http://www.code-red-tech.com/red-suite-4-nxp.php Code-Red (Eclipse basierend)]&lt;br /&gt;
*[http://rowley.co.uk/arm/ Crossworks ARM] (GCC-basiert, Windows, Mac OS und Linux)&lt;br /&gt;
* [http://www.cosmicsoftware.com/download_cortex_64k.php Cosmic Software] 64k free (Windows)&lt;br /&gt;
* [http://www.iar.com/ewarm/ IAR Embedded Workbench for ARM] (Windows)&lt;br /&gt;
* [http://www.keil.com/arm/ MDK-ARM von Keil/ARM] (Windows).&lt;br /&gt;
&lt;br /&gt;
== JTAG/SWD ==&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;
Es gibt Mikrocontroller (z.B. [[EFM32]] von [https://www.energymicro.com Energy Micro]) welche NUR über SWD (Serial Wire Debugg) programmiert werden können.&lt;br /&gt;
&lt;br /&gt;
=== Günstige Beispiele zum Starten ===&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 preiswerte 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;
Von ST gibt es günstige Entwicklungskits (ca. 20€), mit integriertem ST-Link (Debugger). Zum Beispiel das [http://www.st.com/stm32f4-discovery STM32F4 Discovery Board] welches z.B. bei [http://thinkembedded.ch/ARM/STM32F4-DISCOVERY-Single-Board::153.html Thinkembedded] erhältlich ist.&lt;br /&gt;
&lt;br /&gt;
Von Energymicro gibt es [http://www.energymicro.com/tools/efm32-starter-kits Starter Kits] mit integriertem J-Link (Debugger) ab ca. 50 € z.B. das [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit EFM32 Tiny Gecko Starter Kit] bei [http://de.mouser.com/ProductDetail/Energy-Micro/EFM32-TG-STK3300/?Energy-Micro/EFM32-TG-STK3300/&amp;amp;qs=sGAEpiMZZMvFPGEOwQcrYyZeaSbmjQvRx7NKUweLQtQ= Mouser]&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 &amp;quot;nicht-kommerziellen&amp;quot; Einsatz von Studenten, Funkamateuren und Hobby-Bastler für ca. €50.- erhältlich (J-Link-Edu). Sein Umfang ist dabei auf das Flashen des Speichers und das Debuggen beschränkt. Die Trace-Option wie sie bei der PRO-Variante zur Verfügung steht, ist nicht vorhanden. Für den Preis (05/2013) bekommt man jedoch ein ausgewachsenes Werkzeug mit breiter Unterstützung und der Möglichkeit sowohl SWD als auch JTAG in einem Gerät vereint zu haben.&lt;br /&gt;
&lt;br /&gt;
Der ULINK2 von Keil/ARM ist ebenfalls ein wirklich gutes Gerät. Leider ist er nicht ganz so günstig und seine Zusammenarbeit beschränkt sich auf die Arm/Keil IDE µVision. Er benötigt jedoch keine speziellen USB-Treiber sondern nutzt geschickt die Funktionalität der HID-Treiber des Betriebssystems. Das macht ihn sofort auf jedem Windows-Betriebssystem einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
Als Alternative zum Beschreiben des Flash über JTAG ist oft ein serieller [[Bootloader]] im Controller enthalten. Bei ST werden sie über einen speziellen Pin der MPU aktiviert und sind dank Kompression und das intelligente entfernen redundanter Information, bei der Übertragung genauso schnell wie JTAG/SWD Adapter.&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;
* The Definitive Guide to the Arm Cortex-M0 (Joseph Yiu) Newnes Verlag ISBN 0123854776&lt;br /&gt;
* The Definitive Guide to the Arm Cortex-M3 (Joseph Yiu) Newnes Verlag ISBN 185617963X&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;
* [http://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;XMCxxxx&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/articles/Cortex-A ARM Cortex A]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM| ]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75607</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75607"/>
		<updated>2013-05-13T18:00:44Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Starter Kits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75594</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75594"/>
		<updated>2013-05-13T10:45:33Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Starter Kits */ neues Wonder Gecko Kit erhältlich&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-wonder-gecko-starter-kit-efm32wg-stk3800 Wonder Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75593</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75593"/>
		<updated>2013-05-13T10:44:04Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Cortex M4 */ nun erhältlich&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75414</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75414"/>
		<updated>2013-04-28T08:19:23Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/341-simplicity-studio-for-mac-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/327-simplicity-studio-for-linux-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75413</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75413"/>
		<updated>2013-04-28T08:16:02Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Low Energy Sense Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
*[http://cdn.energymicro.com/dl/an/pdf/an0028_efm32_lesense_capacitive_sense.pdf Application Note zum kapazitivem LESENSE]&lt;br /&gt;
*[http://cdn.energymicro.com/dl/an/pdf/an0029_efm32_lesense_lc_sense.pdf Application Note zum induktivem LESENSE]&lt;br /&gt;
*[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75412</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75412"/>
		<updated>2013-04-28T08:13:07Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* PRS - Peripherie-Reflexsystem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[http://cdn.energymicro.com/dl/an/pdf/an0025_efm32_prs.pdf Application Note zum PRS]&lt;br /&gt;
&lt;br /&gt;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75411</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75411"/>
		<updated>2013-04-28T08:11:36Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Middleware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) ([http://cdn.energymicro.com/dl/an/pdf/an0032_efm32_ethernet.pdf AN0032])&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding ([http://cdn.energymicro.com/dl/an/pdf/an0055_efm32_speex_codec.pdf AN0055])&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75410</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=75410"/>
		<updated>2013-04-28T08:08:44Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Middleware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* [http://www.segger.com/cms/emwin.html SEGGER emWin] Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) (AN0032)&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding (AN0055)&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=75409</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=75409"/>
		<updated>2013-04-28T08:05:28Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* ARM Cortex M4 */&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, Infineon, 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;
&#039;&#039;&#039;In diesem Artikel geht es NUR um die ARM Cortex-M Microcontroller, nicht jedoch um ARM [https://www.mikrocontroller.net/articles/Cortex-A Cortex-A] Prozessoren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Befehlssatz ===&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;
== ARM Cortex M ==&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;
Es gibt folgende Varianten dieses Mikrocontroller &amp;quot;Kerns&amp;quot;,&lt;br /&gt;
aufgeführt vom Energieeffizientesten zum Leistungsfähigsten:&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M0 ===&lt;br /&gt;
Als günstigere Variante gibt es die Cortex-M0 Cores mit deutlich kleinerem Befehlssatz, wie z.B. den &#039;&#039;&#039;[[LPC1xxx]]&#039;&#039;&#039;. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp?WT.ac=fp_may12_stm32f0 STM32F0] von [http://www.st.com STMicro], [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx] von [http://www.nxp.com NXP], [https://www.mikrocontroller.net/articles/LPC1xxx&#039;&#039;&#039;interne Seite über LPC1xxx&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.infineon.com/XMC1000 XMC1000] von [http://www.infineon.com Infineon], [http://www.mikrocontroller.net/articles/XMCxxxx &#039;&#039;&#039;interne Seite über XMCxxxx&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nuvoton.com/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=5dbf7d7a-b6df-4fe1-91c9-063449500ce7 NuMicro-Controller] von nuvoton (ex Winbond), laut Datenblatt mit 2.5-5.5V Betriebssspannung!!!&lt;br /&gt;
Für die M0-Familie 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.&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M0+ ===&lt;br /&gt;
Inzwischen gibt es auch eine optimierte Version des Cortex-M0 - die Cortex-M0+ Cores. Diese können (optional) einige Features der Cortex-M3 Serie beeinhalten, wie z.B eine MPU:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family EFM32 Zero Gecko] von [http://www.energymicro.com Energy Micro], [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com/products/microcontrollers/cortex_m0plus/lpc800/ LPC8xx] von [http://www.nxp.com NXP]&lt;br /&gt;
* [http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=KINETIS_L_SERIES Kinetis L-Serie] und [http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=KINETIS_M_SERIES Kinetis M-Serie] von [http://www.freescale.com/ Freescale]&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/products/fm0.html angekunedigte FM0+ Familie] von [http://www.fujitsu.com/emea/services/microelectronics Fujitsu]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M3 ===&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. &lt;br /&gt;
Controllerfamilien dieser Klasse sind:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family EFM32 Tiny Gecko],[http://www.energymicro.com/products/efm32-gecko-microcontroller-family EFM32 Gecko] sowie [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family EFM32 Leopard Gecko] von Energy Micro , [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com LPC13xx/LPC17xx/LPC18xx] 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;
* [http://www.st.com/internet/mcu/family/141.jsp STM32] Baureihen [http://www.st.com/internet/mcu/subclass/1169.jsp F1]/[http://www.st.com/internet/mcu/subclass/1520.jsp F2]/[http://www.st.com/internet/mcu/subclass/1376.jsp L1]/[http://www.st.com/internet/mcu/subclass/1377.jsp W] von STMicroelectronics , [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.toshiba-components.com/microcontroller/TMPM330.html TMPM330] von Toshiba&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/ FM3-Serie] von [http://www.fujitsu.com/emea/services/microelectronics/ 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;
Für den LPC1xxx ist 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.&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M4 ===&lt;br /&gt;
Als hoch performante Variante gibt es dann noch die Cortex-M4 Cores welche teilweise mit einer FPU ausgestattet sind. &lt;br /&gt;
&lt;br /&gt;
Diese werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family EFM32-Wonder Gecko] von Energy Micro, [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com LPC43xx] von NXP (Dual Core)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3] von [http://www.st.com STMicro], [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&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],  [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&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;
* [http://www.infineon.com/XMC4000 XMC4000] von [http://www.infineon.com Infineon], [http://www.mikrocontroller.net/articles/XMCxxxx &#039;&#039;&#039;interne Seite über XMCxxxx&#039;&#039;&#039;],[https://www.mikrocontroller.net/articles/XMC4500  Artikel zum XMC4500]&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/products/fm4.html angekuendigte FM4 Familie] von [http://www.fujitsu.com/emea/services/microelectronics Fujitsu]&lt;br /&gt;
* [http://www.atmel.com/products/at91/sam4landing.asp?family_id=605 AT91SAM4] von Atmel&lt;br /&gt;
&lt;br /&gt;
== ARM7 ==&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;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Von Mikroe gibt es Basic&lt;br /&gt;
http://www.mikroe.com/mikrobasic/arm/&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Von Mikroe gibt es Pascal&lt;br /&gt;
http://www.mikroe.com/mikropascal/arm/&lt;br /&gt;
&lt;br /&gt;
=== GCC ===&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. Eine unvollständige Liste einiger Distributionen folgt: &lt;br /&gt;
&lt;br /&gt;
==== Fertige GCC Binaries für Windows: ====&lt;br /&gt;
- [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
- [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
- [http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration), &lt;br /&gt;
&lt;br /&gt;
- [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] &lt;br /&gt;
&lt;br /&gt;
- [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt von ARM selbst auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
==== Fertige GCC Binaries für Linux (und MacOS X): ====&lt;br /&gt;
- [[ARM GCC toolchain for Linux and Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
- [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
- [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] (alter Name: Codesourcery G++ lite, für Linux, Windows)&lt;br /&gt;
&lt;br /&gt;
- [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt von ARM selbst auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Auswahl der Toolchain sollte beachtet werden, dass es größere Unterschiede bei den bereitgestellten C-Bibliotheken gibt. Die Sourcery Codebench Lite-Edition stellt z.B. keine Bibliotheken mit FPU-Unterstützung bereit, so dass trotz vorhandener FPU beim Cortex-M4 nur suboptimaler Code erzegt werden kann. Siehe [http://wiki.debian.org/ArmHardFloatPort/VfpComparison] für ein kleines Beispiel und eine Erklärung.&lt;br /&gt;
&lt;br /&gt;
Die im Netz häufig anzutreffende summon-arm Toolchain hat einen der seltenen Compiler-Bugs [http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg353473.html] und sollte daher nicht verwendet werden, wenn man floatingpoint-Typen einsetzen möchte. Egal ob mit oder ohne FPU.&lt;br /&gt;
&lt;br /&gt;
Beim Einsatz des gcc in Verbindung mit in C geschriebenem startup-Code bei den Optimierungslevels &amp;quot;-O2&amp;quot; und &amp;quot;-O3&amp;quot; muss zusätzlich &amp;quot;-fno-gcse&amp;quot; gesetzt werden, da ansonsten die von der CPU benötigte NVIC-Tabelle(n) und zugehörige Funktionen u.U. nicht so aussehen wie sie sollten.&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
&lt;br /&gt;
Kostenlose Entwicklungsumgebungen:&lt;br /&gt;
* [http://www.coocox.org/CooCox_CoIDE.htm CooCox IDE (Eclipse basierend]&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;
* emIDE [http://emide.org]&lt;br /&gt;
&lt;br /&gt;
Kommerzielle Entwicklungsumgebungen (zum Teil kostenlos mit Einschränkungen) für ARM-basierte Mikrocontroller sind z.&amp;amp;nbsp;B. :&lt;br /&gt;
*[http://www.code-red-tech.com/red-suite-4-nxp.php Code-Red (Eclipse basierend)]&lt;br /&gt;
*[http://rowley.co.uk/arm/ Crossworks ARM] (GCC-basiert, Windows, Mac OS und Linux)&lt;br /&gt;
* [http://www.cosmicsoftware.com/download_cortex_64k.php Cosmic Software] 64k free (Windows)&lt;br /&gt;
* [http://www.iar.com/ewarm/ IAR Embedded Workbench for ARM] (Windows)&lt;br /&gt;
* [http://www.keil.com/arm/ MDK-ARM von Keil/ARM] (Windows).&lt;br /&gt;
&lt;br /&gt;
== JTAG/SWD ==&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;
Es gibt Mikrocontroller (z.B. [[EFM32]] von [https://www.energymicro.com Energy Micro]) welche NUR über SWD (Serial Wire Debugg) programmiert werden können.&lt;br /&gt;
&lt;br /&gt;
=== Günstige Beispiele zum Starten ===&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 preiswerte 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;
Von ST gibt es günstige Entwicklungskits (ca. 20€), mit integriertem ST-Link (Debugger). Zum Beispiel das [http://www.st.com/stm32f4-discovery STM32F4 Discovery Board] welches z.B. bei [http://thinkembedded.ch/ARM/STM32F4-DISCOVERY-Single-Board::153.html Thinkembedded] erhältlich ist.&lt;br /&gt;
&lt;br /&gt;
Von Energymicro gibt es [http://www.energymicro.com/tools/efm32-starter-kits Starter Kits] mit integriertem J-Link (Debugger) ab ca. 50 € z.B. das [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit EFM32 Tiny Gecko Starter Kit] bei [http://de.mouser.com/ProductDetail/Energy-Micro/EFM32-TG-STK3300/?Energy-Micro/EFM32-TG-STK3300/&amp;amp;qs=sGAEpiMZZMvFPGEOwQcrYyZeaSbmjQvRx7NKUweLQtQ= Mouser]&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 (J-Link-Edu).&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;
* The Definitive Guide to the Arm Cortex-M0 (Joseph Yiu) Newnes Verlag ISBN 0123854776&lt;br /&gt;
* The Definitive Guide to the Arm Cortex-M3 (Joseph Yiu) Newnes Verlag ISBN 185617963X&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;
* [http://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;XMCxxxx&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/articles/Cortex-A ARM Cortex A]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM| ]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=ARM_Cortex_Mikrocontroller&amp;diff=75408</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=75408"/>
		<updated>2013-04-28T08:03:41Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* ARM Cortex M4 */  link angepasst&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, Infineon, 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;
&#039;&#039;&#039;In diesem Artikel geht es NUR um die ARM Cortex-M Microcontroller, nicht jedoch um ARM [https://www.mikrocontroller.net/articles/Cortex-A Cortex-A] Prozessoren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Befehlssatz ===&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;
== ARM Cortex M ==&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;
Es gibt folgende Varianten dieses Mikrocontroller &amp;quot;Kerns&amp;quot;,&lt;br /&gt;
aufgeführt vom Energieeffizientesten zum Leistungsfähigsten:&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M0 ===&lt;br /&gt;
Als günstigere Variante gibt es die Cortex-M0 Cores mit deutlich kleinerem Befehlssatz, wie z.B. den &#039;&#039;&#039;[[LPC1xxx]]&#039;&#039;&#039;. Diese&lt;br /&gt;
werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp?WT.ac=fp_may12_stm32f0 STM32F0] von [http://www.st.com STMicro], [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx] von [http://www.nxp.com NXP], [https://www.mikrocontroller.net/articles/LPC1xxx&#039;&#039;&#039;interne Seite über LPC1xxx&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.infineon.com/XMC1000 XMC1000] von [http://www.infineon.com Infineon], [http://www.mikrocontroller.net/articles/XMCxxxx &#039;&#039;&#039;interne Seite über XMCxxxx&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nuvoton.com/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=5dbf7d7a-b6df-4fe1-91c9-063449500ce7 NuMicro-Controller] von nuvoton (ex Winbond), laut Datenblatt mit 2.5-5.5V Betriebssspannung!!!&lt;br /&gt;
Für die M0-Familie 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.&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M0+ ===&lt;br /&gt;
Inzwischen gibt es auch eine optimierte Version des Cortex-M0 - die Cortex-M0+ Cores. Diese können (optional) einige Features der Cortex-M3 Serie beeinhalten, wie z.B eine MPU:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family EFM32 Zero Gecko] von [http://www.energymicro.com Energy Micro], [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com/products/microcontrollers/cortex_m0plus/lpc800/ LPC8xx] von [http://www.nxp.com NXP]&lt;br /&gt;
* [http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=KINETIS_L_SERIES Kinetis L-Serie] und [http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=KINETIS_M_SERIES Kinetis M-Serie] von [http://www.freescale.com/ Freescale]&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/products/fm0.html angekunedigte FM0+ Familie] von [http://www.fujitsu.com/emea/services/microelectronics Fujitsu]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M3 ===&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. &lt;br /&gt;
Controllerfamilien dieser Klasse sind:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family EFM32 Tiny Gecko],[http://www.energymicro.com/products/efm32-gecko-microcontroller-family EFM32 Gecko] sowie [http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family EFM32 Leopard Gecko] von Energy Micro , [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com LPC13xx/LPC17xx/LPC18xx] 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;
* [http://www.st.com/internet/mcu/family/141.jsp STM32] Baureihen [http://www.st.com/internet/mcu/subclass/1169.jsp F1]/[http://www.st.com/internet/mcu/subclass/1520.jsp F2]/[http://www.st.com/internet/mcu/subclass/1376.jsp L1]/[http://www.st.com/internet/mcu/subclass/1377.jsp W] von STMicroelectronics , [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.toshiba-components.com/microcontroller/TMPM330.html TMPM330] von Toshiba&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/ FM3-Serie] von [http://www.fujitsu.com/emea/services/microelectronics/ 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;
Für den LPC1xxx ist 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.&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex M4 ===&lt;br /&gt;
Als hoch performante Variante gibt es dann noch die Cortex-M4 Cores welche teilweise mit einer FPU ausgestattet sind. &lt;br /&gt;
&lt;br /&gt;
Diese werden beispielsweise in folgenden Controllern eingesetzt:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family EFM32-Wonder Gecko] von Energy Micro, [https://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;interne Seite über EFM32&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.nxp.com LPC43xx] von NXP (Dual Core)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3] von [http://www.st.com STMicro], [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&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], [https://www.mikrocontroller.net/articles/STM32 &#039;&#039;&#039;interne Seite über STM32&#039;&#039;&#039;]&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;
* [http://www.infineon.com/XMC4000 XMC4000] von [http://www.infineon.com Infineon], [http://www.mikrocontroller.net/articles/XMCxxxx &#039;&#039;&#039;interne Seite über XMCxxxx&#039;&#039;&#039;]&lt;br /&gt;
* [http://www.fujitsu-fm-family.com/products/fm4.html angekuendigte FM4 Familie] von [http://www.fujitsu.com/emea/services/microelectronics Fujitsu]&lt;br /&gt;
* [http://www.atmel.com/products/at91/sam4landing.asp?family_id=605 AT91SAM4] von Atmel&lt;br /&gt;
&lt;br /&gt;
== ARM7 ==&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;
&lt;br /&gt;
=== Basic ===&lt;br /&gt;
Von Mikroe gibt es Basic&lt;br /&gt;
http://www.mikroe.com/mikrobasic/arm/&lt;br /&gt;
&lt;br /&gt;
=== Pascal ===&lt;br /&gt;
Von Mikroe gibt es Pascal&lt;br /&gt;
http://www.mikroe.com/mikropascal/arm/&lt;br /&gt;
&lt;br /&gt;
=== GCC ===&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. Eine unvollständige Liste einiger Distributionen folgt: &lt;br /&gt;
&lt;br /&gt;
==== Fertige GCC Binaries für Windows: ====&lt;br /&gt;
- [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
- [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
- [http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration), &lt;br /&gt;
&lt;br /&gt;
- [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] &lt;br /&gt;
&lt;br /&gt;
- [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt von ARM selbst auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
==== Fertige GCC Binaries für Linux (und MacOS X): ====&lt;br /&gt;
- [[ARM GCC toolchain for Linux and Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
- [http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
- [http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite] (alter Name: Codesourcery G++ lite, für Linux, Windows)&lt;br /&gt;
&lt;br /&gt;
- [https://launchpad.net/gcc-arm-embedded GNU Tools for ARM Embedded Processors] (bereitgestellt von ARM selbst auf launchpad.net).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Auswahl der Toolchain sollte beachtet werden, dass es größere Unterschiede bei den bereitgestellten C-Bibliotheken gibt. Die Sourcery Codebench Lite-Edition stellt z.B. keine Bibliotheken mit FPU-Unterstützung bereit, so dass trotz vorhandener FPU beim Cortex-M4 nur suboptimaler Code erzegt werden kann. Siehe [http://wiki.debian.org/ArmHardFloatPort/VfpComparison] für ein kleines Beispiel und eine Erklärung.&lt;br /&gt;
&lt;br /&gt;
Die im Netz häufig anzutreffende summon-arm Toolchain hat einen der seltenen Compiler-Bugs [http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg353473.html] und sollte daher nicht verwendet werden, wenn man floatingpoint-Typen einsetzen möchte. Egal ob mit oder ohne FPU.&lt;br /&gt;
&lt;br /&gt;
Beim Einsatz des gcc in Verbindung mit in C geschriebenem startup-Code bei den Optimierungslevels &amp;quot;-O2&amp;quot; und &amp;quot;-O3&amp;quot; muss zusätzlich &amp;quot;-fno-gcse&amp;quot; gesetzt werden, da ansonsten die von der CPU benötigte NVIC-Tabelle(n) und zugehörige Funktionen u.U. nicht so aussehen wie sie sollten.&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
&lt;br /&gt;
Kostenlose Entwicklungsumgebungen:&lt;br /&gt;
* [http://www.coocox.org/CooCox_CoIDE.htm CooCox IDE (Eclipse basierend]&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;
* emIDE [http://emide.org]&lt;br /&gt;
&lt;br /&gt;
Kommerzielle Entwicklungsumgebungen (zum Teil kostenlos mit Einschränkungen) für ARM-basierte Mikrocontroller sind z.&amp;amp;nbsp;B. :&lt;br /&gt;
*[http://www.code-red-tech.com/red-suite-4-nxp.php Code-Red (Eclipse basierend)]&lt;br /&gt;
*[http://rowley.co.uk/arm/ Crossworks ARM] (GCC-basiert, Windows, Mac OS und Linux)&lt;br /&gt;
* [http://www.cosmicsoftware.com/download_cortex_64k.php Cosmic Software] 64k free (Windows)&lt;br /&gt;
* [http://www.iar.com/ewarm/ IAR Embedded Workbench for ARM] (Windows)&lt;br /&gt;
* [http://www.keil.com/arm/ MDK-ARM von Keil/ARM] (Windows).&lt;br /&gt;
&lt;br /&gt;
== JTAG/SWD ==&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;
Es gibt Mikrocontroller (z.B. [[EFM32]] von [https://www.energymicro.com Energy Micro]) welche NUR über SWD (Serial Wire Debugg) programmiert werden können.&lt;br /&gt;
&lt;br /&gt;
=== Günstige Beispiele zum Starten ===&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 preiswerte 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;
Von ST gibt es günstige Entwicklungskits (ca. 20€), mit integriertem ST-Link (Debugger). Zum Beispiel das [http://www.st.com/stm32f4-discovery STM32F4 Discovery Board] welches z.B. bei [http://thinkembedded.ch/ARM/STM32F4-DISCOVERY-Single-Board::153.html Thinkembedded] erhältlich ist.&lt;br /&gt;
&lt;br /&gt;
Von Energymicro gibt es [http://www.energymicro.com/tools/efm32-starter-kits Starter Kits] mit integriertem J-Link (Debugger) ab ca. 50 € z.B. das [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit EFM32 Tiny Gecko Starter Kit] bei [http://de.mouser.com/ProductDetail/Energy-Micro/EFM32-TG-STK3300/?Energy-Micro/EFM32-TG-STK3300/&amp;amp;qs=sGAEpiMZZMvFPGEOwQcrYyZeaSbmjQvRx7NKUweLQtQ= Mouser]&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 (J-Link-Edu).&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;
* The Definitive Guide to the Arm Cortex-M0 (Joseph Yiu) Newnes Verlag ISBN 0123854776&lt;br /&gt;
* The Definitive Guide to the Arm Cortex-M3 (Joseph Yiu) Newnes Verlag ISBN 185617963X&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;
* [http://www.mikrocontroller.net/articles/EFM32 &#039;&#039;&#039;XMCxxxx&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
* [https://www.mikrocontroller.net/articles/Cortex-A ARM Cortex A]&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM| ]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Infineon_XMC&amp;diff=75407</id>
		<title>Infineon XMC</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Infineon_XMC&amp;diff=75407"/>
		<updated>2013-04-28T08:01:26Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: interner Link auf XMC4500 hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XMCxxxx sind Mikrocontroller von [http://www.infineon.com/cms/en/product/microcontrollers/32-bit-industrial-microcontrollers-based-on-arm-registered-cortex-tm-m/channel.html?channel=db3a30433c1a8752013c3e221b9d004f Infineon] welche auf ARM Cortex M Kernen basieren. &lt;br /&gt;
&lt;br /&gt;
== XMC1000 ==&lt;br /&gt;
&lt;br /&gt;
[http://www.infineon.com/cms/en/product/microcontrollers/32-bit-industrial-microcontrollers-based-on-arm-registered-cortex-tm-m/32-bit-xmc1000-industrial-microcontrollers-arm-registered-cortex-tm-m0/channel.html?channel=db3a30433c1a8752013c1aa35a6a0029 XMC1000] ist der Cortex M0 basierende uC von Infineon.&lt;br /&gt;
&lt;br /&gt;
== XMC4000 ==&lt;br /&gt;
&lt;br /&gt;
[http://www.infineon.com/cms/en/product/microcontrollers/32-bit-industrial-microcontrollers-based-on-arm-registered-cortex-tm-m/32-bit-xmc4000-industrial-microcontrollers-arm-registered-cortex-tm-m4/channel.html?channel=db3a30433580b3710135a03abaf9385e XMC4000] ist der Cortex M4 basierende uC von Infineon.&lt;br /&gt;
&lt;br /&gt;
[https://www.mikrocontroller.net/articles/XMC4500 Artikel zum XMC4500]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ebv.com/index.php?id=1477 EBV verlost Infineon XMC4500 Cortex M4 Starter Kits]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:XMCxxxx]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74969</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74969"/>
		<updated>2013-04-06T15:47:42Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* RTOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* SEGGER emWin Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) (AN0032)&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding (AN0055)&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example, [https://www.youtube.com/watch?v=X67MtjCRrVY Video darüber]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Metastabilit%C3%A4t&amp;diff=74894</id>
		<title>Metastabilität</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Metastabilit%C3%A4t&amp;diff=74894"/>
		<updated>2013-03-31T15:05:12Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Instabilität */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Als &#039;&#039;&#039;Metastabilität&#039;&#039;&#039; (auch Quasistabilität) bezeichnet man im Bereich der [[Digitaltechnik]] einen temporären Zustand von [[FlipFlop]]s oder kombinatorischer Schaltungsteile, der durch das Ändern eines Eingangssignals verursacht wird. Er ist in gewissem Sinne der Sonderfall der allgemeinen Instabilität von Schaltungen.&lt;br /&gt;
&lt;br /&gt;
==Instabilität==&lt;br /&gt;
Ändert sich bei einer kombinatorischen Schaltung einer oder mehrere Eingänge, so reagieren die davon abhängigen Ausgänge erst mit einer gewissen Zeitverzögerung. Während dieser Zeit ist die Schaltung instabil. Der Zustand muss solange als logisch undefiniert erachtet werden, bis die Schaltung vollständig eingeschwungen ist.&lt;br /&gt;
&lt;br /&gt;
Bei FFs, bei denen sich neben dem Takt gleichzeitig auch die Eingänge ändern, führt dies zunächst dazu, daß der Ausgang eines FFs einen nicht vorhersehbaren Zustand einnimmt, der entweder den alten, oder den neuen Zustand des Eingangs wiederspiegelt. Dieser Zustand bleibt dann für einen Takt erhalten und schwingt nicht, wie die reine Kombinatorik ein. Dies bringt zwar eine zeitliche Unsicherheit in den Datenfluss, führt aber zu einem stabilen und auch weiterverwertbaren Signal.&lt;br /&gt;
&lt;br /&gt;
Bis auf eine Ausnahme:&lt;br /&gt;
&lt;br /&gt;
==Metastabilität==&lt;br /&gt;
In seltenen Fällen geschieht das [[sampeln]] so ungünstig, daß das FF nicht sofort eindeutig schaltet, sondern sich längere Zeit in einem Zwischenzustand aufhält, bevor es endgültig in einen stabilen Zustand gerät. Der Vorgang ist vergleichbar einer Münze, welche zunächst auf der Kante stehenbleibt, bevor sie fällt. Diese Metastabilität ist an sich noch kein Problem, sie führt jedoch im Weiteren dazu, daß auch nach nachfolgende Schaltungsteile, die von diesem FF gespeist werden, verspätet einschwingen, wodurch angeschaltete FFs u.U. wieder eine wechselnde [[Taktflanke]] sehen. Damit tauchen instabile Schaltungssituationen in Schaltungsbereichen auf, die auf volle Synchronität setzen - das Stabilisieren des Signals durch Eintakten hat also nicht wie gewüsncht funktioniert. Der eigentlich &amp;quot;gewollte&amp;quot; Schaltungszustand des Teilsystems wird dann meist erst wieder bei der kommenden Taktflanke erreicht, was speziell bei Bussen zu inkonsistenten Daten führt. Somit wird das Gesamtsystems inkonsistent und arbeitet falsch.&lt;br /&gt;
&lt;br /&gt;
===Problembehandlung===&lt;br /&gt;
Die gegebene Maßnahme gegen Metastabilität ist das Einsynchronisieren potentiell zur Taktfanke wechselnder Signale durch direkt kaskadierte FFs, da dann ein solcher metastabiler Zustand extrem lange anhalten müsste, um noch im nächsten FF zu einem Problem werden zu können. Bereits bei einer FF-Stufe jedoch ist ein ausdrücklich metastablier Zustand schon extrem unwahrscheinlich, da die heutigen Chiptechnologien sehr hohe Verstärkungen (-&amp;gt; steile [[Übertragungskennlinie]]n) gestatten, die zu extrem geringen Zeiten der Metastabilität führen. Auf das Beispiel mit der Münze bezogen, wäre dies eine nahezu spitze Kante.&lt;br /&gt;
&lt;br /&gt;
Hersteller geben hier je nach Technologie typische Verzögerungen von einigen 10-100ps an, bei einer Wahrscheinlichkeit von kleiner 10 hoch -10 für das Auftreten überhaupt.&lt;br /&gt;
&lt;br /&gt;
In Hochgeschwindigkeitsschaltungen, in denen aufgrund der geringen Periodenzeit nur eine geringe Toleranz gegenüber unerwarteten Schaltverzögerungen besteht, werden diesbezüglich kritische Signale denoch mehrfach kaskadiert, weil sich so die Wahrscheinlichkeit exponenziell reduziert und man am Ausgang der FF-Kaskade mit höchster Sicherheit einen völlig stabilen Zustand erwarten kann.&lt;br /&gt;
&lt;br /&gt;
Es bleibt dann lediglich das typische Problem des unbekannten Zeitpunktes der Takt- bzw. Datenübernahme.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/156600 Diskussion um Metastabilität]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FPGA]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=74862</id>
		<title>STM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=STM32&amp;diff=74862"/>
		<updated>2013-03-28T13:14:40Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Evaluation Boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STM32 ist ein Mikrocontroller-Familie von [http://www.st.com/mcu/inchtml-pages-stm32.html ST] mit einer 32-Bit [http://www.arm.com/products/processors/cortex-m/index.php ARM Cortex-M0/M3/M4] CPU. Diese Architektur ist speziell für den Einsatz in Microcontrollern neu entwickelt und löst damit die bisherigen ARM7-basierten Controller weitestgehend ab. Den STM32 gibt es von ST in unzähligen Varianten mit variabler Peripherie und verschiedenen Gehäusegrößen und -formen. Durch die geringe Chipfläche des Cores ist es ST möglich, eine 32 Bit-CPU für weniger als 1&amp;amp;nbsp;€ anzubieten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:stm32F103xc.png|thumb|right|340px|Blockdiagramm STM32F103xC/D/E]]&lt;br /&gt;
&lt;br /&gt;
== STM32-Familien ==&lt;br /&gt;
&lt;br /&gt;
Bisher gibt es sieben STM32-Familien:&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1588.jsp STM32F0]&lt;br /&gt;
** Cortex M0&lt;br /&gt;
** Mikrocontroller zum Einstieg&lt;br /&gt;
** Bis 48MHz&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1169.jsp STM32F1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
**Verschiedene Unterfamilien:&lt;br /&gt;
*** Connectivity line&lt;br /&gt;
*** Performance line&lt;br /&gt;
*** USB Access line&lt;br /&gt;
*** Access Line&lt;br /&gt;
*** Value line&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1575 STM32F2]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Bis 120MHz&lt;br /&gt;
** Wie die STM32F1 Serie, Camera-Interface, 32-Bit Timer, Crypto-Engine...&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1605.jsp STM32F3]&lt;br /&gt;
** Cortex M4&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 72MHz&lt;br /&gt;
** Fast 12-bit 5 MSPS and precise 16-bit sigma-delta ADCs&lt;br /&gt;
** Touch sensing controller (TSC)&lt;br /&gt;
* [http://www.st.com/internet/mcu/subclass/1521.jsp STM32F4]&lt;br /&gt;
** Cortex M4&lt;br /&gt;
** DSP und FPU&lt;br /&gt;
** Bis 180MHz&lt;br /&gt;
** Bis zu 2MB Flash&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1295 STM32L1]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** Low Power &lt;br /&gt;
** mit LCD Treiber&lt;br /&gt;
** Bis 32MHz&lt;br /&gt;
* [http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1581 STM32W]&lt;br /&gt;
** Cortex M3&lt;br /&gt;
** BIS 24MHz&lt;br /&gt;
** RF-MCU &lt;br /&gt;
[http://www.st.com/internet/mcu/class/1734.jsp Hier eine Übersicht zum Auswählen eines STM32Fxxx]&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Cortex-M0 / Cortex-M3 / Cortex-M4 Kern&lt;br /&gt;
* 16KB ... 2MB  [[Flash-ROM]]&lt;br /&gt;
*  4KB ... 256KB [[Speicher#SRAM|SRAM]]&lt;br /&gt;
* 4KB [[Speicher#EEPROM|EEPROM]] (STM32L)&lt;br /&gt;
* 512 one-time programmable Bytes(STM32F2/4)&lt;br /&gt;
* [[IC-Gehäuseformen | Gehäuse]] 36 ... 216 Pins als QFN, LQFP und BGA&lt;br /&gt;
* Derzeit sind über &#039;&#039;&#039;250&#039;&#039;&#039; STM32 Derivate/Varianten verfügbar&lt;br /&gt;
* Bis 72MHz CPU-Takt, bis 120MHz beim STM32F2xx, bis 168/180 MHz beim STM32F4xx, wobei eine spezielle prefetch-hardware bis 120/168 MHz eine Geschwindigkeit erzielen soll, die 0 Wait-States entspricht. Der CPU-Takt wird über einen Multiplikator aus dem internen RC-Takt oder einem externen Quarz-Takt abgeleitet.&lt;br /&gt;
* Externes Businterface (nur bei Gehäusen ab 100 Pin und nur bei STM32F4, STM32F2 und STM32F1 Performance line)&lt;br /&gt;
* LCD Treiber für 8x40 Punkte (nicht beim STM32F2xx)&lt;br /&gt;
* TFT Treiber bei STM32F429 / STM32F439&lt;br /&gt;
* Spannungsbereich 1,65 ... 3,6V, nur eine Betriebsspannung nötig&lt;br /&gt;
* Temperaturbereich bis 125 °C&lt;br /&gt;
* Bis zu 140 IOs, viele davon [[Pegelwandler|5V-tolerant]]&lt;br /&gt;
* Interner, kalibrierter RC-Oszillator mit 8MHz (16MHz bei STM32F2/F4xx)&lt;br /&gt;
* Externer Quarz&lt;br /&gt;
* Real Time Clock mit eigenem Quarz und separater Stromversorgung&lt;br /&gt;
* Bis zu 16 [[Timer]], je Timer bis zu 4 IC/OC/PWM Ausgänge. Davon 2x Motion Control Timer (bei STM32F103xF/G)&lt;br /&gt;
* Systick Counter&lt;br /&gt;
* Bis zu 3 12-Bit [[AD-Wandler]] mit insgesamt 24 AD-Eingängen, integrierter [[Temperatursensor]], Referenzspannung Vrefint und VBatt Spannungsmessung (STM32F4xx)&lt;br /&gt;
* Bis zu 2 12-Bit [[DA-Wandler]] (bis zu 3 beim STM32F3xx)&lt;br /&gt;
* Bis zu 2 [[DMA]] Controller mit bis zu 12 Kanälen (16 beim STM32F2/4xx)&lt;br /&gt;
* Bis zu 2x [[I2C|I²C]]&lt;br /&gt;
* Bis zu 5x [[UART|USART]] mit LIN, IrDA und Modem Control (bis zu 8 beim STM32F2/F4xx)&lt;br /&gt;
* Bis zu 3x [[SPI]] (bis zu 6 beim STM32F4xx)&lt;br /&gt;
* Bis zu 2x [[I2S|I²S]]&lt;br /&gt;
* Bis zu 2x [[CAN]]&lt;br /&gt;
* Unique device ID register (96 Bits)&lt;br /&gt;
* RNG - Random Number Generator (STM32F2/4xx)&lt;br /&gt;
* Cryptographic Processor (CRYP) (STM32F2/4xx)&lt;br /&gt;
* Hash Processor (HASH) (STM32F2/4xx)&lt;br /&gt;
* Kamera-Interface (DCMI) (STM32F2/4xx)&lt;br /&gt;
* [[USB]] 2.0 Full Speed / OTG&lt;br /&gt;
* [[USB]] 2.0 Hi Speed OTG mit extra PHY-Chip (STM32F2/4xx)&lt;br /&gt;
* SDIO Interface (z.B. SD-Card Reader)&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Watchdog mit Window-Mode&lt;br /&gt;
* Jedes Peripheriemodul ist separat einschaltbar, wodurch sich erheblich [[Ultra low power|Strom sparen]] lässt&lt;br /&gt;
* [[JTAG]] und SWD (Serial Wire Debug) Interface&lt;br /&gt;
* Bis zu 6 Hardware-Breakpoints für Debuggen&lt;br /&gt;
* und vieles mehr . . .&lt;br /&gt;
&lt;br /&gt;
== Struktur der Dokumentation: ==&lt;br /&gt;
&lt;br /&gt;
Als Beispiel der Dokumentation soll stellvertretend der [http://www.st.com/mcu/devicedocs-STM32F103RC-110.html STM32F103RC] genannt werden. Die Seite von ST beinhaltet alle nötigen Informationen passend zu diesem Prozessor.&lt;br /&gt;
&lt;br /&gt;
Diese Dokumente von ST beschreiben den Controller:&lt;br /&gt;
&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00191185.pdf  Datasheet STM32F103xC/D/E]&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf  Reference Manual (RM0008)]&lt;br /&gt;
* [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00228163.pdf  Cortex-M3 Programming Manual]&lt;br /&gt;
* [http://www.st.com/stonline/products/literature/pm/13259.pdf Flash Programming Reference]&lt;br /&gt;
&lt;br /&gt;
Im Datasheet sind die speziellen Eigenschaften einer bestimmten Modellreihe beschrieben und die exakten Daten und Pinouts aufgeführt. Die Peripheriemodule werden nur aufgeführt, nicht detailliert beschrieben. In der Referenz ist der gesamte Controller mit Peripheriemodulen im Detail beschrieben, gültig für eine STM32-Familie. Details zum Prozessorkern selbst und den nicht STM32-spezifischen mit dem Cortex-M3 Core assoziierten Modulen wie dem Interrupt-Controller und dem Systick-Timer findet man jedoch nicht dort, sondern im Cortex-M3 Manual. Wer nicht die ST Firmware-Library verwendet, der benötigt zusätzlich die Flash Programming Reference für die Betriebsart des Flash-ROMs, d.h. die frequenzabhängige Konfiguration der Waitstates. Hinzu kommen optionale Dokumente von ARM, die den [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337-/ Cortex-M3 Kern] / [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439c/index.html Cortex-M4 Kern] beschreiben. Hier gibt es den Opcode wenn man ihn in [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0403-/ Assembler] programmieren möchte. Zusätzlich sollten auch die [http://www.st.com/stonline/products/literature/es/14732.pdf Errata Sheets] beachtet werden. Empfohlen sei auch die Appnote &amp;quot;[http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00164185.pdf STM32F10xxx hardware development: getting started]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== ‎STM32 Standard Peripheral Library ==&lt;br /&gt;
&lt;br /&gt;
ST bietet für jede Controller Familie eine umfangreiche Peripherie-Bibliothek. Alle Funktionen um die Peripherie zu benutzen sind gekapselt in einfache Strukturen und Funktionsaufrufe. Somit muss man sich nicht selbst um die Peripherie-Register kümmern. Diese Library und ihre Dokumentation setzen das grundlegende Verständnis der Funktion des jeweiligen Peripheriemoduls voraus, wie es die o.A. Referenz und diverse Appnotes vermitteln. Die Library beinhaltet außerdem für fast jede Peripherie mehrere Beispiele.&lt;br /&gt;
Für die USB Schnittstelle gibt es noch eine extra Library, genauso wie für Ethernet.&lt;br /&gt;
&lt;br /&gt;
== CMSIS ==&lt;br /&gt;
&lt;br /&gt;
Parallel zur Firmware-Library (FW-Lib) gibt es für die &amp;quot;Selbermacher&amp;quot; die CMSIS (ARM® &#039;&#039;&#039;C&#039;&#039;&#039;ortex™ &#039;&#039;&#039;M&#039;&#039;&#039;icrocontroller &#039;&#039;&#039;S&#039;&#039;&#039;oftware &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;S&#039;&#039;&#039;tandard), die grundsätzlich nur den herstellerübergreifenden ARM-Core abdeckt. Hierzu gehört bei den Cortex-M4-Cores auch die DSP und Floating-Point Funktionalität. Weiterhin existieren eine Zahl von Helferfunktionen für den NVIC, den Sys-Tick-Counter, sowie eine SystemInit-Funktion, welche sich um die PLL kümmert. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen des CMSIS-Standards ([http://www.onARM.com www.onARM.com]) wurden die Headerdateien standardisiert, der Zugriff auf die Register erfolgt per &#039;&#039;&#039;Peripheral-&amp;gt;Register&#039;&#039;&#039;. Die CMSIS C-Dateien bzw. Header enthalten auch Anpassungen für die verschiedenen Compiler. Die Portierung eines Real-Time-Betriebsystems sollte unter Verwendung der CMSIS, für Chips der verschiedenen Hersteller, stark vereinfacht möglich sein (z.B. einheitliche Adressen für Core-Hardware/Sys-Tick-Counter).&lt;br /&gt;
&lt;br /&gt;
Die CMSIS ist im Download der FW-Lib enthalten. Die Compiler-Hersteller liefern eine jeweils zur ihrer Tool-Version passende bzw. geprüfte FW-Lib (incl. CMSIS) aus. Diese Libs können, gegenüber den Downloads beim Chip-Hersteller, auch ältere Version beinhalten.&lt;br /&gt;
&lt;br /&gt;
== Debug- und Trace-Interface (CoreSight™ Debug and Trace Technologie)==&lt;br /&gt;
&lt;br /&gt;
Übersicht über beide Funktionalitäten und den Schnittstellen:&lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_cs_core_sight.htm&lt;br /&gt;
&lt;br /&gt;
Die Coresight-Debug-Architektur ermöglicht ein nicht-invasives Debugging, d.h. es können während des Betriebes (meistens) ohne Beeinflussung des Prozessors Daten vom Speicher gelesen und in selbigen geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Debugger Funktionen ===&lt;br /&gt;
&lt;br /&gt;
Der Debugger-Teil besitzt drei Funktionen:&lt;br /&gt;
* Run Control: z.B. Programm-Start, Stopp und Einzel-Schritte.&lt;br /&gt;
* (Program) Break Points: Ein Programm hält an, wenn der Programm Counter eine bestimmte Programm-Adresse erreicht.&lt;br /&gt;
** Die maximale Anzahl der gleichzeitig möglichen Break Points ist begrenzt (z.B. 6 bei einem STM32).&lt;br /&gt;
** Die Anzahl der Break Points ist nahezu unbegrenzt, wenn ein Debugger über den Memory Access (s.u.) sogenannte Flash Break Points unterstützt. Dabei wird ein geladenes Programm im Flash umprogrammiert, um den Debugger anzuhalten. Diese Funktionalität ist meistens ein kostenpflichtiges Zusatz-Feature des Debugger-Herstellers. &lt;br /&gt;
** Beinhaltet keine Data Watch Funktionalität, welche im Trace-Teil (DWT) realisiert wird.&lt;br /&gt;
* Memory Access: Lesen und Schreiben von Speicheradressen. &lt;br /&gt;
** Diese Funktionalität beinhaltet keine direkte Flash-Programmierung. Der Programmiervorgang für einen Flash ist herstellerspezifisch und muss von dem verwendeten Debugger unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
=== Trace Funktionen ===&lt;br /&gt;
Die Trace-Funktionalität wird in drei Funktionen aufgeteilt:&lt;br /&gt;
* ETM (Embedded Trace Macrocell): Optional, nicht jede CPU besitzt diese Hardware (Kostenfaktor, Austattung).&lt;br /&gt;
* ITM (Instrumentation Trace Macrocell): Über diesen Kanal kann ein vereinfachtes Trace des Core ermöglicht werden, sowie &amp;quot;printf-ähnlich&amp;quot; Daten über den ITM Channel 0 geschickt und im Debugger ausgegeben werden.&lt;br /&gt;
* DWT (Data Watchpoint &amp;amp; Trace Unit): &lt;br /&gt;
** Data Watch: 4 Access-Break-Points ( z.B. der Debugger bleibt stehen, wenn das Programm auf einen Speicher zugreift oder der Wert einer Variablen einen bestimmten Wert annimmt). &lt;br /&gt;
** Trace Unit: Programmverlauf (durch Lesen des Program Counters) und Interrupt Aufrufe verfolgen, sowie Zeitmessungen.&lt;br /&gt;
&lt;br /&gt;
Einige der Trace-Funktionalitäten können über die JTAG-Schnittstelle angesprochen werden. Die schnelle Trace-Funktionalität (mit 4 bit Parallel-Port) steht nur mit der erweiterten DEBUG + ETM Schnittstelle zur Verfügung. Im Gegensatz zum Debugger-Teil (Run Control, Break Points und Memory Access) werden Trace-Funktionen nicht von allen Debuggern unterstützt. Debugger mit der vollen Trace-Funktionalität kosten deutlich mehr.&lt;br /&gt;
&lt;br /&gt;
* Beispiele für Trace-Port-Aktivierungen für verschiedene Hersteller: http://www.keil.com/support/man/docs/jlink/jlink_capture_tracedata.htm&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung des parallelen Trace-Ports erfordert, je nach CPU Hersteller, zusätzliche Debugger-Makros für die Aktivierung und Port-Freischaltung. Zusätzlich sind die Schnittstellenauswahl und Einstellung (Frequenzen) im Entwicklungs-Tool (IDE) wichtig, um erfolgreich den Programm-Verlauf &amp;quot;tracen&amp;quot; zu können.&lt;br /&gt;
&lt;br /&gt;
=== Debug und Trace-Schnittstellen ===&lt;br /&gt;
Als Debug Interface stehen zwei Varianten zur Auswahl:&lt;br /&gt;
* [[JTAG]]: Dafür sind mindestens 6 Steuerleitungen nötig. Unterstützt Device Chaining: Mehrere verbundene Geräte können mit einem Debugger/Programmer gleichzeitig angesteuert werden.&lt;br /&gt;
* SWD (Serial Wire Debug): Hier mindestens 2  Steuerleitungen (3 mit SWO, zzgl GND und 3,3V). Die SWD Schnittstelle ist in der Regel schneller und kann auch Funktionen aus dem Trace-Teil beinhalten (z.B. ITM, dafür wird der SWO-Pin benötigt). Device Chaining ist mit dieser Schnittstelle nicht möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standard-JTAG Steckerbelegungen: &lt;br /&gt;
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm&lt;br /&gt;
&lt;br /&gt;
=== Der 10polige JTAG-Stecker von mmvisual ===&lt;br /&gt;
mmvisual hat mit dieser Steckerbelegung die Standard JTAG Schnittstelle erweitert:&lt;br /&gt;
&lt;br /&gt;
Ich habe diesen Part in den Artikel [http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual JTAG] verschoben.&lt;br /&gt;
Hinzu gekommen ist die Adapterplatine 10-Polig auf Standard JTAG 20 Polig mit TTL/V24 Wandler. [http://www.mikrocontroller.net/articles/JTAG#Die_Adapterplatine Siehe hier.]&lt;br /&gt;
&lt;br /&gt;
== Bootmodi ==&lt;br /&gt;
Unterschiedliche Bootmodi lassen sich mittels der PINs BOOT0 und BOOT1 auswählen . Siehe Application Note [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00167594.pdf AN2606].&lt;br /&gt;
&lt;br /&gt;
=== Boot from FLASH ===&lt;br /&gt;
Startadresse wird von 0x08000004 geladen&lt;br /&gt;
 BOOT0 Lo&lt;br /&gt;
 BOOT1 X &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Boot from SRAM === &lt;br /&gt;
PC Startadresse wird an 0x200001E0 direkt angesprungen.&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Hi&lt;br /&gt;
Da der interne FLASH der stm32f1x laut Datenblatt nur für 1000 Schreibvorgänge ausgelegt ist, kann mittels BOOT0 (High) und BOOT1 (High) auch aus dem zuvor mit dem Debugger (JTAG/SWD) beschriebenen SRAM booten. &lt;br /&gt;
Hierbei gilt zu beachten:&lt;br /&gt;
 VTOR auf die NVIC Tabelle im SRAM vor dem auslösen des ersten Interrupts remappen.&lt;br /&gt;
&lt;br /&gt;
 Um ein vergleichbares Startverhalten zum FLASH zu erreichen, empfiehlt es sich,&lt;br /&gt;
 0xF1E0F85F an 0x200001E0 zu schreiben. Diese implizite Ausführung von &amp;quot;ldr.w pc,&lt;br /&gt;
 [pc, #-0x01E0]&amp;quot; beim Start erzwingt ein laden der Startadresse von 0x20000004.&lt;br /&gt;
&lt;br /&gt;
=== Boot from SYSMEM (RS232, CAN und USB) ===&lt;br /&gt;
PC Startadresse wird von 0x1FFFF004 geladen&lt;br /&gt;
 BOOT0 Hi&lt;br /&gt;
 BOOT1 Lo&lt;br /&gt;
Auch ohne JTAG lässt sich ein STM32 programmieren (Bootloader-Aktivierung). Dabei stehen, je nach CPU-Typ, verschiedene Möglichkeiten zur Verfügung:&lt;br /&gt;
* RS-232 (bisher alle STMs)&lt;br /&gt;
* USB (nur in bestimmten MCUs mit entsprechender Bootloader-Version und PIN-Anzahl, z.B. STM32F105/107)&lt;br /&gt;
* CAN (wie USB nur in bestimmten MCUs)&lt;br /&gt;
&lt;br /&gt;
3 zusätzliche Verbindungen müssen auf dem Board gepatcht werden. Für einen Test geht es auch mit Tastern für RESET und BOOT0.&amp;lt;br&amp;gt;&lt;br /&gt;
RESET=RTS (L-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT0=DTR (H-aktiv)&amp;lt;br&amp;gt;&lt;br /&gt;
BOOT1=LOW&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Details sind hier im Forum: [http://www.mikrocontroller.net/topic/141711 STM32 Programmiertool]&lt;br /&gt;
&lt;br /&gt;
== Vorteile ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber ARM7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Interrupt-Controller jetzt Teil des Prozessors (als Core Peripheral), die Vector Table ist jetzt eine echte Vektortabelle, keine Sprungliste wie bei ARM7. Durch Automatismen zwischen Core und NVIC (auto register save r0..r3, lr, sp, pc) bei Interrupt Entry wird eine deutlich schnellere Ausführungszeit bei Interrupts erreicht. Der Interrupt Code muss sich nicht mehr selbst um die Sicherung der o.g. Register kümmern und eine besondere Konfiguration der Handler im Compiler entfällt. Sind vor Beendigung einer ISR (d.h. Rücksprung zum User Code) weitere Interrupts pending, so werden diese ausgeführt, ohne dass eine komplette pop-push-sequenz der Register notwendig ist. Schön beschrieben ist es hier im [http://www.st.com/mcu/files/mcu/1221142709.pdf Insider&#039;s Guide] unter 2.4.5 / Seite 20.&lt;br /&gt;
* Thumb-2 Befehlssatz, deutlich schneller als Thumb-1 und ebenso kompakt&lt;br /&gt;
* Weniger Pins für Debugging benötigt durch SWD&lt;br /&gt;
* Mehr Hardware Breakpoints machen debuggen einfacher&lt;br /&gt;
* Software ist einfacher weil die Umschaltung zwischen ARM Mode und Thumb Mode wegfällt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber LPC1700 und LPC1300:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Flexiblere Gehäuseformen mit mehr Peripherie bei kleinen Gehäusen&lt;br /&gt;
* FW-Lib für alle STM32 gleich, alle AppNotes/Demos beziehen sich auf diese eine FW-Lib was die Entwicklung der eigenen Applikation sehr beschleunigt.&lt;br /&gt;
* Genauerer und flexiblerer ADC, insbesondere gegenüber LPC1300&lt;br /&gt;
* Flexiblere Varianten der Peripherie &amp;gt;&amp;gt; bei weniger einen deutlichen Preisvorteil&lt;br /&gt;
* ab 0,85 EUR (Stand 2010) Allerdings gibts den LPC1100 mit Cortex-M0 schon ab 0,65 $!&lt;br /&gt;
&lt;br /&gt;
== Nachteile ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil gegenüber LPC1700:&#039;&#039;&#039;&lt;br /&gt;
* STM32F1xx: nur 72 MHz statt 100 MHz (LPC1759: 120 MHz) Taktfrequenz; STM32F2xx hat diesen Nachteil nicht (ebenfalls 120MHz, STM32F4xx mit 168MHz) (Aber NXP hat schon 150MHz angekündigt)&lt;br /&gt;
* Der LPC1700 besitzt deutlich mehr Mechanismen, um die Auswirkung der Waitstates des Flash-ROMs auf Code- und Datenzugriffe zu reduzieren und das bedeutet mehr Performance bei gleicher Taktfrequenz. Beim STM32F2 entfällt dieser Nachteil wohl aufgrund des ART accelerators. &lt;br /&gt;
* Alle LPC1xxx haben 32 Bit Timer. Bei den STM32 haben das nur die STM32F2xx (2 Stück)&lt;br /&gt;
* I2S Einheit von ST hat keinen FIFO und im 24/32Bit Modus müssen 2x16Bit Halbwörter übertragen werden. Wobei allgemein bei neuen ARM Prozessoren die vorhandenen DMA-Kanäle (basierend auf eigenen BUS-Kanälen und Speicherzugriffen) FIFO in beliebiger Größe bedeutet. &lt;br /&gt;
&#039;&#039;&#039;Vorteile gegenüber anderen &amp;quot;Kleinen&amp;quot; wie z.B. PIC, Atmel usw.&#039;&#039;&#039;&lt;br /&gt;
* nahezu gleicher Preis bei Hobby Anwendungen&lt;br /&gt;
* 32 Bit ohne Umwege in Assembler rechenbar&lt;br /&gt;
* bessere Peripherie&lt;br /&gt;
* ... und weitere 1000 Punkte ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachteil für Hobby-Anwender&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Nicht direkt &amp;quot;Steckbrettauglich&amp;quot;, da kein DIL Gehäuse verfügbar. Der ebay-Shop dipmicro führt jedoch sehr günstige Lötadapter für Umsetzung von LQFP48 auf DIP48. QFP64 in 0.5mm Pinabstand und nicht 0.8mm wie AVR&lt;br /&gt;
&lt;br /&gt;
* Viel Peripherie, Clocks müssen alle richtig eingestellt werden, ggf. Anpassung des Startup Codes usw.&lt;br /&gt;
** =&amp;gt; Daher nicht besonders gut für Mikrcontroller Anfänger/Einsteiger geeignet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Hardware-Beschaltung ==&lt;br /&gt;
&lt;br /&gt;
Der STM32 benötigt für den Betrieb nur (Minimalbeschaltung):&lt;br /&gt;
&lt;br /&gt;
* VCC 2..3,3V (je nach Typ)&lt;br /&gt;
* AVCC 2..3,3V (sehr wichtig, der STM32 lässt sich ohne diese Spannung nicht programmieren)&lt;br /&gt;
* GND&lt;br /&gt;
* Reset Pin 100nF nach GND (ein Pull-Up Widerstand von ca. 40k ist intern vorhanden)&lt;br /&gt;
* Boot-Pins: Boot0 -&amp;gt; GND | Boot1 -&amp;gt; Egal ---&amp;gt; Mit der Konfiguration wird das Programm aus dem Flash ausgeführt.&lt;br /&gt;
&lt;br /&gt;
ansonsten nur ein paar einzelne Cs 100nF an VCC/GND.&lt;br /&gt;
&lt;br /&gt;
Um Programmieren zu können wird entweder noch die serielle Schnittstelle (Programmieren über den vorprogrammierten Bootloader) oder JTAG oder die SWD Schnittstelle benötigt.&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
&lt;br /&gt;
Als Programmieroberfläche kann eine kostenlose Struktur verwendet werden. Es ist für den Einsteiger schwierig herauszufinden welche Open-Source Programme man braucht damit es funktioniert, daher hier eine Zusammenstellung:&lt;br /&gt;
&lt;br /&gt;
* [http://www.eclipse.org Eclipse]&lt;br /&gt;
* [http://www.yagarto.de Yagarto Tools] oder [http://www.codesourcery.com/sgpp/lite_edition.html Codesourcery Lite Edition] oder [https://launchpad.net/gcc-arm-embedded Launchpad]&lt;br /&gt;
* Programmieradapter OOCD, Turtelizer2 oder andere JTAG Programmieradapter&lt;br /&gt;
* Eclipse Plugin &amp;quot;GDB Hardware Debugging&amp;quot; mit [http://www.firefly-power.de/ARM/debugging.html OpenOCD server]&lt;br /&gt;
* [http://www.st.com/internet/com/software/ides_mcu.jsp#stm32 ST Liste: IDEs, Toolsets and Debug tools for MCUs]&lt;br /&gt;
* [http://netbeans.org/ Netbeans] mit [http://plugins.netbeans.org/plugin/37426/gdbserver GDBserver-Plugin] [http://openocd.sourceforge.net/ OpenOCD] und [https://launchpad.net/gcc-arm-embedded Launchpad]-Toolchain&lt;br /&gt;
&lt;br /&gt;
* Zum Starten eine fertige Zusammenstellung: [http://www.mikrocontroller.net/topic/216554 Eclipse+codesourcery+st-link]&lt;br /&gt;
&lt;br /&gt;
* [http://www.coocox.org/ Coocox Eclipse IDE] kostenlose IDE für STM32F0 / F1 / F4 Hilfreiche Infos gibt es im [http://www.mikrocontroller.net/topic/214719?goto=new#2228482 hier] und [http://www.mikrocontroller.net/topic/214719?goto=new#2229943 hier] Forum&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/265600 STM32F4 mit Code::Blocks]&lt;br /&gt;
&lt;br /&gt;
* [http://emide.org/ emIDE] kostenlose IDE die mit dem Segger J-LINK funktioniert.&lt;br /&gt;
&lt;br /&gt;
Sehr nützlich für Linux-Anwender auch diese Seite: [http://fun-tech.se/stm32/index.php STM32/ARM Cortex-M3 HOWTO: Development under Ubuntu.]&lt;br /&gt;
&lt;br /&gt;
===Folgende kommerzielle Umgebungen sind verfügbar===&lt;br /&gt;
&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp Keil µVision] (Demo max. 32KB Code): Die sehr komfortable µVison IDE ist neben dem ARM Compiler per Menue auch für einen beliebigen GNU-Compiler konfigurierbar. Damit besteht das 32k-Limit nur noch für den integrierten Debugger / Simulator. µVison selbst kann kostenlos mit dem MDK-Evaluationkit heruntergeladen werden.&lt;br /&gt;
* [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR-Embedded-Workbench] (Demo max. 32KB Code)&lt;br /&gt;
* [http://www.isystem.com/products/itag winIDEAiTag] Keine Code Limitierung, GCC und Testwerkzeug beinhaltet. Läuft mit dem iTag Adapter.&lt;br /&gt;
* [http://www.raisonance.com Raisonance Ride7] (GCC Compiler, kostenlose Version auf Debugging von max. 32KB Code limitiert, keine Limitierung beim Complilieren)&lt;br /&gt;
* [http://www.atollic.com Atollic] (Lite Version (bis V2.3.0) ohne Code-Limit, auf GCC basierend. Die neueste Version ab V3 hat fast keine Beschränkungen mehr außer jetzt einen Code-Limit von 32kB. Außerdem werden jetzt die meisten ARM Familien unterstützt. )&lt;br /&gt;
* [http://www.coocox.org CoIDE] (Kostenlose GCC, Eclipse basierende IDE mit einem Code-Generator Tool)&lt;br /&gt;
* [http://www.rowley.co.uk/arm/ Rowley Crossworks] (Demo 30 Tage unbeschränkt, 150$ für nichtkommerzielle Nutzung, auf GCC basierend)&lt;br /&gt;
* [http://www.code-red-tech.com Code Red] (GCC basierend)&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter===&lt;br /&gt;
* SEGGER [http://www.segger.com J-LINK / J-TRACE] ARM7..11, Cortex-M0..4, Cortex A8..15, als [http://www.segger.com/cms/j-link-edu.html NonComercial] J-LINK-EDU für ca. 60,- zu haben, läuft in µVision, IAR, gdb, Keil, ...&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ Olimex] ARM-USB-OCD (ca. 60.-, hat zusätzlich einen Spannungsausgen und einen COM Port)&lt;br /&gt;
* Keil [http://www.keil.com/ulinkme/ ULINK-ME], [http://www.keil.com/arm/ulink2/ ULINK2], [http://www.keil.com/arm/ulinkpro/ ULINK pro]&lt;br /&gt;
* [http://www.st.com/internet/evalboard/product/219866.jsp ST-LINK], [http://www.st.com/internet/evalboard/product/251168.jsp ST-LINK/V2]&lt;br /&gt;
*[http://www.st.com/internet/com/press_release/p3065.jsp STM32xx Discovery] jedes STM32 Discovery board hat einen ST-Link für Programmierung/Debugging per SWD on-board, welcher auch für eigene STM32 Target Hardware benutzt werden kann (ca. 12,- bis 19,-€, je nach Typ).&lt;br /&gt;
* [http://www.raisonance.com/~rlink-debugger-programmer__microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html Raisonance RLink]&lt;br /&gt;
* [http://www.amontec.com Amontec]&lt;br /&gt;
* [http://www.hjtag.com H-JTAG] Personal Edition für ca. 60,- zu haben, läuft mit ADS, SDT, IAR, Vision und RVDS &lt;br /&gt;
* [http://www.isystem.com/products/itag iTag] für 50.- bei Amazon zu bestellen, oder als Eigenbau version (offenes Design) läuft mit der freien winIDEAiTag version (siehe oben)&lt;br /&gt;
&lt;br /&gt;
Solch ein STM32FxDISCOVERY Demo-Board ist ideal für den Einstieg, da man kein extra [[JTAG]] Adapter kaufen muss. Das Board [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4DISCOVERY] mit 12..15 EUR ist sehr günstig und hat einen leistungsfähigen STM32F407 Prozessor mit 168MHz und einen ST-LINK/V2 schon drauf. Zusammen mit der [http://www.coocox.org/ Coocox] Entwicklungsumgebung hat man einen günstigen Einstieg in die STM32 Welt.&lt;br /&gt;
&lt;br /&gt;
In der Regel haben diese [[JTAG]] Adapter einen 20-Poligen Stecker, den man direkt auf die Demo-Boards, die auch einen 20-Poligen [[JTAG]]-Anschluss haben, einstecken kann. Die Pinbelegung ist genormt, siehe Artikel [[JTAG]].&lt;br /&gt;
&lt;br /&gt;
Andere [[JTAG]] Adapter wie z.B. der ULink von Keil funktionieren nur mit dem Keil Compiler.&lt;br /&gt;
&lt;br /&gt;
Zu erst sollte man sich die IDE heraus suchen mit der man Arbeiten mag, und dann darin den unterstützten JTAG Adapter.&lt;br /&gt;
&lt;br /&gt;
Aus eigener Erfahrung kann ich den J-LINK von Segger sehr empfehlen, da er mit der meisten Software, auch GCC sehr gut und vor allem schnell (FLASH programmieren) funktioniert und enorm viele Prozessoren (ARM7/9/11, Cortex-M0..M4, Cortex-A8..15, uvm., viele Hersteller) unterstützt.&lt;br /&gt;
&lt;br /&gt;
===Programmieradapter Open-Source===&lt;br /&gt;
&lt;br /&gt;
* [https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-COOCOX], CoLinkEX Nachbau von Olimex, unterstützt JTAG sowie SWD&lt;br /&gt;
** [http://www.coocox.org/colinkEx.htm unterstützte uC]&lt;br /&gt;
** unterstütze IDEs: [http://www.keil.com/arm/mdk.asp Keil MDK-ARM 4.03] oder neuer, [http://www.iar.com/en/Products/IAR-Embedded-Workbench/ IAR Embedded Workbench 5.xx] oder neuer sowie die [http://www.coocox.org/CooCox_CoIDE.htm CooCox CoIDE]&lt;br /&gt;
* [http://www.oocdlink.com/ OOCDLink]&lt;br /&gt;
* [https://github.com/texane/stlink Stlink]&lt;br /&gt;
* [http://www.randomprojects.org/wiki/Floss-JTAG FLOSS-JTAG]&lt;br /&gt;
* [http://capitanio.org/mlink/ Linux Demo Code für die Discovery&#039;s ST-Link Programmierung]&lt;br /&gt;
&lt;br /&gt;
Der Controller hat auch einen fest eingebauten Boot-Lader. Damit läßt er sich auch über eine gewöhnliche serielle Schnittstelle programmieren, ohne daß man einen JTAG-Adapter benötigt.&lt;br /&gt;
&lt;br /&gt;
Tipps für Installation mit Eclipse können in [http://www.mikrocontroller.net/topic/214719 diesem Thread] gelesen werden.&lt;br /&gt;
&lt;br /&gt;
=== Installation für STM32 (Linux) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Variante A ====&lt;br /&gt;
&lt;br /&gt;
* Benötigte Hardware&lt;br /&gt;
** Ein Desktop PC oder Laptop mit Linux OS (openSuSE, Ubuntu, ...) alternativ: Ein Windows System mit Linux in einer virtuellen Maschine &lt;br /&gt;
** root Zugang zum Linux OS (superuser Passwort)&lt;br /&gt;
** GNU C Compiler&lt;br /&gt;
** Programmer ARM-USB-TINY-H (optimal) alternativ: OpenOCD kompatiblen Programmer&lt;br /&gt;
** Prototypboard Olimex STM32-P107 (optimal) alternativ: irgendein board mit STM32 uC und JTAG Port&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
* Download + Installation (in einem Terminal)&lt;br /&gt;
  wget http://hlb-labor.de/cortexm3/install_ToolChain_STM32.sh&lt;br /&gt;
  chmod +x install_ToolChain_STM32.sh&lt;br /&gt;
  ./install_ToolChain_STM32.sh&lt;br /&gt;
 &lt;br /&gt;
Die Installation sollte im Idealfall voll automatisch durchlaufen. Anschliessend wird ein Beispielprojekt mit Multitasking OS und LED-Heartbeat kompiliert und auf den uC programmiert.&lt;br /&gt;
Für andere Protoboards/ Programmer muss die ToolChain entsprechend der readme Anleitung umkonfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Das Projekt kann im QtCreator (http://qt.nokia.com/) geöffnet und bearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
==== Variante B ====&lt;br /&gt;
&lt;br /&gt;
Die Installation einer Toolchain (Make, Flash, Debug via JTAG, IDE) ist in folgendem Manual beschrieben:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;How-to manual - Installing a toolchain for Cortex-M3/STM32 on Ubuntu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.pdf&lt;br /&gt;
*http://www.seng.de/downloads/HowTo_ToolChain_STM32_Ubuntu.odt&lt;br /&gt;
&lt;br /&gt;
Die Beschreibung im OpenOffice Format erlaubt die Weiterbearbeitung des Textes und das Entnehmen von Quelltexten ohne den Verlust von Formatierungen.&lt;br /&gt;
&lt;br /&gt;
Verwendete Hardware:&lt;br /&gt;
*JTAG device&lt;br /&gt;
**Olimex “ARM-USB-OCD-H”, basierend auf FTDI “FT2232H”&lt;br /&gt;
*Microcontroller&lt;br /&gt;
**Olimex “STM32-H103” basierend auf STM32F103RBT6 mit 128KB Flash, 20KB RAM, 3xUART, ...&lt;br /&gt;
Die Toolchain sollte sich leicht an andere &amp;quot;FT2232&amp;quot; basierte JTAG Probes und &amp;quot;Cortex-M3&amp;quot; Derivate anpassen lassen.&lt;br /&gt;
&lt;br /&gt;
Das Manual umfasst die Installation und Inbetriebnahme sowie Hinweise und Bug-fixes zu folgenden Komponenten:&lt;br /&gt;
*OpenOCD&lt;br /&gt;
*Serial bootloader&lt;br /&gt;
*Sourcery CodeBench Lite for ARM EABI&lt;br /&gt;
*STM32F10x standard peripheral library&lt;br /&gt;
*USB full-speed device library&lt;br /&gt;
*Project templates&lt;br /&gt;
*Makefiles&lt;br /&gt;
*Linker Sript&lt;br /&gt;
*Startup Code&lt;br /&gt;
*Doxygen&lt;br /&gt;
*Git&lt;br /&gt;
*Terminal emulation&lt;br /&gt;
*Eclipse IDE&lt;br /&gt;
*Links zu Datenblättern, Manuals und Toools&lt;br /&gt;
&lt;br /&gt;
=== Installation für STM32 Eclipse(Windows) ===&lt;br /&gt;
&lt;br /&gt;
Hier ist der Anfang des Artikels [[STM32 Eclipse Installation]], hier ist neueres beschrieben als hier aufgeführt. Wenn der Artikel fertig ist, dann wird dieser Teil gelöscht.&lt;br /&gt;
&lt;br /&gt;
* Eclipse &amp;quot;Helios&amp;quot; installieren mit GNU ARM Eclipse Plug-in&lt;br /&gt;
Eclipse IDE for C/C++ Developers&amp;lt;ref&amp;gt;http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliosr&amp;lt;/ref&amp;gt; downloaden und installieren&lt;br /&gt;
&lt;br /&gt;
* GNU ARM Eclipse Plug-in&amp;lt;ref&amp;gt;http://sourceforge.net/projects/gnuarmeclipse/&amp;lt;/ref&amp;gt; runterladen und installieren. [http://sourceforge.net/apps/mediawiki/gnuarmeclipse/index.php?title=Main_Page Weitere Infos].&lt;br /&gt;
&lt;br /&gt;
Wird CodeSourcery G++ Lite verwendet, so muss die PATH Variable angepasst &lt;br /&gt;
werden, damit das Plugin die CodeSourcery exe-Files findet&amp;lt;ref&amp;gt;für Discovery notwendig&amp;lt;/ref&amp;gt;. Alternativ das eclipse von einem script aus starten und zuerst den PATH erweitern.&lt;br /&gt;
&lt;br /&gt;
Soll das ST-LINK verwendet werden, so kann der Atollic ST-LINK GDBSERVER aus der Atollic free version genutzt werden. Mit dem gdbclient im Eclipse kann damit problemlos geflasht und gedebuggt werden (JTAG und SWD). &lt;br /&gt;
&lt;br /&gt;
Neuere Versionen von OpenOCD können ebenfalls mit STLINK und STLINK2 Kontakt aufnehmen. Bei vorkompilierten OpenOCD-Packeten (z.B. die von Freddy Chopin) mit libusb-Support und installiertem Herstellertreiber von STM ist noch der libusb-Filtertreiber einzurichten (relativ einfach per libusb-win32 filter wizard GUI).&lt;br /&gt;
&lt;br /&gt;
Die Startup- und Linkerscripts der Atollic free version können für ein Projekt in dieser Konstallation genutzt werden.&lt;br /&gt;
&lt;br /&gt;
* Eclipse &amp;quot;Galileo&amp;quot; installation&amp;lt;ref&amp;gt;[http://www.eclipse.org/] → Downloads → &amp;quot;Eclipse IDE for C/C++ Developers (79 MB)&amp;lt;/ref&amp;gt;. Und das Servicepack 1&amp;lt;ref&amp;gt;[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR1/eclipse-cpp-galileo-SR1-win32.zip Eclipse SR1]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Entpacken der Datei eclipse-cpp-galileo-SR1-win32.zip nach &amp;quot;C:\WinARM\&amp;quot; (Ordner neu erstellen)&lt;br /&gt;
&lt;br /&gt;
* Eclipse PlugIn&amp;lt;ref&amp;gt;http://download.eclipse.org/tools/cdt/releases/galileo&amp;lt;/ref&amp;gt; hinzufügen: Help → Install New Software... → &amp;quot;Eclipse C/C++ Development Tools&amp;quot; + &amp;quot;Eclipse C/C++ GDB Hardware Debugging&amp;quot; installieren&lt;br /&gt;
&lt;br /&gt;
* Yagarto Tools&amp;lt;ref&amp;gt;[http://www.yagarto.de/] &amp;quot;Download (for Windows)&amp;quot; → &amp;quot;YAGARTO Tools&amp;quot; http://www.yagarto.de/download/yagarto/yagarto-tools-20091223-setup.exe Installieren, Auswahl Verzeichnis &amp;quot;C:\WinARM\yagarto-tools&amp;quot;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* CodeSourcery: Achtung! Die Menustruktur ändert sich durchaus mal, dann suchen gehen. http://www.codesourcery.com/ → Products → Sourcery G++ → Editions&amp;gt;Lite Edition → ARM → Downloads. Direkter Download&amp;lt;ref&amp;gt;[http://www.codesourcery.com/sgpp/lite/arm/portal/package6496/public/arm-none-eabi/arm-2010q1-188-arm-none-eabi.exe]&amp;lt;/ref&amp;gt;. Installieren, Auswahl Verzeichnis &amp;quot;C:\WinARM\CodeSourcery&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* OpenOCD: Kompilierte Version für Windows&amp;lt;ref&amp;gt;[http://www.freddiechopin.info/] → Download → Software → OpenOCD&amp;lt;/ref&amp;gt; installieren nach &amp;quot;C:\WinARM\OpenOCD_0_4_0&amp;quot; ist auch auf der Seite&amp;lt;ref&amp;gt;[http://yagarto.de/#ocd Yagarto.de]&amp;lt;/ref&amp;gt; beschrieben. PS: Sollte der Olimex ARM-USB-OCD verwendet werden, dann darf nicht der Treiber von Olimex verwendet werden, sondern der vom OpenOCD Download&amp;lt;ref&amp;gt;[http://www.mikrocontroller.net/topic/173753#1668913]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* ST Firmware: http://www.st.com → Auswahl CPU STM32F103xxx → &amp;quot;Firmware&amp;quot; &amp;quot;STM32F10x_StdPeriph_Lib&amp;quot;&amp;lt;ref&amp;gt;http://www.st.com/mcu/devicedocs-STM32F103RC-110.html&amp;lt;/ref&amp;gt;. Das ZIP &amp;quot;stm32f10x_stdperiph_lib.zip&amp;quot; Entpacken nach &amp;quot;C:\WinARM\examples\stm32_FW3.4.0\&lt;br /&gt;
&lt;br /&gt;
=== Installation für STM32 auf einem zweiten Rechner===&lt;br /&gt;
&lt;br /&gt;
* Kopieren des Verzeichnisses C:\WinARM\ (Zuvor wurden aus diesem Grund alle Setup-Pakete nach C:\WinARM\... installiert)&lt;br /&gt;
* Die PATH-Variable in der Systemsteuerung mit den C:\WinARM\.... Verzeichnissen nachführen&lt;br /&gt;
* Fertig.&lt;br /&gt;
&lt;br /&gt;
=== Installation für STM32 mit AtollicTrueStudio (+Demo) ===&lt;br /&gt;
* Installation + Demo: [[STM32 LEDBlinken AtollicTrueStudio]]&lt;br /&gt;
&lt;br /&gt;
=== Installation für STM32 mit MDK-ARM Lite und Einstellungen STM32F0/F4-Discovery Board ===&lt;br /&gt;
* [https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM Download]&lt;br /&gt;
* [https://www.youtube.com/watch?v=RXOOxby5nns&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;index=1 Installations Video STM32F4 Discovery Board]&lt;br /&gt;
* [https://www.youtube.com/watch?annotation_id=annotation_203294&amp;amp;feature=iv&amp;amp;index=4&amp;amp;list=PL6-W3FoUyb48WFI5PQv3SDJj2G1t2FonV&amp;amp;src_vid=sN4gDZ7H8gw&amp;amp;v=BeZcQjXxk9A Einstellungen STM32F0 Discovery Board Video]&lt;br /&gt;
&lt;br /&gt;
== Demo-Projekte ==&lt;br /&gt;
&lt;br /&gt;
* [[prog_bsp_timer_1_timer2|Programmbeispiel für die Verwendung von Timer2 zusammen mit dem Interrupt]]&lt;br /&gt;
* [http://www.firefly-power.de/ARM/printf.html Printf() debugging mit minimalem Aufwand]&lt;br /&gt;
* [[STM32_BLDC_Control_with_HALL_Sensor|Programmbeispiel für BLDC Motoransteuerung (Timer 1) mit HALLSensor (Timer 3)]]&lt;br /&gt;
* [[Cortex_M3_OCM3U]]&lt;br /&gt;
* Martin Thomas hat ein umfangreiches Projekt erstellt, in der die Eclipse Einstellungen enthalten sind:&lt;br /&gt;
** [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html &amp;quot;ChaN&#039;s FAT-Module with STM32 SPI&amp;quot;]&lt;br /&gt;
* [[STM32 USB-FS-Device Lib]]&lt;br /&gt;
* Modellbau-Sender auf STM32-Basis mit vielen Treibern [http://www.rcos.eu www.rcos.eu]&lt;br /&gt;
* Ausführliches [https://github.com/jkerdels/stm32edu Einstiegs-Tutorial] in Codeform für das [http://www.st.com/internet/evalboard/product/252419.jsp STM32F4 discovery board]&lt;br /&gt;
* [http://www.redacom.ch/keillab/ Schweizer Gondelbahnsteuerung über Webserver auf ETT STM32F ARM KIT Board in Keil RTOS] mit Webcam&lt;br /&gt;
* Die [http://ethernut.svn.sourceforge.net/viewvc/ethernut/trunk/ Ethernut SVN Version] unterstützt inzwischen viele STM32 Typen, viele Devices und einige STM32 Demoboards&lt;br /&gt;
&lt;br /&gt;
== Errata, Tipps und Tricks ==&lt;br /&gt;
&lt;br /&gt;
* AD-Wandler PA0: Im Errata steht, dass hier Fehler in der Wandlung entstehen könnten, also einen anderen Pin verwenden.&lt;br /&gt;
* CAN-Bus PD0/PD1: Remap geht erst ab der 100-Pin-Version. Steht im RM0008 unter 9.3.3.: &amp;quot;CAN1 alternate function remapping&amp;quot;. Alle Infos von RM0008 9.3.x sind interessant&lt;br /&gt;
* CAN und USB sind nur bei der &amp;quot;◦Connectivity-Line&amp;quot; gleichzeitig nutzbar. Siehe Datenblätter.&lt;br /&gt;
* Mit internem RC-Oszillator kann die CPU mit maximal 64MHz betrieben werden. Mit einem externen Quarz sind dann 72MHz möglich.&lt;br /&gt;
* Für USB Betrieb muss die CPU mit 48MHz oder 72MHz betrieben werden (bei STM32F1xx).&lt;br /&gt;
* Der Idle Interrupt vom Usart wird zwar ausgelöst, aber nicht vom entsprechenden Statusflag angezeigt&lt;br /&gt;
* Der DMA fängt beim aktivieren immer von vorn an zu zählen, auch wenn er nur kurz angehalten wurde&lt;br /&gt;
* STM32F2xx hat kein Flash Size Register, bei STM32F4xx ist zwar ein flash Size Register beschrieben, kollidiert aber in der Adresse mit einem anderen Register&lt;br /&gt;
* Derivate mit internem EEPROM und nur einer Speicherbank haben das &amp;quot;Feature&amp;quot; bei write/erase des Data-Flashes (EEPROM) einen kompletten stall der code execution zu verursachen (inkl. ISR&#039;s, DMA). Desgleichen bei write/erase des internen Flash (ISP-routinen, EEPROM-Emulation).&lt;br /&gt;
* Der I2C hat diverse Fehler, welche im Errata des jeweiligen Modells (z.B. [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/ERRATA_SHEET/CD00238166.pdf STM32F105xx and STM32F107xx Errata sheet] ) zu finden sind. Workarounds hierzu finden sich in der Application Note [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00209826.pdf AN2824]&lt;br /&gt;
* [http://blog.frankvh.com/category/stm32/ weitere undokummentierte Features]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tipps für Umsteiger von Atmel/PIC/8051 ===&lt;br /&gt;
* Prozessortakt hat unterschiedliche Taktquellen und eine PLL.&lt;br /&gt;
* Alle Peripheriemodule haben einen extra Clock, den man aktivieren muss.&lt;br /&gt;
* Wenn man z.B. einen UART benutzen möchte, so muss man den Clock vom UART, Alternate Function IO (AFIO) und dem GPIO-Port aktivieren.&lt;br /&gt;
* Ansonsten hat man nahezu doppelt so viele Möglichkeiten in den Peripheriemodulen.&lt;br /&gt;
* Interrupt-Flags müssen in der ISR selber gelöscht werden&lt;br /&gt;
* Forum zu [http://www.mikrocontroller.net/topic/175888 Interrupts vs. Events]&lt;br /&gt;
&lt;br /&gt;
=== Tipp FPU von STM32F4xx nutzen ===&lt;br /&gt;
Es benötigt dafür 2 Dinge, zum einen muss die Compileroption gesetzt sein, zum anderen auch die FPU aktiviert werden:&lt;br /&gt;
&lt;br /&gt;
Compileroption:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COMMON_FLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Code für das Aktivieren der FPU:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;/*FPU settings*/&lt;br /&gt;
__asm volatile (&amp;quot;ldr     r0, =0xE000ED88&amp;quot;);           /* Enable CP10,CP11 */&lt;br /&gt;
__asm volatile (&amp;quot;ldr     r1,[r0]&amp;quot;);&lt;br /&gt;
__asm volatile (&amp;quot;orr     r1,r1,#(0xF &amp;lt;&amp;lt; 20)&amp;quot;);&lt;br /&gt;
__asm volatile (&amp;quot;str     r1,[r0]&amp;quot;);&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ohne Inline-Assembler in C wie in system_stm32f4xx.c aus den Beispielen von ST-Microelectronics:&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
SCB-&amp;gt;CPACR |= ((3UL &amp;lt;&amp;lt; 10*2)|(3UL &amp;lt;&amp;lt; 11*2)); /* set CP10 and CP11 Full Access */&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin sollte die Toolchain auch Laufzeitbibliotheken mit FPU-Unterstützung mitbringen (CodeBench lite wird ohne ausgeleifert, GCC for ARM embedded von launchpad.org mit).&lt;br /&gt;
&lt;br /&gt;
Mehr dazu in diesem Thread: [http://www.mikrocontroller.net/topic/261021 Floating Pointing Unit STM32F4]&lt;br /&gt;
&lt;br /&gt;
=== Errata vom STM32F4xx die nicht im Errata von ST stehen ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/267439#2788478 Aktivieren von DMA], wenn mehr als 3 DMA Kanäle aktiviert werden, kann es sein dass die nicht alle korrekt bedient werden. Auch klappt der DMA mit dem FSMC nicht immer zuverlässig. [https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FWarning%20limit%20simultaneous%20DMAs%20to%202&amp;amp;FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&amp;amp;currentviews=811 siehe hier] [http://blog.frankvh.com/2012/01/13/stm32f2xx-stm32f4xx-dma-maximum-transactions/ und hier]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/260637#2700761 Nerviger Bug in &amp;quot;stm32f4xx.h&amp;quot;] Änderung Struktur GPIO_TypeDef&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/261690#2714754 Batterie wird leer gezogen], nur bei manchen Chips mit Rev. A&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
Versandhäuser für Privatpersonen&lt;br /&gt;
* [http://www.reichelt.de/STM-Controller/2/index.html?;ACTION=2;LA=2;GROUPID=2950; Reichelt]&lt;br /&gt;
* [http://darisusgmbh.de/shop/index.php?cat=c2692_ARM-Cortex.html Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE (Farnell Programm für Private)] &lt;br /&gt;
* [http://www.sander-electronic.de/be00069.html Sander]&lt;br /&gt;
*[http://www.tme.eu/de/katalog/index.phtml#cleanParameters%3D1%26search%3DSTM32F10%26bf_szukaj%3D+ TME] &lt;br /&gt;
*[http://teske-electronics.de/index.php?cPath=3_9_53 Teske electronics]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gewerblich liefern natürlich viele wie EBV, Mouser, Farnell, Digikey usw...&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
* [http://shop.embedded-projects.net/index.php?module=artikel&amp;amp;action=gruppe&amp;amp;id=14 Im Shop von Embedded Projects]&lt;br /&gt;
* [http://www.watterott.com/de/Boards-Kits/ARM/ARM-Cortex-M3 Cortex M3 bei Watterott]&lt;br /&gt;
* [http://www.raisonance.com/~primer-starter-kits__microcontrollers__tool~tool__T018:4enfvamuxbtp.html Primer und Primer2 von Raisonance]&lt;br /&gt;
* [http://www.sander-electronic.de/es0028.html Sander Electronic]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/MP32F103-Stick:_Ein_Mini-Mikrocontroller-Board_mit_USB_und_bis_zu_4MB_Datenspeicher Artikel im Wiki, ARM mit USB und 4MB Speicher]&lt;br /&gt;
* [http://www.futurlec.com/STM32_Development_Board.shtml Futurlec Evalboard, ebenso Header-Board]&lt;br /&gt;
* [http://www.propox.com/products/t_174.html Propox, Header-Boards für 103R und 103V sowie Trägerplatine dafür]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Cortex_M3_OCM3U Cortex M3 Artikel im Wiki]&lt;br /&gt;
* [http://olimex.com/dev/index.html STM32 bei Olimex]&lt;br /&gt;
* [http://de.farnell.com/jsp/displayProduct.jsp?sku=1824325&amp;amp;action=view&amp;amp;CMP=GRHS-1000962 STM32Discovery bei Farnell] Mikrocontroller Board (STM32F100RBT6B) mit onboard USB-Programming Interface für ca. 12,50€&lt;br /&gt;
* [http://www.de.rs-online.com/web/p/products/7458434/ STM32Discovery bei RS-Components] 12,65 € +MwSt.&lt;br /&gt;
* [http://www.segor.de/#Q=STM32 VL DISCOVERY] STM32 Discovery bei Segor&lt;br /&gt;
* [http://www.watterott.com/de/STM32F4Discovery STM32F4DISCOVERY] STM32F4 Cortex M4 Controller mit JTAG-Debugger auf der Platine bei Watterott für 16,66EUR.&lt;br /&gt;
* [http://www.steitec.net/ARM-Boards/ Steitec, STM32F103 Cortex M3 Board 34,80€]&lt;br /&gt;
* [http://www.mcu-raisonance.com/~open4-development-platform__microcontrollers__tool~tool__T018:g65gu6ghg2n.html/ Open 4 oder auch genannt Evo-Primer]&lt;br /&gt;
* [http://www.wayengineer.com/index.php?main_page=index&amp;amp;cPath=50_66&amp;amp;page=1&amp;amp;sort=3a WayEngineer]&lt;br /&gt;
* [http://thinkembedded.ch/ST-STMicroelectronics:::24.html Im Thinkembedded Shop] in der Schweiz / DiscoveryF4, div. ETT und Olimex Boarde ab 20,18 CHF / 16,15 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&amp;amp;artID=200072 Im myAVR Shop] DiscoveryF4 mit möglichem Zubehör 16,45 EUR (inkl. MwSt.) zzgl. Versandkosten&lt;br /&gt;
* [http://www.keil.com/boards/cortexm.asp Keil/ARM Demoboards]&lt;br /&gt;
* [http://www.phytec.de Phytec]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities, Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/173753 Diskussion zum Artikel]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ARM*+STM32*+Cortex* Suche im Forum]&lt;br /&gt;
* [https://my.st.com/public/STe2ecommunities/mcu/Lists/ARM%20CortexM3%20STM32/AllItems.aspx Forum auf der ST Homepage] &lt;br /&gt;
* [http://www.stm32circle.com/hom/index.php STM32 Community] &lt;br /&gt;
*[http://joe-c.de/pages/posts/einstieg_mikrocontroller_stm32f103_101.php Einstieg:  STM32board mit Kamera (deutsch)] &lt;br /&gt;
* [http://www.ebv.com/fileadmin/products/Press_Print/Brochures/Product_Brochures/EBV_Cortex%20Collection_V2.pdf Übersicht der Cortex Prozessoren und deren Hersteller (nicht nur ST, von EBV)]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/258652 Tutorial]&lt;br /&gt;
* [http://diller-technologies.de/stm32_wide.html STM32 Tutorial in Deutsch von Diller Technologies]&lt;br /&gt;
* [http://mySTM32.de STM32 C und C++ Tutorial in Deutsch ]&lt;br /&gt;
* [http://mikrocontroller.bplaced.net STM32F4 Quellcode-Librarys und CooCox-Projekte in Deutsch ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:STM32| ]]&lt;/div&gt;</summary>
		<author><name>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74676</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74676"/>
		<updated>2013-03-17T15:19:49Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Cortex M0+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039; erhältlich ab Q3/2013&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* SEGGER emWin Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) (AN0032)&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding (AN0055)&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74675</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74675"/>
		<updated>2013-03-17T15:19:23Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Cortex M4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039;  &lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; erhältlich ab Q2/2013&lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* SEGGER emWin Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) (AN0032)&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding (AN0055)&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74559</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74559"/>
		<updated>2013-03-09T10:47:32Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* EFR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039;  &lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* SEGGER emWin Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) (AN0032)&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding (AN0055)&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74557</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=74557"/>
		<updated>2013-03-09T09:57:53Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* ERM32 Familien */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&amp;lt;br&amp;gt;(&#039;&#039;&#039;Fett&#039;&#039;&#039; Änderungen zu vorheriger Familie)&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039;  &lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q3 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* SEGGER emWin Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) (AN0032)&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding (AN0055)&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=73863</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=73863"/>
		<updated>2013-03-06T16:23:53Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039;  &lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q3 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. &lt;br /&gt;
CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein  herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine  Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln.&lt;br /&gt;
&lt;br /&gt;
Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann.&lt;br /&gt;
Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes).&lt;br /&gt;
&lt;br /&gt;
Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
/* Start ADC Single Conversion */&lt;br /&gt;
ADC0-&amp;gt;CMD = ADC_CMD_Singletstart;&lt;br /&gt;
&lt;br /&gt;
Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich.&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
Folgende Middleware ist im Simplicity Studio enthalten:&lt;br /&gt;
&lt;br /&gt;
* FAT File System Module - FatFs is a generic FAT file system module for small embedded systems&lt;br /&gt;
* Simple graphic library - Energy Micro&#039;s Glib is an implementation of simple graphic functions&lt;br /&gt;
* IEC-60335 Selftest Library&lt;br /&gt;
* SEGGER emWin Library for Graphical User Interface applications&lt;br /&gt;
&lt;br /&gt;
In Application Notes ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
* Http server on EFM32 - Ethernet PHY is implement with an ASIX AX88796C Ethernet Controller (on board of the DKs) (AN0032)&lt;br /&gt;
* Speex is a free audio codec which provides high level of compression with good sound quality for speech encoding and decoding (AN0055)&lt;br /&gt;
&lt;br /&gt;
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten:&lt;br /&gt;
&lt;br /&gt;
USB:&lt;br /&gt;
* USB CDC virtual COM port example&lt;br /&gt;
* USB HID keyboard example&lt;br /&gt;
* USB Mass Storage Device example&lt;br /&gt;
* USB PHDC (Personal Healthcare Device Class) example&lt;br /&gt;
* USB Vendor Unique Device example&lt;br /&gt;
* USB device enumerator example&lt;br /&gt;
* USB Host mass storage device example&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:&lt;br /&gt;
* RTOS from Keil/ARM under Open Source license (BSD)&lt;br /&gt;
* FreeRTOS from Real Time Engineers Ltd.&lt;br /&gt;
* uC/OS-II Real-Time Kernel&lt;br /&gt;
* uC/OS-III Real-Time Kernel&lt;br /&gt;
&lt;br /&gt;
In den Beispielen (Examples) im Simplicity Studio findet man:&lt;br /&gt;
* uC/OS-II und uC/OS-III RTOS on EFM32 using example&lt;br /&gt;
* Keil RTX RTOS - tick-less &amp;amp; blink example&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
* [http://www.element14.com/community/groups/energy-harvesting-solutions Farnell-Element14 Energy Harvesting Community]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Training ==&lt;br /&gt;
&lt;br /&gt;
=== Lizard Labs ===&lt;br /&gt;
Zugeschnittenes Online-Training von Energy Micro: [http://www.energymicro.com/lizard-labs Lizard Labs] - &lt;br /&gt;
Videos &amp;amp; Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Online Webinare === &lt;br /&gt;
&lt;br /&gt;
* [http://www.elektronikpraxis.vogel.de/fachwissen/webcast/downloads/21603 Webinar Elektronik Praxis]&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
*[http://de.rs-online.com/web/c/halbleiter/?searchTerm=Energy+Micro&amp;amp;searchType=Brand RS Components]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=71912</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=71912"/>
		<updated>2013-02-05T21:23:01Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Andere */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+/M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039;  &lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q3 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [https://github.com/nopeppermint/Olimex_EFM32_CoLinkEx_Example Beispiel Code für Olimex EFM32 Boarde mit Olimex ARM-JTAG-COOCOX und Keil MDK-ARM-Lite]&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=71768</id>
		<title>EFM32</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=EFM32&amp;diff=71768"/>
		<updated>2013-02-03T14:06:52Z</updated>

		<summary type="html">&lt;p&gt;Ahabakuk: /* Energy Harvesting Kit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:gecko_small.jpg|thumb|right|1300px|Das EFM32 Logo, ein Gecko, © energymicro.com]]EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro. &lt;br /&gt;
&lt;br /&gt;
Sie basieren auf ARM Cortex M0+/M3 und M4 Kernen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Schwerpunkt liegt auf einem möglichst kleinen Stromverbrauch der uC.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Gecko Microcontroller Familie ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:efm32_portfolio.jpg|thumb|right|500px|Übersicht der EFM32 Familien, © energymicro.com]]&lt;br /&gt;
EFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller [http://www.energymicro.com/ 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:&lt;br /&gt;
*Strom-, Gas- und Wasserzähler&lt;br /&gt;
*in der Industrie- und Gebäudeautomatisierung&lt;br /&gt;
*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,:&lt;br /&gt;
* 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;
=== ERM32 Familien ===&lt;br /&gt;
&lt;br /&gt;
[http://www.energymicro.com/downloads/datasheets Datenblätter zu allen EFM32]&amp;lt;br&amp;gt;[http://cdn.energymicro.com/dl/pdf/EFM32_brochure.pdf Broschüre mit allen  EFM32] &amp;lt;br&amp;gt;&lt;br /&gt;
Folgende Gecko-Familien sind verfügbar:&lt;br /&gt;
&lt;br /&gt;
====Cortex M0+====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-zero-gecko-microcontroller-family Zero Gecko]&#039;&#039;&#039;  &lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM, 24pin - 48pin Packages, 17-37 GPIO, 16 ext. Interrupt, Peripheral Reflex System&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1x USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* 1x 2-4 Kanal 12 Bit ADC 1M Sample, On Chip Temperatursensor, 2-5 Analog Comparator&lt;br /&gt;
&lt;br /&gt;
====Cortex M3====&lt;br /&gt;
&lt;br /&gt;
[http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf EFM32 Cortex M3 Reference Manual]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-tiny-gecko-microcontroller-family Tiny Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0034_efm32tg_reference_manual.pdf Reference Manual Tiny Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 4-32KB Flash, 2-4KB RAM 24pin - &#039;&#039;&#039;64pin&#039;&#039;&#039; Packages, 17-&#039;&#039;&#039;56&#039;&#039;&#039; GPIO, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;&#039;8 Channel DMA&#039;&#039;&#039;&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* 1&#039;&#039;&#039;-2x&#039;&#039;&#039; USART, 1x LEUSART, 1x I2C&lt;br /&gt;
* 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, &#039;&#039;&#039;1x 16bit LETIMER (Low Energy)&#039;&#039;&#039;, 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* &#039;&#039;&#039;AES&#039;&#039;&#039;, 1x 2-&#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;4-16&#039;&#039;&#039; Analog Comparator, &#039;&#039;&#039;1-2x 12bit Rail-to-rail DAC&#039;&#039;&#039;, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;Integrated LCD Controller (bis 8×20 Segmente)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-gecko-microcontroller-family Gecko]&#039;&#039;&#039;  -  [http://cdn.energymicro.com/dl/devices/pdf/d0001_efm32g_reference_manual.pdf Reference Manual Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;16-128KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;8-16KB RAM&#039;&#039;&#039;, 24pin - 64pin Packages, 17-56 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 8 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader,&lt;br /&gt;
* &#039;&#039;&#039;2-3x&#039;&#039;&#039; USART, 1-&#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, &#039;&#039;&#039;1x 4-8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 1-2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 16bit Timer, 2-&#039;&#039;&#039;3x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1-&#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* AES, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, Integrated LCD Controller (bis &#039;&#039;&#039;4*40&#039;&#039;&#039; Segmente), &#039;&#039;&#039;External Bus Interface (EBI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-leopard-gecko-microcontroller-family Leopard Gecko]&#039;&#039;&#039;  - [http://cdn.energymicro.com/dl/devices/pdf/d0183_efm32lg_reference_manual.pdf Reference Manual Leopard Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;64-256KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;32KB RAM&#039;&#039;&#039;, &#039;&#039;&#039;64pin - 120pin Packages&#039;&#039;&#039;, &#039;&#039;&#039;50-93 GPIO&#039;&#039;&#039;, 16 ext. Interrupt, Peripheral Reflex System, &#039;&#039;12&#039;&#039;&#039; Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, &#039;&#039;&#039;3x OPAMP&#039;&#039;&#039;, &#039;&#039;&#039;4-16 Analog Comparator&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3x&#039;&#039;&#039; USART, &#039;&#039;&#039;2x&#039;&#039;&#039; LEUSART, 1x I2C, 1x &#039;&#039;&#039;8&#039;&#039;&#039; Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, &#039;&#039;&#039;2x&#039;&#039;&#039; 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* &#039;&#039;&#039;4x&#039;&#039;&#039; 16bit Timer, &#039;&#039;&#039;4x&#039;&#039;&#039; 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, &#039;&#039;&#039;3x&#039;&#039;&#039; Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, &#039;&#039;&#039;AES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis &#039;&#039;&#039;8*36&#039;&#039;&#039; Segmente), External Bus Interface (EBI), &#039;&#039;&#039;USB 2.0 LOW/Full Speed HOST/DEVICE/OTG&#039;&#039;&#039;, &#039;&#039;&#039;TFT Controller mit Direct Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-giant-gecko-microcontroller-family Giant Gecko]&#039;&#039;&#039; - [http://cdn.energymicro.com/dl/devices/pdf/d0053_efm32gg_reference_manual.pdf Reference Manual Giant Gecko]&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* &#039;&#039;&#039;512-1024KB Flash&#039;&#039;&#039;, &#039;&#039;&#039;128KB RAM&#039;&#039;&#039;, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 1x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 5-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
====Cortex M4====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/products/efm32-wonder-gecko-microcontroller-family Wonder Gecko]&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Cortex M4F (mit Gleitkommaeinheit)&#039;&#039;&#039;&lt;br /&gt;
* -40 to 85 ºC, Single power supply 1.85 to 3.8 V&lt;br /&gt;
* 64-256KB Flash, 32KB RAM, 64pin - 120pin Packages, 50-93 GPIO, 16 ext. Interrupt, Peripheral Reflex System, 12 Channel DMA&lt;br /&gt;
* LESENCE (Low Energy Sensor Interface), 2-pin SWD interface, Pre-Programmed Serial Bootloader, 3x OPAMP, 4-16 Analog Comparator&lt;br /&gt;
* 3x USART, 2x LEUSART, 2x I2C, 1x 8 Kanal 12bit ADC 1M Sample, On Chip Temperatursensor, 2x 12bit Rail-to-rail DAC, 4-16 Analog Comparator&lt;br /&gt;
* 4x 16bit Timer, 4x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 3x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector, AES&lt;br /&gt;
&lt;br /&gt;
nicht alle haben : &lt;br /&gt;
* Integrated LCD Controller (bis 8*36 Segmente), External Bus Interface (EBI), USB 2.0 LOW/Full Speed HOST/DEVICE/OTG, TFT Controller mit Direct Drive&lt;br /&gt;
&lt;br /&gt;
== EFR ==&lt;br /&gt;
[[Bild:Efr.jpg|thumb|right|500px|Übersicht der EFR Familien, © energymicro.com]]&lt;br /&gt;
&lt;br /&gt;
EFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller.&lt;br /&gt;
&lt;br /&gt;
Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q3 2013.&lt;br /&gt;
&lt;br /&gt;
http://www.energymicro.com/draco/4&lt;br /&gt;
&lt;br /&gt;
Es gibt bereits eine [http://cdn.energymicro.com/dl/pdf/EFR.pdf Broschüre] dazu.&lt;br /&gt;
&lt;br /&gt;
== EFM32 Features ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:gecko_tech.jpg  |Übersicht Peripherie EFM32 |right |400px |thumb]]&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;
&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. &lt;br /&gt;
&lt;br /&gt;
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 ([http://www.energymicro.com/downloads/datasheets 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. &lt;br /&gt;
&lt;br /&gt;
Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt.&lt;br /&gt;
&lt;br /&gt;
Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. &lt;br /&gt;
&lt;br /&gt;
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;
=== 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;
[[Datei:EM modes.jpg |Übersicht der Low Power Modi |right |400px |thumb]]&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;
Es gibt eine umfassende [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Dokumentation über die [http://cdn.energymicro.com/dl/packages/um006_energy_modes.pdf Energy Modes].&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. &lt;br /&gt;
&lt;br /&gt;
Die Peripherie umfasst unter anderem:&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 - es ist sogar möglich bei 12Bit und 1Ksamples auf 20µA Durchschnittsstromverbrauch zu kommen - siehe Application Note&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;
-[http://www.youtube.com/watch?v=m-Vt92ou0Qc&amp;amp;list=PL3B1EAF6C66E51259&amp;amp;index=1&amp;amp;feature=plcp Video zu LESENSE]&lt;br /&gt;
&lt;br /&gt;
== Software Tools ==&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 &#039;&#039;&#039;Tools, Dokumentation, Software und andere Ressourcen &#039;&#039;&#039;bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind &lt;br /&gt;
&lt;br /&gt;
– von&#039;&#039;&#039; Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note&#039;&#039;&#039;.&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.&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;
* [http://www.energymicro.com/downloads/datasheets Datenblätter sowie Errata Sheets]&lt;br /&gt;
* Reference Manuals (Core und Peripherie)&lt;br /&gt;
* [http://www.energymicro.com/downloads/application-notes 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;
* viele Code Beispiele zu den verfügbaren Boards für Keil, IAR, Codesourcery und Rowley IDEs&lt;br /&gt;
* [http://www.energymicro.com/downloads/tools-documents Benutzerhandbücher zu den Kits]&lt;br /&gt;
* alle [http://www.energymicro.com/company/university-program-contents University Program] Dokumente (Anleitungen für uC Beginner in Englisch)&lt;br /&gt;
&lt;br /&gt;
Das Simplicity Studio vereint Energy Micros kostenlose Tools: &lt;br /&gt;
* [http://www.energymicro.com/downloads/online-help-energyaware-commander 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;
* [http://www.energymicro.com/downloads/online-help-energyaware-profiler energyAware Profiler]: Tool zum Energy-Debugging (s.u.) &lt;br /&gt;
* energyAware Designer: Pin-Konfigurationstool mit Codegenerator, als Konfigurator der Peripherie&lt;br /&gt;
* energyAware Battery: lässt die Lebensdauer der Batterie anhand der programmierten Software berechnen.&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.energymicro.com/simplicit Simplicity Studio] steht kostenlos als Download zur Verfügung.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- [http://cdn.energymicro.com/dl/zip/Simplicity_Studio_Setup.exe Download Simplicity Studio für Windows]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/470-energyaware-commander-for-mac-272-beta/ Forum und Download BETA Simplicity Studio für Mac]&lt;br /&gt;
&lt;br /&gt;
- [http://forum.energymicro.com/topic/469-energyaware-commander-for-linux-272-beta/ Forum und Download BETA Simplicity Studio für Linux]&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. &lt;br /&gt;
&lt;br /&gt;
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;
&lt;br /&gt;
Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. &lt;br /&gt;
&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;
&lt;br /&gt;
In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/downloads/online-help-energyaware-profiler Anleitung zum energyAware Profiler]&lt;br /&gt;
&lt;br /&gt;
=== ARM Cortex Development Tools ===&lt;br /&gt;
&lt;br /&gt;
Es gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-ide-compiler Liste der unterstützten IDE / Compiler]&lt;br /&gt;
&lt;br /&gt;
==== Eclipse ====&lt;br /&gt;
Im Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als  [http://cdn.energymicro.com/dl/an/pdf/an0023_efm32_eclipse_toolchain.pdf pdf] verfügbar&lt;br /&gt;
&lt;br /&gt;
Es gibt eine [https://www.mikrocontroller.net/articles/EFM32#University_Program University Program] Anleitung für die Installation, (insbesondere unter Ubuntu) als [http://cdn.energymicro.com/dl/packages/um003_ides.pdf pdf] oder im [https://www.mikrocontroller.net/articles/EFM32#Simplicity_Studio Simplicity Studio].&lt;br /&gt;
&lt;br /&gt;
*[http://www.cnx-software.com/2013/01/31/arm-mcu-development-in-linux-with-energy-micros-simplicity-studio-eclipse-and-codesourcery-toolchain/ Schrit für Schritt Anleitung Eclipse Installation unter Ubuntu Linux]&lt;br /&gt;
&lt;br /&gt;
=== Middleware ===&lt;br /&gt;
&lt;br /&gt;
Unter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-middleware Liste der unterstützen Middleware]&lt;br /&gt;
&lt;br /&gt;
==== RTOS ====&lt;br /&gt;
&lt;br /&gt;
Echtzeitbetriebssysteme (&#039;&#039;&#039;R&#039;&#039;&#039;eal &#039;&#039;&#039;T&#039;&#039;&#039;ime &#039;&#039;&#039;O&#039;&#039;&#039;peration &#039;&#039;&#039;S&#039;&#039;&#039;ystem) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. &lt;br /&gt;
&lt;br /&gt;
Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-rtos Liste der unterstützten RTOS]&lt;br /&gt;
&lt;br /&gt;
Besonders hervorzuheben sind die frei verfügbaren RTOS:&lt;br /&gt;
*[http://www.keil.com/rl-arm/kernel.asp Keil RTX]&lt;br /&gt;
*[http://www.coocox.org/CoOS.htm Coocox CoOs]&lt;br /&gt;
*[http://www.freertos.org/EFM32.html FreeRTOS]&lt;br /&gt;
&lt;br /&gt;
== Hardware Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Debugger/Programmer ===&lt;br /&gt;
&lt;br /&gt;
Die EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Die EFM32 [https://www.mikrocontroller.net/articles/EFM32#Starter_Kits Starter Kits] sowie die [https://www.mikrocontroller.net/articles/EFM32#Development_Kits Development Kits] enthalten bereits einen J-Link auf dem Board. &lt;br /&gt;
&lt;br /&gt;
*[http://www.energymicro.com/tools/third-party-debug-adapters Offiziell unterstütze Debugger/Programmer]&lt;br /&gt;
&lt;br /&gt;
{| {{Tabelle}} &lt;br /&gt;
|+ &#039;&#039;&#039;Unterstützte Debugger/Programmer pro IDE&#039;&#039;&#039;&lt;br /&gt;
|-  style=&amp;quot;background-color:#ffddaa&amp;quot;&lt;br /&gt;
! IDE ||Einstellungen IDE || Debugger || Bild || Beschrieb || Kosten ca.  &lt;br /&gt;
|-&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkme/default.htm Keil MDK-ARM]   &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulinkme/ Ulink-ME]       &lt;br /&gt;
||  [[Datei:Ulink-me.jpg |Ulink-Me |thumb |150px ]]&lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, und Cortex-M uC, &amp;lt;br/&amp;gt; &lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG und 10-pin (0.05&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 3.0V - 3.6V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s &amp;lt;br/&amp;gt;&lt;br /&gt;
|| 80 Euro &amp;lt;br/&amp;gt; / 100 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]    &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulink2/ulink2_introduction.htm Keil MDK-ARM]               &lt;br /&gt;
|| Keil &amp;lt;br/&amp;gt; [http://www.keil.com/ulink2/ Ulink 2]        &lt;br /&gt;
|| [[Datei:Ulink2.jpg |Ulink 2 |thumb |150px]]&lt;br /&gt;
|| &lt;br /&gt;
-unterstützt ARM7, ARM9, Cortex-M, 8051 und C166 uC, &amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt; &lt;br /&gt;
16-pin (0.1&amp;quot;),14-pin (0.1&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Wide target voltage range: 2.7V - 5.5V &amp;lt;br/&amp;gt;&lt;br /&gt;
- kein Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 1Mb/s   &lt;br /&gt;
|| 340 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 400 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  [http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]   &lt;br /&gt;
|| [http://www.keil.com/support/man/docs/ulinkpro/ Keil MDK-ARM]&amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.youtube.com/watch?v=Be4V9yZPo6E Video über Ulink Pro]               &lt;br /&gt;
|| Keil&amp;lt;br/&amp;gt; [http://www.keil.com/ulinkpro/ Ulink Pro]        &lt;br /&gt;
|| [[Datei:Ulinkpro.jpg|Ulink-Pro|thumb |150px]]       &lt;br /&gt;
|| &lt;br /&gt;
- unterstützt ARM7, ARM9, Cortex-M, und C166 uC,&amp;lt;br/&amp;gt;&lt;br /&gt;
JTAG und SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
- Standard 20-pin (0.1&amp;quot;) JTAG, 10-pin (0.05&amp;quot;), &amp;lt;br/&amp;gt;&lt;br /&gt;
20-pin (0.05&amp;quot;) Cortex Debug Stecker &amp;lt;br/&amp;gt;&lt;br /&gt;
- Target Voltage: 1.2V - 3.3V &amp;lt;br/&amp;gt;&lt;br /&gt;
- Embedded Trace Macrocell - ETM &amp;lt;br/&amp;gt;&lt;br /&gt;
- Data Trace Streaming 800Mb/s  &lt;br /&gt;
|| 1200 Euro &amp;lt;br/&amp;gt;/ 1500 SFr  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM] &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt; &lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-atollic Atollic True Studio] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE] &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-rowley-associates Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Keil.html Keil MDK-ARM] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Atollic.html  Atollic True Studio]  &amp;lt;br/&amp;gt;  &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_coocox.html CooCox CoIDE ]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_IAR.html IAR Embedded &amp;lt;br/&amp;gt;  Workbench]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/IDE_Integration_Rowley.html Rowley CrossWorks] &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Segger &lt;br /&gt;
[http://www.segger.com/cms/jlink.html J-Link]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.segger.com/cms/j-link-edu.html J-Link Edu] &lt;br /&gt;
|| [[Datei:J-link_image0.jpg|thumb |150px|J-Link]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
- J-Link Edu ist das gleiche wie J-Link,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Edu Version jedoch nur für Ausbildung erlaubt! &amp;lt;br/&amp;gt;&lt;br /&gt;
- unterstützt: ARM7/9/11, Cortex-A5/A8/A9,  &amp;lt;br/&amp;gt; &lt;br /&gt;
Cortex-M0/M0+/M1/M3/M4, Cortex-R4, &amp;lt;br/&amp;gt;&lt;br /&gt;
- Renesas RX610, RX621, RX62N, RX62T, RX630, RX631,&amp;lt;br/&amp;gt;&lt;br /&gt;
RX63N &amp;lt;br/&amp;gt;&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM  &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
J-Link&amp;lt;br/&amp;gt; 250 Euro &amp;lt;br/&amp;gt;/ 300 SFr&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
J-Link Edu &amp;lt;br/&amp;gt;50 Euro &amp;lt;br/&amp;gt;/ 70 SFr &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:J-link-edu_image0.jpg|thumb |150px|J-Link Edu]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-keil Keil MDK-ARM]  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-iar IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.energymicro.com/tools/third-party-partner-coocox CooCox CoIDE]    &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
[http://www.coocox.org/Colinkex.htm# USB Driver CoLinkEx] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoMDKPlugin.html Keil MDK-ARM 1/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/Use-in-MDK.htm Keil MDK-ARM 2/2] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoIARPlugin.html IAR Embedded &amp;lt;br/&amp;gt; Workbench] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex: &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-COOCOX/ ARM-JTAG-Coocox] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
CoLinkEx:  &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkGuide/CoLinkDIY.htm zum selber basteln] &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.coocox.org/CoLinkExGuide/Buy_CoLinkEx.htm fixfertig kaufen]&lt;br /&gt;
|| [[Datei:ARM-JTAG-COOCOX-1.jpg |ARM-JTAG-Coocox |thumb]]&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
- unterstützt folgende EFM32 Cortex-M uC:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| EFM32G200F16  || EFM32G200F32 ||EFM32G200F64&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G210F128 ||EFM32G230F128 ||EFM32G230F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G230F64  ||EFM32G280F128 ||EFM32G280F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G280F64   ||EFM32G290F128  ||EFM32G290F32&lt;br /&gt;
|-&lt;br /&gt;
| EFM32G290F64   ||EFM32G840F128  ||EFM32G840F64   &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G840F32   ||EFM32G880F128  ||EFM32G880F64  &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G880F32   ||EFM32G890F128  ||EFM32G890F64    &lt;br /&gt;
|-&lt;br /&gt;
| EFM32G890F32&lt;br /&gt;
|}&lt;br /&gt;
- JTAG und SWD, kein Embedded Trace Macrocell - ETM &lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Olimex und &amp;lt;br/&amp;gt; Original &amp;lt;br/&amp;gt; CoLinkEx &amp;lt;br/&amp;gt;&lt;br /&gt;
je 25 Euro &amp;lt;br/&amp;gt;&lt;br /&gt;
/ 32 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||Das Olimex Produkt &amp;lt;br/&amp;gt; &lt;br /&gt;
basiert auf dem CoLinkEx! &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Es gibt noch div. &amp;lt;br/&amp;gt; &lt;br /&gt;
weitere nachbauten &amp;lt;br/&amp;gt; &lt;br /&gt;
des CoLinkEx,  &amp;lt;br/&amp;gt; &lt;br /&gt;
z.B. von Embest.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| [http://www.energymicro.com/tools/third-party-partner-rowley-associates CrossWorks for ARM] &lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
siehe Olimex Seite&amp;lt;br/&amp;gt;&lt;br /&gt;
der beiden Adapter&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-SWD/ ARM-JTAG-SWD]  &amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ ARM-USB-OCD-H]&lt;br /&gt;
|| [[Datei:ARM-JTAG-SWD.jpg |ARM-JTAG-SWD |thumb |150px]]&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
- JTAG und SWD&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| &lt;br /&gt;
Olimex &amp;lt;br/&amp;gt; &lt;br /&gt;
ARM-JTAG-SWD &amp;lt;br/&amp;gt;&lt;br /&gt;
5 Euro / 6 SFr &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Olimex &amp;lt;br/&amp;gt;&lt;br /&gt;
ARM-USB-OCD &amp;lt;br/&amp;gt;&lt;br /&gt;
55 Euro / 69 SFr&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Datei:ARM-USB-OCD-03.jpg |ARM-USB-OCD |thumb |150px]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
Es werden beide &amp;lt;br/&amp;gt; Adapter gemeinsam benötigt!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starter Kits ===&lt;br /&gt;
[[Datei:Efm32tinygeckostarterkit.jpg |100px |thumb |Energy Micro Tiny Gecko Starter Kit]]&lt;br /&gt;
[[Datei:Efm32geckostarterkit.jpg |100px |thumb |Energy Micro Gecko Starter Kit]]&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;
Es gibt zurzeit folgende Starter Kits:&lt;br /&gt;
&lt;br /&gt;
* [http://www.energymicro.com/tools/efm32-tiny-gecko-starter-kit Tiny Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=zBAxeCDLZgA Video zum Tiny Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-gecko-starter-kit Gecko Starter Kit] für ca. 60 Euro / 70 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?v=OAjLbAcNSUg&amp;amp;feature=player_embedded Video zum Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-starter-kit-efm32lg-stk3600 Leopart Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] für ca. 70 Euro / 80 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=sL45obwXvZA Video Leopard und Giant Gecko Starter Kit]&lt;br /&gt;
&lt;br /&gt;
=== Development Kits ===&lt;br /&gt;
[[Datei:EFM32G-DK3550.jpg |thumb|100px |Gecko Development Kit]]&lt;br /&gt;
[[Datei:Efm32giantgeckodevelopmentkit.jpg |thumb |100px |Giant Gecko Development Kit]]&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;
Es gibt zurzeit folgende Development Kits:&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32g-dk3550 Gecko Development Kit] für ca. 230 Euro&lt;br /&gt;
**[https://www.youtube.com/watch?v=S26x8bn2r_8 Video über das Gecko Development Kit]&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-leopard-gecko-development-kit Leopard Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
*[http://www.energymicro.com/tools/efm32-giant-gecko-development-kit Giant Gecko Development Kit] für ca. 290 Euro /350 SFr.&lt;br /&gt;
**[https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=h65TPcJjl58 Video über Simplicity Studio und Giant Gecko Development Kit]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
&lt;br /&gt;
Es gibt noch 3 verschiedene [https://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Boards] mit EFM32 Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-32G210F128-H-01.jpg |thumb |100px |EM-32G210F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G210F128-H/ EM-32G210F128-H] für ca. 17 Euro / 22 SFr.&lt;br /&gt;
** Cortex M3 Gecko EFM32G210F128 uC &amp;lt;br&amp;gt;&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 43 x 34.5 mm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-H-01.jpg |thumb |100px |EM-32G880F128-H]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-H/ EM-32G880F128-H] für ca. 20 Euro / 25 SFr.&lt;br /&gt;
** Cortex M3 Gecko 32G880F128 uC&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (4.5-12VDC)&lt;br /&gt;
** RESET Button, User Button, Status LED, Power LED &lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 70 x 43 mm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:EFM-STK-01.jpg |thumb |100px |EM-32G880F128-STK]]&lt;br /&gt;
* das [https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/ EM-32G880F128-STK] für ca. 27 Euro / 34 SFr.&lt;br /&gt;
** Cortex M3 32G880F128 uC sowie ein Segment Display&lt;br /&gt;
** Standard JTAG Stecker mit ARM 2x10 Pin Layout zum programmieren/debuggen &lt;br /&gt;
** UEXT Buchse&lt;br /&gt;
** Li-ion Batterie Klemme, Power Jack (6-9VDC, 4.5-6VAC)&lt;br /&gt;
** RS232 Buchse und Treiber (ST3232)&lt;br /&gt;
** RESET Button, 4 User Button, Status LED, Power LED &lt;br /&gt;
** Buzzer&lt;br /&gt;
** alle uC Pins sind nach aussen geführt &lt;br /&gt;
** Abmessung: 77 x 64 mm&lt;br /&gt;
&lt;br /&gt;
==== Erhältlich ====&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ Olimex Website]&lt;br /&gt;
*auch hier erhältlich [http://thinkembedded.ch/EM-Energy-Micro:::27.html  Webshop]&lt;br /&gt;
&lt;br /&gt;
==== Energy Harvesting Kit ====&lt;br /&gt;
&lt;br /&gt;
Von Würth Electronics gibt es ein [http://www.we-online.com/web/de/electronic_components/produkte_pb/demoboards/energy_harvesting/energy_harvesting.php Energy Harvesting Kit].&lt;br /&gt;
Dieses beinhaltet ein [http://www.energymicro.com/tools/efm32-giant-gecko-starter-kit-efm32gg-stk3700 Giant Gecko Starter Kit] sowie ein  Board welches einfach an das Starter Kit angesteckt wird.   &lt;br /&gt;
&lt;br /&gt;
Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann.&lt;br /&gt;
* [https://www.youtube.com/watch?v=pQiYfp439cI Video über das Energy Harvesting Kit]&lt;br /&gt;
[[Datei:Energyharvestingkit.jpg |thumb |left |600px |Energy Harvesting Kit]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== University Program ==&lt;br /&gt;
&lt;br /&gt;
Energymicro bietet für interessierte Universitäten ein umfangreiches [http://www.energymicro.com/company/university-program-energy-micro Lernpaket] um den Umgang mit Mikrocontrollern zu erlernen.&lt;br /&gt;
&lt;br /&gt;
Es beinhaltet einerseits [http://www.energymicro.com/company/university-program-contents Kursunterlagen] auf Englisch mit entsprechenden Code Beispielen, sowie &lt;br /&gt;
10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand.&lt;br /&gt;
&lt;br /&gt;
Die [http://www.energymicro.com/company/university-program-contents Kursunterlagen] enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein.&lt;br /&gt;
&lt;br /&gt;
Die University Program Dokumente und Code Beispiele sind ebenfalls im [http://www.energymicro.com/company/university-program-contents Simplicity Studio] enthalten.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
*Samples gibt es [http://www.energymicro.com/products/samples hier]&lt;br /&gt;
*Bewerbung um ein Gratis Starter Kit (für Entwickler) [http://www.energymicro.com/freekit hier]&lt;br /&gt;
&lt;br /&gt;
Die uC selbst sowie die Starter Kits und Development Kits findet man bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.digikey.com/Suppliers/us/Energy-Micro.page?lang=en Digikey]&lt;br /&gt;
*[http://www.mouser.com/energymicro/ Mouser]&lt;br /&gt;
*[http://www.farnell.com Farnell]&lt;br /&gt;
&lt;br /&gt;
*[http://www.avnet-memec.eu/products/technology-gateways/linecard/category/mcu/linecard/energy-micro.html Avnet Memec]&lt;br /&gt;
*[http://www.glyn.de/Produkte/Mikrocontroller/ENERGY-MICRO/Produkte Glyn]&lt;br /&gt;
*[http://www.codico.com/de/ Codico]&lt;br /&gt;
&lt;br /&gt;
Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei:&lt;br /&gt;
&lt;br /&gt;
*[http://www.olimex.com/Products/ARM/EnergyMicro/ dem Hersteller Olimex]&lt;br /&gt;
*[http://thinkembedded.ch/EM-Energy-Micro:::27.html sowie hier]&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
=== Energy Micro ===&lt;br /&gt;
* [http://www.energymicro.com Webseite Energy Micro]&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 Energy Micro Youtube Kanal, Videos zu Tools, Features, etc.]&lt;br /&gt;
* [http://forum.energymicro.com/forum/41-community-projects/ Projekte mit EFM32]&lt;br /&gt;
* [http://cdn.energymicro.com/dl/documentation/doxygen/EM_CMSIS_3.0.2_DOC/emlib_tiny/html/index.html Dokumentation der EFM32 Library]&lt;br /&gt;
*[http://www.energymicro.com/company/university-program-energy-micro University Program], Lernprogramm zum uC programmieren für Einsteiger.&lt;br /&gt;
&lt;br /&gt;
=== Andere ===&lt;br /&gt;
* [http://m8051.blogspot.no/2012/11/efm32-low-power-series-part-2-low-power.html Blog über Low Power Modes der EnergyMicro uC]&lt;br /&gt;
* [https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1ihszfJAECk EEV Blog Review über Energy Micro Tiny Gecko Board]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wH6tRrPgaK8&amp;amp;feature=youtu.be&amp;amp;t=24m11s EEV Blog Review über Energy Micro Giant Gecko Board und Low Power Sharp Memory LCD]&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>Ahabakuk</name></author>
	</entry>
</feed>