Das Xmc2Go
Das XMC2Go ist vielleicht das kleinste ARM-Evaluationboard der Welt. Der XMC1100 Controller ist einer der neusten in der XMC Familie. Stromsparend, leistungsfähig und preiswert sind die Attribute der neusten XMC.
- Mikrocontroller XMC1100 im VQFN24 Gehäuse
- 32 Bit ARM Cortex-M0 Kern
- 64 KByte Flash
- 32 MHz
- 3 LEDs
- 1 für USB Kommunikation/Programmierung/Debug-LED/Power
- 2 frei verfügbare LEDs für den Anwender
- Segger J-Link lite Programmer onboard
Beschaffung: XMC-Produkte
Schnelleinstieg mit dem XMC1100 Boot Kit
- SiSy starten
- neues Projekt anlegen, Profil ARM Vorgehensmodell auswählen
- keine Vorlage aus dem Libstore wählen
- kleines Programm anlegen, Zielsprache ARM C++, Ziel Hardware XMC1100 Boot Kit mit JLink
- Grundgerüst laden
//---------------------------------------------------------------------- // Titel : Grundgerüst einer einfachen ARM C Anwendung in SiSy //---------------------------------------------------------------------- // Funktion : ... // Schaltung : ... //---------------------------------------------------------------------- // Hardware : XMC2Go // MCU : XMC1100 // Takt : 32 MHz // Sprache : ARM C // Datum : ... // Version : ... // Autor : ... //---------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" void initApplication() { SysTick_Config(SystemCoreClock/100); // weitere Initialisierungen durchführen } int main(void) { SystemInit(); initApplication(); do{ // Eingabe // Ausgabe // Verarbeitung } while (true); return 0; } extern "C" void SysTickFunction(void) { // Application SysTick }
Blinky
//---------------------------------------------------------------------- // Titel : Beispiel Blinky für das XMC2Go //---------------------------------------------------------------------- // Funktion : lässt eine LED blinken // Schaltung : LED an Port1 Bit0 //---------------------------------------------------------------------- // Hardware : XMC2Go // MCU : XMC1100 // Takt : 32 MHz // Sprache : ARM C // Datum : 17.04.2014 // Version : 1 // Autor : Alexander Huwladt //---------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" void initApplication() { // config auf 10ms SystemTimer SysTick_Config(SystemCoreClock/100); // weitere Initialisierungen durchführen // Port 1 Input Output Control Register, Bit 0 = OUT PORT1->IOCR0 |= (GPIO_OUTPUT_TYPE_PUSH_PULL<<0*8); } int main(void) { SystemInit(); initApplication(); do{ // Port 1 Output Register, Bit 0 = 1 PORT1->OUT |= BIT0; // 1. Halbzyklus waitMs(200); // Port 1 Output Register, Bit 0 = 0 PORT1->OUT &= ~BIT0; // 2. Halbzyklus waitMs(200); } while (true); return 0; } extern "C" void SysTick_Handler(void) { // Application SysTick default 10ms } //------------------------------------------------------------------------------
Übersetzen, übertragen und testen
Die Programme sind getestet und können sofort übersetzt (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen).