IDE für STMicrokontroller

Es gibt zwei Hauptkategorien von STMicrocontrollern: 8-Bit-Prozessoren oder die 32-Bit-Prozessoren.

STM8

Ist Soft- und Hardware, die sich auf den 8-Bit-Prozessor bezieht. Die IDE ist ST Visual Develop.

Diese IDE erinnert stark an die Anfänge von IDEs und macht nicht wirklich Spass, sie zu gebrauchen.

 

STM32

Viele  Hard- und somit auch Software bezieht sich auf diesen Prozessorentyp, der mit 4 Bytes rechnet.

Zu diesem Prozessor gibt es mehrere IDEs: Bis jetzt arbeitete ich nur mit Keil und mit Atollic True Studio.

Zu dieser IDE gibt es super Plug-Ins. Wie z. B. das STM-Cube.

Grundbegriffe Fotographie

Blende oder Bildschärfe

Die Bildschärfe bezeichnet wie viel Bildfläche scharf dargestellt wird.
Die Schärfe wird an den Kanten der Objekte sichtbar. Was sind klare Grenzen, was ist scharf. Die maximale Schärfe hängt auch vom ISO-Wert ab.

  • Ein grosser Blendewert ist z. B. 11 oder 13.
    Dies bewirkt, dass eine grössere Fläche im Bild geschärft wird.
    Es bedingt eine gute Belichtung (viel Licht).
  • Ein kleiner Blendewert ist 2 oder 2.5.
    Dies bewirkt, dass nur ein kleiner Teil des Bildes scharf ist.
    Wenig Umgebungslicht ist no/twendig.
  • Je grösser die Distanz zum Objekt, desto mehr Bildschäfe entsteht.
    Will man eine breite Schärfe, so sollte man von möglichst weit weg aufnehmen.

ISO

Bezeichnet die Körnigkeit bzw. die Auflösung des Bildes.

  • Ein tiefer Wert ist 400. Das Bild erscheint körnig
  • Ein höherer Standard ist 3200. Keine Körnigkeit mehr sichtbar.

Belichtung oder Verschlusszeit

  • Je länger das Bild belichtet ist, desto eher ist es verwackelt.
  • Je kürzer das Bild belichtet wird, desto dunkler wird es

 

Eclipse: Plattform-spezifisch kompilieren

Innerhalb eines Projektes kann plattform-spezifisch kompiliert werden. Für jede neue Build-Einheit entsteht ein neuer „Debug“-Ordner.

Auswahl, für welche Plattform kompiliert werden soll
Projektordner>Properties/C/C++Build auswählen:
Unter Configuration: Auswählen der korrekten Plattform

Neue Plattform hinzufügen
Projektordner>Properties/C/C++Build auswählen:
Unter Configuration: Den rechten Knopf „Manage Configurations..“ auswählen und die neuen Build-Einstellungen aufsetzen.

Der Name, der die Build-Konfiguration erhält, dient innerhalb des Projektes als Ordnername.

 

 

Git Basics: checkout – der aktuelle Zustand, auf den sich Änderungen beziehen

Das Verzeichnis befindet sich in einem Zustand. Dieser hat eine Commit-Nummer. Dieser Ort wird mit checkout benannt. Der Head-Pfeil zeigt immer auf die aktuell gültige Zustandsversion.

Bild 1 zeigt, dass der aktuelle Zustand des git Verzeichnisses 111 ist und dass Änderungen vorgenommen wurden.

git

 

Bild 2 zeigt, dass wenn Änderungen übermittelt werden, checkout sich auf den neuen Commit bezieht. Auch der Head zeigt zum neuen Commit.

Konsolenbefehl mit Argumenten

Werden in der Konsole Argumente mitgegeben

./video 50070 -1                    // [port] [dumped]

so müssen diese im Executable verarbeitet werden.

int main(int argc, char *argv[]) {

   // set configruations

    if (argc > 1) {
        Port = atoi(argv[1]);
        ....
    }

    if(argc > 2) {
       if (atoi(argv[2]) == -1) {
          ..  // open dumped-file
        }
       else if (atoi(argv[2]) == 1) {
          ..  // open ...
        }
    }

 

 

 

 

 

 

shell / ./ . etc

/

cd /Verzeichnis/

Der Pfad beginnt  „ab root“

————————————————————————————-

./

./temp/

Bedeutet, dass der Pfad im „aktuellen Verzeichnis“ beginnt.
./ ist gleichbedeutet mit ganz weglassen:  temp/

————————————————————————————-

.

Ist keine Pfadangabe. Der Punkt versteckt die Datei.

 .datei.txt       -> unsichtbare Datei

Booten

Notwendige Dateien

preloadImage.bin                 // falls doppel-Boot
fpgaSystem.rbf                     // binäre Systemdatei
socfpga.dtb                           // device Tree
U-Boot.scr                            // script bootloader
zImage                                  // Yocto-Ergänzungen

Die Images können z.B. mit Bitbake (yocto) erstellt werden.