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:

  1. Programmkopfdokumentation, mit Titel, Funktion, Hardwareinformationen, Autor, Versionshistorie
  2. Deklarationen meist mit Anweisungen zum Einfügen von Deklarationsdatein #include
  3. einem Bereich in dem bei Bedarf globale Variablen oder Konstanten angelegt werden können
  4. die eigenen Funktionen
  5. das Hauptprogramm
  6. 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.

<

Weiter mit