Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmierung NGW100 Dipl.-Inf. Swen Habenberger 2. Februar 2009.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmierung NGW100 Dipl.-Inf. Swen Habenberger 2. Februar 2009."—  Präsentation transkript:

1 Programmierung NGW100 Dipl.-Inf. Swen Habenberger 2. Februar 2009

2 Dipl.-Inf. Swen Habenberger - Microkontroller2 02.02.2009 Überblick Projektentwicklung Basics Kommunikation mit NGW100 Konfiguration NGW100 Linux Wiederholung Hello World auf NGW100

3 Dipl.-Inf. Swen Habenberger - Microkontroller3 02.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

4 Dipl.-Inf. Swen Habenberger - Microkontroller4 02.02.2009 Projekt Milestones 1. Hello World auf dem NGW100 als Linuxanwendung 2. Kommunikation von PC mit NGW100 über TCP/IP 3. Fehlerprotokollierung 4. Fernabfrage 5. Motorenbeschaffung 6. Ansteuern der Motoren

5 Dipl.-Inf. Swen Habenberger - Microkontroller5 02.02.2009 Kommunikation mit NGW 100 2 Arten der Kommunikation mit NGW100 TCP/IP Serielle Schnittstelle 3 Arten der Datenübermittlung TCP/IP SD-Karte JTAG-Interface

6 Dipl.-Inf. Swen Habenberger - Microkontroller6 02.02.2009 Kommunikation mit NGW100 Die Kommunikation über die Serielle Schnittstelle ist gegenüber Kommunikation mit TCP/IP bevorzugt Es kann bereits im Boot-Prozess mit U-Boot interagiert werden. IP-Konfiguration erfolgt erst später

7 Dipl.-Inf. Swen Habenberger - Microkontroller7 02.02.2009 Kommunikation über TCP/IP Telnet FTP Tftp RCP SSH Scp, sftp HTTP https

8 Dipl.-Inf. Swen Habenberger - Microkontroller8 02.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

9 Dipl.-Inf. Swen Habenberger - Microkontroller9 02.02.2009 FTP Ermöglicht die Übertragung von Dateien zwischen 2 PC Unverschlüsselt, aber User/Passwort Kombination erforderlich Manchmal reicht anonymous-Zugang Auf NGW100: ProFTP

10 Dipl.-Inf. Swen Habenberger - Microkontroller10 02.02.2009 TFTP: Trivial FTP: UDP anstelle von TCP Keine Verzeichnisanzeige Keine Authentifizierung und Verschlüsselung

11 Dipl.-Inf. Swen Habenberger - Microkontroller11 02.02.2009 Remote Copie RCP kopiert Dateien über ein Netzwerk Einfacher als FTP Keine eigenen Befehle Reine Kopierfunktion Baut auf der Remote Shell auf Unsicher da nicht verschlüsselt

12 Dipl.-Inf. Swen Habenberger - Microkontroller12 02.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

13 Dipl.-Inf. Swen Habenberger - Microkontroller13 02.02.2009 Dienstkonfiguration Alle diese Dienste haben eine Konfigurationsdatei /etc/ Alle diese Dienste haben ein Start und Stop-Skript /etc/init.d Dienst nicht starten: Datei mit S am Anfang umbennen

14 Dipl.-Inf. Swen Habenberger - Microkontroller14 02.02.2009 Konfiguration IP-Adresse Die IP-Adress lässt sich unter /etc/network/interfaces konfigurieren Die Netzwerknamen lassen sich unter /etc/host* einstellen

15 Dipl.-Inf. Swen Habenberger - Microkontroller15 02.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

16 Dipl.-Inf. Swen Habenberger - Microkontroller16 02.02.2009 Wichtiges Hilfsprogramm VI: Der Texteditor :w schreiben :q verlassen A anfügen I einfügen ESC aktuellen Modus abbrechen X Zeichen löschen DD Zeilen löschen

17 Dipl.-Inf. Swen Habenberger - Microkontroller17 02.02.2009 Wichtige Befehle ls / ls –l Ps Top Rm / rmdir /mkdir Cp / mv Cat Tail echo

18 Dipl.-Inf. Swen Habenberger - Microkontroller18 02.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

19 Dipl.-Inf. Swen Habenberger - Microkontroller19 02.02.2009 Kommunikation über Serielle Schnittstelle Hyperterminal MinCom Einstellungen 115200 BAUD 8N1 Und dann ist man schon auf der Konsole

20 Dipl.-Inf. Swen Habenberger - Microkontroller20 02.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

21 Dipl.-Inf. Swen Habenberger - Microkontroller21 02.02.2009 Fragen?

22 Dipl.-Inf. Swen Habenberger - Microkontroller22 02.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

23 Dipl.-Inf. Swen Habenberger - Microkontroller23 02.02.2009 AVR32Studio Nettes Tool zum entwickeln der Software Baut auf Eclipse auf Benötigt Java zum laufen Benötigt AVR-GNU-Toolchain

24 Dipl.-Inf. Swen Habenberger - Microkontroller24 02.02.2009 KDevelop u.ä. Als Alternative bietet sich noch KDevelop oder ähnliches an Hängt von der Umgebung ab. Meist ist es sinnvoll, sich seine eigenen Makefiles zu basteln und diese in ein Shellskript zu integrieren

25 Dipl.-Inf. Swen Habenberger - Microkontroller25 02.02.2009 Hello World #include int main(int argc, char** argv){ fprintf(stdin, Hallo Welt\n); return 0; }

26 Dipl.-Inf. Swen Habenberger - Microkontroller26 02.02.2009 Compiler Avr32-linux-gcc für Linuxanwendungen AVR32-gcc für Standaloneanwendungen #Avr32-linux-gcc –o HalloWelt.exe hallowelt.c

27 Dipl.-Inf. Swen Habenberger - Microkontroller27 02.02.2009 Programmtest Kopieren auf SD-Karte Ausführen

28 Dipl.-Inf. Swen Habenberger - Microkontroller28 02.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


Herunterladen ppt "Programmierung NGW100 Dipl.-Inf. Swen Habenberger 2. Februar 2009."

Ähnliche Präsentationen


Google-Anzeigen