Grundstruktur in C für das MM32 Board Light
Einfache embedded C Programme bestehen oft nur aus einer *.c Datei mit der folgenden typischen Struktur:
- Programmkopfdokumentation, mit Titel, Funktion, Hardwareinformationen, Autor, Versionshistorie
- Deklarationen meist mit Anweisungen zum Einfügen von Deklarationsdatein #include
- einem Bereich in dem bei Bedarf globale Variablen oder Konstanten angelegt werden können
- die eigenen Funktionen
- das Hauptprogramm
- Interrupt-Service-Routinen
Vorgehensweise:
- SiSy Projekt anlegen, Projektprofil ARM
- keine Vorlage aus dem LibStore
- kleines Programm aus der Objektbibliothek
//--------------------------------------------------------------------------- // Title : Basic main code pattern of a simple ARM C application in SiSy //--------------------------------------------------------------------------- // Function : ... // Wiring : ... //--------------------------------------------------------------------------- // Hardware : ... // Clock : ... MHz // Language : ARM C // Date : ... // Version : ... // Author : ... //--------------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" // -------------------------------------------------------------------- // hier bei Bedarf globale Variablen definieren // -------------------------------------------------------------------- // ab hier eigene Funktionen die benötigt werden void initApplication() { // config 10ms SystemTimer SysTick_Config(SystemCoreClock/100); // user initializations here } // -------------------------------------------------------------------- // nach den Funktionen das eigentliche Hauptprogramm int main(void) { SystemInit(); initApplication(); do{ // main loop // hier kann die Anwendungslogik programmiert werden // Eingabe -> Verarbeitung -> Ausgabe } while (true); return 0; } // -------------------------------------------------------------------- // Interrupt-Behandlungs-Routinen können hier nach dem Hauptprogramm // oder auch bei den Funktionen programmiert werden extern "C" void SysTick_Handler(void) { // Application SysTick default 10ms } //------------------------------------------------------------------------------
Test
An dieser Stelle wird im Tutorial jeweils das Testen der Anwendung beschrieben. Nutzen sie die Schaltflächen Kompilieren, Linken und Brennen. Bis jetzt macht unser Mikrocontroller noch gar nichts. Wir haben ja ein leeres Programm auf den Controller übertragen.
Videozusammenfassung
Hier dieser Abschnitt als kleine Videozusammenfassung zum nochmal Drüberschauen.
<