Startseite Produkte Anwendungen Produkte
Hardware
Über uns / AE Technikarchiv News & Presse Kontakt  

Sie sind hier: Anwendungen >> CoLinux >> Tutorial 3. Programmierung - erste Schritte

Mini Tutorial 3: Mit CoLinux programmieren - Erste Schritte...

Inhalt:
> Ihr erstes Linuxprogramm
> Programmieren mit dem Editor von MC
> Das erste Linuxprogramm auf dem Terminal ausführen (Neu 2006-02)

Ihr erstes Linuxprogramm

CoLinux als Programm / Task unter Windows - ich gehe jetzt einmal davon aus, dass Sie sich nun von Ihrem ersten Schock erholt und schon etwas Gewöhnung bei dieser unkonventionellen Art und Weise des Linuxens gesammelt haben. Jetzt wird es Zeit ein kleines Linuxprogramm zu schreiben - das übliche, aber in der Praxis völlig nutzlose HALLO WELT.

Die einfachste Art und Weise ist es, a) sich eine Datei namens hello.c zu erzeugen, b) dort die Befehlsfolge für Hallo Welt Befehlsfolge in C zu "programmieren", d) die Datei dann mittels gcc zu compilieren - und e) anschliessend dieses erste Programm zu starten.

Da ich noch keinen Editor habe, erzeuge ich unter PuTTY die Datei hello.c auf eher ursprüngliche Art und Weise: ich lenke die Tastatureingaben in eine Datei um. Bitte geben Sie folgendes ein:

cat > hello.c
#include <stdio.h>
#include <stdlib.h>

main (void)
{
   printf ("Hallo Welt....");
}

 

Mit CTRL D beenden Sie die Eingabe und kehren zurück in die Linuxshell. Starten Sie anschliessend den gcc Compiler um das kleine C-Programm zu compilieren / übersetzen:

gcc -o hello hello.c

 

Anschliessend können Sie das Programm ausführen:

./hello

 

Das war es! Sie haben nun Ihr erstes, völlig überflüssiges Programm geschrieben, mittels Compiler übersetzt und gestartet! Herzlichen Glückwunsch! Nachstehend habe ich Ihnen das Ganze noch einmal als Screenshot aufbereitet. Allerdings habe ich meine Eingaben um ein paar DIR bzw. LS Befehle erweitert, um Ihnen zu zeigen, wie Sie aus einem hello.c das Linuxprogramm hello gebastelt haben:

Übrigens, ein Tipp auch auf die Gefahr, dass ich mich wiederhole: Verwenden Sie für diesen ersten Programmierschritt am besten die Putty / Telnet Konsole - und NICHT die CoLinux Konsole. Innerhalb der CoLinux Konsole sind nicht alle Zeichensätze aktiviert, d.h. es kann unter Umständen Probleme bei der Eingabe des Slash Zeichens \ geben. Unter Putty / Telnet haben Sie diese Schwierigkeiten nicht. 

Programmieren mit dem Midnight Commander MC

Ich möchte ehrlich sein: das obige Beispiel mit "cat > hello.c" und die nachfolgenden acht Zeilen habe ich ungefähr 10 Mal getippt, bis ich es fehlerfrei für den Screenshot hinbekommen hatte. Meine tipperischen Flüchtigkeitsfehler haben mir das Konzept ganz schön vermasselt. Kurzum: die Idee mit Tastatureingaben in eine Datei umzuleiten ist eine eher blöde Idee. Es sei denn, sie können fehlerfrei tippen. Für alle anderen: Wenn Sie sich vertippen sind Sie verloren - und hier kommt die Lösung:

Einfacher geht es, wenn Sie eingebauten Editor im Midnight Commander MC verwenden. Dann können Sie eine Datei mit der F4 EDIT Funktion bearbeiten. Der Editor im MC ist zwar noch immer nicht optimal, aber schon wesentlich komfortabler als die Eingabe über Kommandozeile. Allerdings hat er (oder ich) einen kleinen Nachteil: er (ich) kann keine neue Datei anlegen. Da können Sie sich aber mit einem kleinen Trick behelfen: Legen Sie mittels "cat > datei.c" eine 0 Byte grosse Datei an und schliessen diese mit CTRL D (STRG D) gleich wieder. Dann können Sie die neu angelegte Datei mit der F4 EDIT Funktion weiter bearbeiten. (Eine Bitte: Lassen Sie diesen Tipp bloss keinen Experten hören - aber es funktioniert! Natürlich gibt es auch noch andere Linuxeditoren. Die Dokumentation auf der CD ROM liefert weitere Beispiele...)

Das erste Linuxprogramm im Terminal ausführen

Im obigen Beispiel haben wir mit hello ein erstes kleines Linuxprogramm erstellt. Überflüssig und nutzlos - aber immerhin ein erstes kleines Programm. Unter CoLinux haben wir es auf dem PC laufen lassen. Das soll es aber nicht gewesen sein. Schließlich war die Idee ja, CoLinux für die Programmierung der Terminalsysteme zu verwenden. Also müssen wir das Programm irgendwie auf das TRM System downloaden und dort ausprobieren. (Gleichzeitig erlangen Sie somit den unschlagbaren Beweis, dass das Terminalsystem auch nur ein PC in einem anderen Design ist.)

Schritt 0: Besorgen Sie sich ein Terminal mit einem "gültigen" Linuximage
Je nachdem, welches Terminal Sie haben (TRM/816, TRM/916, TRM/920 oder andere) schauen Sie bitte in die TRM CD ROM, die Sie mit dem Startup Package erhalten haben. Installieren Sie mittels Flash File System eine TRM Imagedatei für Linux, die nach Möglichkeit keinen X-Server und keine automatisch startendende Anwendung beinhaltet. (Also nicht BDE-MINI o.ä. Am besten eignet sich die .IMG Datei, die wir unter /BASE bereitstellen. Sollten Sie eine Datei mit X-Server oder Image "erwischen", müssen Sie laufende Grafikprozesse killen, bevor Sie ihr eigenes Programm starten. Siehe Schritt 5 dieser Seite...) Informationen zum Installieren einer .IMG Imagedatei finden Sie im Kurz-Tutorial: GettingStarted @ Linux: Downloading and installing a new IMG file**.

Schritt 1: Speichern oder kopieren Sie das Programm hello in ein CoLinux Verzeichnis, das Sie von Windows aus erreichen können.
Am einfachsten geht das mit dem Midnight Commander. Speichern Sie hello z.B. in das Verzeichnis /windows.

Schritt 2: Eröffnen Sie eine FTP Verbindung zwischen Ihrem Windows PC und dem Terminal.
Starten Sie unter Windows FTP und verwenden Sie die IP Adresse des Terminals. Beispiel verwenden wir ein TRM/920 mit der IP Adresse 192.168.0.43. Hinweis für FTP: Einige FTP Clients (auf dem Desktop PC) benötigen einen Usernamen UND ein Passwort für den FTP Login. Bitte setzen Sie gfs. mit "passwd" ein Passwort für Ihren bevorzugten FTP User. Hinweis: Wenn Sie nicht wissen, wie man das Terminal mit FTP betreibt, schauen Sie bitte in die Dokumentation zum Terminal.

Schritt 3 unter FTP: Übertragen Sie das ausführbare Programm hello vom Windows PC (Verzeichnis /colinux) an das Terminal.
Suchen Sie sich dort ein Verzeichnis aus, z.B. /home.

Schritt 4: Eröffnen Sie eine PuTTY / Telnet Session auf dem Terminal.
Starten Sie unter Windows PuTTY / Telnet und verwenden dabei die IP Adresse des Terminals.

Schritt 5 unter PuTTY / Telnet: Prüfen und killen Sie bei Bedarf alle laufenden Programme auf dem Terminal.
Dieser Schritt erfordert etwas Phantasie. Je nachdem, was Sie auf dem Terminal für ein Linuximage laufen haben, kann es vorkommen, dass bereits bestimmte Programme gestartet sind, die z.B. das Displaydevice belegen. Linux kann zwar Multitasking, Sie könnten Ihr Programm "hello" einfach dazu starten - aber dann wäre es leider eher zufällig, was wirklich passiert.

Am einfachsten: Verwenden Sie unter PuTTY / Telnet den Befehl "ps -ax", um sich Informationen über laufende Prozesse und Programme anzuzeigen. Sollte z.B. ein X-Server oder bestimmte Demoanwendungen gestartet sein, werden Ihnen diese mit "ps -ax" und einer eindeutigen Prozess ID (PID) angezeigt. Verwenden Sie dann den Befehl "kill xxx" (xxx = PID), um diese Programme zu killen, BEVOR Sie hello starten. Nachstehendes Screenshot zeigt laufende Prozesse, OHNE dass ein weiteres Anwendungsprogramm aktiv ist:

Schritt 6 unter PuTTY / Telnet: Executable Flags für Ihr Programm hello setzen mit "chmod +x hello"
Verwenden Sie "ls -ls", für die Directory und um Informationen über die Flags zum Programm hello zu bekommen. Wenn Sie unter Linux ein Programm ausführen möchten, müssen die Executable Flags (x) gesetzt sein. Typischerweise müssen Sie hello ausführbar "machen", indem Sie die Flags entsprechend setzen, also z.B. mit "chmod +x hello".

Schritt 7 unter PuTTY / Telnet: Starten Sie das Programm hello auf dem Terminal: "./hello" oder "./hello > /dev/tty1"
Tippen Sie z.b. "./hello", um das Programm hello mit der BIN / Bash auszuführen. Das Programm wird auf dem Terminal ausgeführt. Sie sehen die Displayausgabe unter Putty / Telnet.


Wenn Ihnen das nicht reicht, können Sie die Textausgabe auch auf das LCD vom Terminal umleiten. Starten Sie Ihr Programm hello mit der Umleitung: "./hello > /dev/tty1". Sie sehen den Text "Hallo Welt..." nun auf dem LC Display. (Natürlich nur, wenn Sie im TRM ein Image verwenden, das einen LCD Treiber beinhaltet.) Übrigens: Manchmal ist es hilfreich, zuerst das LC Display im TRM zu löschen: "clear > /dev/tty1"

So, das war es! Ihr erstes Programm wurde unter CoLinux geschrieben und compiliert, per FTP in das TRM übertragen und dort unter Linux ausgeführt. Das Beispielprogramm "hello" gibt in der Praxis wohl eher wenig her. Sie werden anspruchsvollere Programme verwenden müssen, die Sie nach dem gleichen Prinzip erstellen, compilieren und dann auf dem TRM ausführen. Verwenden Sie die TRM CD ROM (im Startup Package), um Beispiele über weitere Software zu erhalten.

Wenn Sie die TRM Systeme hingegen lieber im Grafikmode anstatt im Textmode programmieren: Mini Tutorial 4: CoLinux mit FLTK und X-Server
Text: Hans-J. Walter
Textstand Januar 2006

** Externe Hyperlinks


Technische Angaben ohne Gewähr. Fehler und techn. Änderungen vorbehalten. Die Bilder zeigen Beispiele.
AE Systeme www.terminal-systems.de - Lösungen für Industrial IT | D-31303 Burgdorf
Tel: 05136 802421 | Fax: 05136 9776368 | info@terminal-systems.de