PIC Material MPLab Boards Programmer Assembler Programme LCD Tastatur Arithmetik C Python Betriebssystem Linux Bauchladen Anwendungen
Pfad: Startseite / Fächer / Informatik / MSR / PIC / Linux
Autor: David Poetzsch-Heffter
07.08.2006 14:27:02
1909
PICs unter Linux

PICs unter Linux

Wie man PICs unter Linux anspricht

Folgendes habe ich benutzt:

Vorweg

Textteile die man auf der Konsole eingeben muss sehen immer wie folgt aus:
<user-typ> <eingabe>
<user-typ> ist immer $ oder #. Wenn es $ ist, dann muss man als normaler User eingeloggt sein, bei # als root!

Pikdev installieren

Zunächst einmal muss man das Programm Pikdev installieren. Dazu lädt man sich das aktuelle Debian-Paket hier herunter (entweder pikdev_0.9.1-1_i386-dapper.deb oder pikdev_0.9.1-1_i386-etch.deb). Dann wird das Paket wie folgt installiert (auf der Konsole als root eingeben):
# cd <download-verzeichnis>
# dpkg -i <debian-paket>
Für <download-verzeichnis> ist natürlich das Verzeichnis anzugeben, in das man die Pakete heruntergeladen hat. Für <debian-paket> ist das heruntergeladene Paket einzusetzen.
Eventuell gibt es einige Abhängigkeitkonflikte, die z.T. durch Nachinstallieren beseitigt werden können, jedoch vermutlich nicht ganz, da die Pakete eigentlich nicht für Debian stable gemacht sind.

Wenn man Debian Sid (= unstable) hat, kann man sich soweit ich weiß auch die aktuelle Version als .tar.gz herunterladen, auf der Konsole mit cd in das Download-Verzeichnis wechseln und folgende Befehle zum installieren eingeben (als root):
# tar xzf pikdev-0.9.2-1.tar.gz
# cd pikdev-0.9.2-1
# ./configure
# make
# make install
Selbstverständlich kann man das auch mit Debian Sarge ausprobieren, bei mir gibt es dann jedoch einen Error bei make install. Desweiteren kann man auch einfach die Debian-Pakete Installieren, es gibt unter Debian unstable keine nicht erfüllten Abhängigkeiten!

Ich habe Pikdev übrigens auch auf SuSE Linux 10.0 installiert bekommen, jedoch auch mit einigen unerfüllten Abhängigkeiten. Aber es funktioniert. Benutzt habe ich dazu einfach das rpm. Dann habe ich noch versucht einige Abhängigkeiten zu beseitigen indem ich die benötigten rmp-Pakete mauell aus dem Internet heruntergeladen habe.

Pikdev konfigurieren

Trotz einiger unerfüllter Abhängigkeiten sollte Pikdev nun auch unter Debian Sarge funktionieren (bei mir tut es das). Gestartet wird es auf der Konsole wie folgt:
$ pikdev &
Das & sorgt dafür, dass Pikdev im Hintergrund gestartet wird, die Konsole also weiterhin bedient werden kann. Es werden wahrscheinlich einige Fehlermeldungen angezeigt, die aber nach eine Klick auf Ok o.ä. beendet werden können. Es sollte sich nun das Pikdev Fenster öffnen.
Um Pikdev zu konfigurieren geht man auf 'Configure' und dann 'Pikdev'. Es öffnet sich ein weiteres Fenster. Hier geht man nun auf den Menüpunkt 'Assembler'. Es gibt hier zwei Überschriften: 'Assembler' und 'Disassembler'. Um Programme auf den PIC zu schreiben ist nur erstere wichtig. Unter dieser Überschrift gibt es eine Option 'Processor'. Hier muss man seinen Prozessor auswählen (in meinem Fall ist das p16f84a). Diese Einstellung wird nun erstmal mit 'Apply' gespeichert.
Es gibt eine weitere Eigenschaft die konfiguriert werden muss. Dazu geht man auf den Menüpunkt 'Builtin Progam...'. Unter 'Standard Cards' wählt man hier 'JDM Classic' (evtl. gilt das nur bei meinem Prozessor, in diesem Fall einfach ein bisschen rumprobieren). Wieder wird mit 'Apply' zwischengespeichert. Nun muss nur noch der entsprechende Device für den Anschluss gewählt werden. Dazu geht man wieder auf die Konsole und gibt als root folgendes ein:
# ls /dev
Es wird der Inhalt des Verzeichnisses /dev angezeigt. Nun muss man sehen, entweder es gibt die Datei ('das Device') /dev/parport0 oder es gibt stattdessen /dev/ttyS0. Bei mir ist es /dev/ttyS0. Nun muss man für sein Device (also ttyS0 oder parport0) die Zugriffsrechte aus rw-rw-rw- setzen. Das geht wie folgt (wieder als root):
# chmod 666 /dev/<dein_Device>
Für <dein_Device> muss man natürlich parport0 oder ttyS0 einsetzen, je nachdem was man hat.
Jetzt können wir wieder in das Pikdev-Konfigurationsfenster gehen. Je nachdem welches Device Du hattest musst Du jetzt unter 'Port and driver selection' 'Parallel' (wenn Du parport0 hattest) oder 'Serial' (bei ttyS0) wählen. Jetzt kannst Du das ganze mit 'Ok' abschießen.

Programm assemblieren und auf den PIC schreiben

Jetzt endlich kannst du deinen PIC an deinen Computer stecken. Dann schreibst du in das leere Fenster dein Assembler-Programm und speicherst es mit File -> Save As unter 'irgendwas.asm'. Dann klickst Du im Dropdown-Menü 'Tools' auf 'Assemble' oder drückst einfach F5. Dort wo vorher Dein Quellcode stand erscheint die .hex-Datei. Dann klickst Du auf 'Tools' -> 'Program' oder drückst F6. Achtung: Hierbei muss die .hex-Datei im Fenster zu sehen sein! Es geht ein neues Fenster auf. Hier klickst Du auf 'Detect now'. Wenn unten dein Prozessorname erscheint ist es gut, denn dann hat Pikdev deinen PIC erkannt. Wenn nicht, dann probiere mal den PIC in einen anderen Anschluss einzustecken und klicke wieder auf 'Detect now'. Wenn dein PIC erkannt wurde gehst du auf 'PIC Operations' und dann 'Program PIC'. Alternativ kannst du auch Strg + P drücken. Jetzt sollte das Programm auf deinem PIC sein.

Zum Abschluss

Da unter Debian Sarge nicht alle Abhängigkeiten gelöst werden können muss man Pikdev leider immer wieder deinstallieren bevor man etwas anderes installiert, und wenn man Pikdev wieder verwenden will muss man es wieder installieren.
Eine weitere Bemerkung an alle HSG-Schüler noch:
Dank des Co-System-Admins ist auf dem HSG-Linux Pikdev bereits installiert und konfiguriert.


Written by David Poetzsch-Heffter, 29.7.2006, email: davidpoetzsch@web.de; revised: 7.8.2006

Valid XHTML 1.0! lokal