Programmierung NGW100 Dipl.-Inf. Swen Habenberger 2. Februar 2009.
-
Upload
engel-mossholder -
Category
Documents
-
view
106 -
download
0
Transcript of Programmierung NGW100 Dipl.-Inf. Swen Habenberger 2. Februar 2009.
Programmierung NGW100
Dipl.-Inf. Swen Habenberger
2. Februar 2009
Dipl.-Inf. Swen Habenberger - Microkontroller
202.02.2009
Überblick
Projektentwicklung Basics
Kommunikation mit NGW100Konfiguration NGW100
Linux Wiederholung
Hello World auf NGW100
Dipl.-Inf. Swen Habenberger - Microkontroller
302.02.2009
Gemeinsames Projekt bis Ende der Vorlesungszeit Steuerung eines Motors / mehrerer
Motoren über TCP/IP Inklusive Fehlerprotokollierung auf SD-
Karte Und Fernabfrage wie Web-Interface Als Linuxanwendung
Dipl.-Inf. Swen Habenberger - Microkontroller
402.02.2009
Projekt Milestones
1. Hello World auf dem NGW100 als Linuxanwendung
2. Kommunikation von PC mit NGW100 über TCP/IP
3. Fehlerprotokollierung4. Fernabfrage5. Motorenbeschaffung6. Ansteuern der Motoren
Dipl.-Inf. Swen Habenberger - Microkontroller
502.02.2009
Kommunikation mit NGW 100
2 Arten der Kommunikation mit NGW100TCP/IPSerielle Schnittstelle
3 Arten der DatenübermittlungTCP/IPSD-KarteJTAG-Interface
Dipl.-Inf. Swen Habenberger - Microkontroller
602.02.2009
Kommunikation mit NGW100
Die Kommunikation über die Serielle Schnittstelle ist gegenüber Kommunikation mit TCP/IP bevorzugtEs kann bereits im Boot-Prozess mit U-Boot
interagiert werden. IP-Konfiguration erfolgt erst später
Dipl.-Inf. Swen Habenberger - Microkontroller
702.02.2009
Kommunikation über TCP/IP
Telnet FTP
Tftp
RCP SSH
Scp, sftp
HTTP https
Dipl.-Inf. Swen Habenberger - Microkontroller
802.02.2009
Telnet
Übertragung ist unverschlüsselt Nur bedingt im Produktivsystem einsetzbar Für Entwicklunsgumgebungen einfach, da nur
geringer Overhead
Ist bei Windows und Linux-Betriebssystem standardmässig vorinstalliert
Virtuelle Konsole auf dem Zielrechner Keine Dateiübertragung zum Zielrechner
Dipl.-Inf. Swen Habenberger - Microkontroller
902.02.2009
FTP
Ermöglicht die Übertragung von Dateien zwischen 2 PC
Unverschlüsselt, aber User/Passwort Kombination erforderlichManchmal reicht anonymous-Zugang
Auf NGW100: ProFTP
Dipl.-Inf. Swen Habenberger - Microkontroller
1002.02.2009
TFTP: Trivial FTP:
UDP anstelle von TCP Keine Verzeichnisanzeige Keine Authentifizierung und
Verschlüsselung
Dipl.-Inf. Swen Habenberger - Microkontroller
1102.02.2009
Remote Copie
RCP kopiert Dateien über ein Netzwerk Einfacher als FTP
Keine eigenen BefehleReine Kopierfunktion
Baut auf der Remote Shell auf Unsicher da nicht verschlüsselt
Dipl.-Inf. Swen Habenberger - Microkontroller
1202.02.2009
Secure Shell (SSH)
SecureShell übermittelt die Daten verschlüsselt Sichervariante von
ftp: sftp rcp: scp telnet: ssh
Auf NGW100: Dropbear Unter Windows: putty
Dipl.-Inf. Swen Habenberger - Microkontroller
1302.02.2009
Dienstkonfiguration
Alle diese Dienste haben eine Konfigurationsdatei /etc/
Alle diese Dienste haben ein Start und Stop-Skript /etc/init.dDienst nicht starten: Datei mit S am Anfang
umbennen
Dipl.-Inf. Swen Habenberger - Microkontroller
1402.02.2009
Konfiguration IP-Adresse
Die IP-Adress lässt sich unter /etc/network/interfaces konfigurieren
Die Netzwerknamen lassen sich unter /etc/host* einstellen
Dipl.-Inf. Swen Habenberger - Microkontroller
1502.02.2009
Busybox
Enthält die wichtigsten Programme der GNU-fileutils und GNU-shellutils in einer abgespeckten Version
Besteht aus einem Kernel, ein paar Einstellungen in etc und ein Paar Devices in /dev
Dipl.-Inf. Swen Habenberger - Microkontroller
1602.02.2009
Wichtiges Hilfsprogramm
VI: Der Texteditor :w schreiben :q verlassenA anfügen I einfügenESC aktuellen Modus abbrechenX Zeichen löschenDD Zeilen löschen
Dipl.-Inf. Swen Habenberger - Microkontroller
1702.02.2009
Wichtige Befehle
ls / ls –l Ps Top Rm / rmdir /mkdir Cp / mv Cat Tail echo
Dipl.-Inf. Swen Habenberger - Microkontroller
1802.02.2009
Weitere wichtige Dinge
Shellskripte Ersparen Zeit bei häufigeren aufrufen der selben
Befehle Ermöglichen das Starten/Stoppen von diensten
Makefiles Erleichtern das Übersetzen/Installieren/Deinstallieren
von Programmen beim Programmieren
Dipl.-Inf. Swen Habenberger - Microkontroller
1902.02.2009
Kommunikation über Serielle Schnittstelle Hyperterminal MinCom
Einstellungen 115200 BAUD 8N1
Und dann ist man schon auf der Konsole
Dipl.-Inf. Swen Habenberger - Microkontroller
2002.02.2009
Einbinden der SD-Karte
#mount –t vfat /dev/mmcblk0p1 /media
Oder als Alternative Durchreichen: #Umount /dev/mmcblk0p1 #Modprobe g_file_storage file=/dev/mmcblk0
removable=1 benutzen #Rmmod g_file_storage
Dipl.-Inf. Swen Habenberger - Microkontroller
2102.02.2009
Fragen?
Dipl.-Inf. Swen Habenberger - Microkontroller
2202.02.2009
Programmieren
Für eine Linuxanwendung muss als Ausgangssystem ein Linux vorhanden sein Cygwin würde theoretisch genügen, aber in der
Praxis funktioniert es nicht
Vmware-Image von Atmel benutzen (Ubuntu) mit avr32 als Benutzername und Passwort
Linux installieren Eigenes Image-erstellen
Dipl.-Inf. Swen Habenberger - Microkontroller
2302.02.2009
AVR32Studio
Nettes Tool zum entwickeln der Software Baut auf Eclipse auf
Benötigt Java zum laufen Benötigt AVR-GNU-Toolchain
Dipl.-Inf. Swen Habenberger - Microkontroller
2402.02.2009
KDevelop u.ä.
Als Alternative bietet sich noch KDevelop oder ähnliches anHängt von der Umgebung ab.
Meist ist es sinnvoll, sich seine eigenen Makefiles zu basteln und diese in ein Shellskript zu integrieren
Dipl.-Inf. Swen Habenberger - Microkontroller
2502.02.2009
Hello World
#include <stdio.h>
int main(int argc, char** argv){
fprintf(stdin, „Hallo Welt\n“);
return 0;
}
Dipl.-Inf. Swen Habenberger - Microkontroller
2602.02.2009
Compiler
Avr32-linux-gcc für Linuxanwendungen AVR32-gcc für Standaloneanwendungen
#Avr32-linux-gcc –o HalloWelt.exe hallowelt.c
Dipl.-Inf. Swen Habenberger - Microkontroller
2702.02.2009
Programmtest
Kopieren auf SD-Karte Ausführen
Dipl.-Inf. Swen Habenberger - Microkontroller
2802.02.2009
Warum fprintf und nicht printf?
Stdin, stderr und stdout sind die Standardausgaben
Printf(„text“); arbeitet intern wie fprintf(stdout, „text“);
Eingabeumlenkung in Datei zu Protokollzwecken