Installationsanleitung verbessert

This commit is contained in:
devfix 2019-07-08 20:58:35 +02:00
parent d0bf0bc218
commit ec650a35ef

View file

@ -24,64 +24,63 @@ Außerdem wird eine Bibliothek (*b15fdrv*) installiert, die eine einfache Entwic
### Installation von Hand (falls Installationsscript mit Fehler abbricht) ### Installation von Hand (falls Installationsscript mit Fehler abbricht)
#### 1. Abhängigkeiten installieren #### 1. Abhängigkeiten installieren
(a) **sudo apt-get update** (a) APT-Pakete aktualisieren: **sudo apt-get update**
(b) **sudo apt-get install git avr-libc avrdude libncurses5-dev g++ astyle** (b) Notwendige Pakete installieren bzw. aktualisieren: **sudo apt-get install git avr-libc avrdude libncurses5-dev g++ astyle**
#### 2. Das Repository klonen #### 2. Das Repository klonen
(a) **cd /home/famulus/** (a) Home-Verzeichnis betreten: **cd /home/famulus/**
(b) **git clone "https://github.com/devfix/b15f.git"** (b) B15F-Repository klonen (herunterladen): **git clone "https://github.com/devfix/b15f.git"**
#### 3. Die Firmware installieren #### 3. Die Firmware installieren
(a) **cd "/home/famulus/b15f/firmware"** (a) Installations-Verzeichnis betreten: **cd "/home/famulus/b15f/firmware"**
(b) Passen Sie in der Datei *Makefile* (im aktuellen Verzeichnis) die Option "MCU = ..." an die MCU des vorliegenden Boards an.
(b) Passen Sie in der Datei *Makefile* die Option "MCU = ..." an die MCU des vorliegenden Boards an **Achtung**: *atmega1284* und *atmega1284p* sind nicht identisch!
(*atmega1284* und *atmega1284p* sind nicht identisch!) (c) Schreiben Sie (mit root-Rechten) Folgendes in die Datei "*/etc/udev/rules.d/60-olimex.rules*":
(c) Schreiben Sie Folgendes in die Datei (mit root-Rechten) `/etc/udev/rules.d/60-olimex.rules`:
`ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"` `ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"`
Damit wird per udev-rule der Zugriff auf das ISP-Programmiergerät ohne root-Rechte erlaubt.
(d) **sudo udevadm control --reload-rules** (d) Laden Sie die udev-Regeln neu ein: **sudo udevadm control --reload-rules**
(e) **sudo udevadm trigger** (e) Stoße Verarbeitung der udev-Regeln an: **sudo udevadm trigger**
(f) Programmiergerät rausziehen, drei Sekunden warten, wieder hineinstecken (f) Programmiergerät rausziehen, drei Sekunden warten, wieder hineinstecken
(g) **make** (g) Kompiliere Firmware: **make**
(h) **make upload** (h) Lade Firmware auf das B15: **make upload**
#### 4. Die Steuersoftware (Bibliothek & CLI) installieren #### 4. Die Steuersoftware (Bibliothek & CLI) installieren
(a) **cd "/home/famulus/b15f/control/src"** (a) Installations-Verzeichnis betreten: **cd "/home/famulus/b15f/control/src"**
(b) **make** (b) Kompiliere Steuersoftware: **make**
(Die Warnungen durch doxygen können ignoriert werden.) (c) Installiere die Bibliothek und CLI (global): **sudo make install**
(c) **sudo make install**
## Aktualisierung ## Aktualisierung
### Aktualisierung mit Installationsscript (empfohlen) ### Aktualisierung mit Installationsscript (empfohlen)
Wiederholen Sie den Schritt "Installation mit Installationsscript". Das Script erkennt die bereits installierte Version und aktualisiert diese. Wiederholen Sie den Schritt "Installation mit Installationsscript". Das Script erkennt die bereits installierte Version und aktualisiert diese.
### Aktualisierung von Hand (falls Installationsscript mit Fehler abbricht) ### Aktualisierung von Hand (falls Installationsscript mit Fehler abbricht)
(a) **cd /home/famulus/b15f/** (a) Installations-Verzeichnis betreten: **cd /home/famulus/b15f/**
(b) **git pull --prune** (b) Neuste Software-Version vom GitHub-Server ziehen: **git pull && git pull --prune**
(c) **cd "/home/famulus/b15f/firmware"** (c) Betrete Firmware-Verzeichnis: **cd "/home/famulus/b15f/firmware"**
(d) **make clean** (d) Lösche altes Kompilat der Firmware: **make clean**
(e) **cd "/home/famulus/b15f/control/src"** (e) Betrete Steuersoftware-Verzeichnis: **cd "/home/famulus/b15f/control/src"**
(f) **make clean** (f) Lösche altes Kompilat der Steuersoftware: **make clean**
(g) "Installation von Hand" ab Schritt 3 durchführen (g) "Installation von Hand" ab Schritt 3 (g) durchführen
## Die CommandLineInterface (CLI) benutzen ## Die CommandLineInterface (CLI) benutzen
(a) Öffnen Sie ein Terminal und maximieren Sie das Fenster (a) Öffnen Sie ein Terminal und maximieren Sie das Fenster
(b) Start des CLI erfolgt durch **b15fcli** (b) Start des CLI erfolgt durch den Befehl **b15fcli**
(c) Die Navigation erfolgt durch <Tab>, die Pfeiltasten und <Enter> oder die Maus (c) Die Navigation erfolgt durch <Tab>, die Pfeiltasten und <Enter> oder die Maus
(d) Mit <Strg + c> kann das Programm sofort verlassen werden (d) Mit <Strg + c> kann das Programm sofort verlassen werden
## Eigene Programme mit B15F schreiben ## Eigene Programme mit der B15F-Bibliothek schreiben
### Grundsätzliches ### Grundsätzliches
Verwendet wird die Bibliothekt *b15fdrv*. Verwendet wird die Bibliothekt *b15fdrv*.
Die wichtigste Klasse für die Steuerung des Board 15 ist [B15F](https://devfix.github.io/b15f/html/classB15F.html). Die wichtigste Klasse für die Steuerung des Board 15 ist [B15F](https://devfix.github.io/b15f/html/classB15F.html).
Dort befindet sich auch eine Übersicht der verfügbaren Befehle. Dort befindet sich auch eine Übersicht der verfügbaren Befehle.
Hinweise zur Struktur (sind für die Verwendung nicht weiter wichtig):
Die Header-Dateien sind global unter */usr/include/b15f/* installiert. Die *b15fdrv*-Bibliothekt befindet sich in dem Verzeichnis */usr/lib/* und die ausführbaren Programme (plotty, b15fcli) */usr/bin/*.
### Beispiele ### Beispiele
In dem Verzeichnis [b15f/control/examples](https://github.com/devfix/b15f/tree/master/control/examples) sind einige Beispiele für die Verwendung einzelner B15F Funktionen. In dem Verzeichnis [b15f/control/examples](https://github.com/devfix/b15f/tree/master/control/examples) (des Repositories) sind einige Beispiele für die Verwendung einzelner B15F Funktionen.
Zu jedem Beispiel gehört eine *main.cpp* mit dem Quellcode und eine *Makefile*-Datei. Durch das Makefile wird beim Kompilieren und Linken die Bibliothek *b15fdrv* automatisch einbezogen. Zu jedem Beispiel gehört eine *main.cpp* mit dem Quellcode und eine *Makefile*-Datei. Durch das Makefile wird beim Kompilieren und Linken die Bibliothek *b15fdrv* automatisch einbezogen.
Das Beispiel muss durch Sie also nur mit **make** kompiliert und mit .**/main.elf** gestartet werden. Das Beispiel muss durch Sie also nur mit **make** kompiliert und mit .**/main.elf** gestartet werden.
@ -91,7 +90,7 @@ Benötigt wird der B15F-Header:
und der Header für die plottyfile-Generierung, falls mit Kennlinien gearbeitet werden soll: und der Header für die plottyfile-Generierung, falls mit Kennlinien gearbeitet werden soll:
`#include <b15f/plottyfile.h>` `#include <b15f/plottyfile.h>`
Für die Interaktion wird eine Referenz auf die aktuelle Treiberinstanz gespeichert: Für die Interaktion wird eine Referenz auf die aktuelle Treiberinstanz benötigt:
`B15F& drv = B15F::getInstance();` `B15F& drv = B15F::getInstance();`
Falls noch keine existiert, wird automatisch eine erzeugt und Verbindung zum Board hergestellt. Falls noch keine existiert, wird automatisch eine erzeugt und Verbindung zum Board hergestellt.