Forum: Mikrocontroller und Digitale Elektronik PIC-programmer Linux


von Ramack (Gast)


Lesenswert?

Hallo zusammen,

könnt ihr mir einen PIc-progarmmer empfehlen, für den es eine simple 
Linuxsoftware zum programmieren gibt?
Hintergrund ist, dass einige Versuche mit dem Parallel-Board (müsste 
wohl ein Trivial LVP programmer sein) war ich erfolglos, da die 
Parallel-port Karte die ich gekauft hatte nicht mit der probierten 
Software zusammenarbeitet. Ein kurzerhand zusammengelöteter JDM-style 
programmer tut auch nicht und dazu kommt, dass der RS232-port meines 
Rechners nicht herausgeführt ist. Meine Güte, bin ich genervt! - Darum 
vergebt mir, wenn ich nur zu doof war den Link den es hier vielleicht 
irgendwo gibt zu finden und stoßt mich nochmal mit der Nase drauf.

Am liebsten wäre mir ein Programmer der an USB angeschlossen werden kann 
und ein simples commandline interface hat. (pikdev tut nicht mehr unter 
ubuntu 11.10 ;-(

Grüße,
Rapha

von No Y. (noy)


Lesenswert?

Ich würd mir ein PICKIT3 holen bei Microchip kannst du als 
Student(sofern du einer bist) auch Rabatt bekommen. Ist zudem noch ein 
Debugger und läuft mit USB. Das neue MPLAB X was rauskommt (beta ist 
schon draußen und läuft am MAC wundervoll) ist auch für Linux geeignet. 
Zudem unterstützt das PICKIT3 alle PIC's.

von Frank K. (fchk)


Lesenswert?

genau. Diese ganzen "Brenner" sind von gestern.

fchk

von felix (Gast)


Lesenswert?

Zu empfehlen ist der PICkit2. Ist ein super Teil, USB, und Linux Support 
über PK2CMD (von Microchip Website) oder MPLAB in wine.
Ist mit ~50€ wohl etwas teurer wie Marke Eigenbau, aber ich finde es 
lohnt sich.

von felix (Gast)


Lesenswert?

Felix S. war wohl schneller wie ich bzgl. PICKit, dazu muss man aber 
sagen dass es für das PICKit3 (so weit ich weiß) kein Linux Command Line 
Interface gibt. Sonst stimme ich Felix S. komplett zu.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ramack schrieb:
> Hintergrund ist, dass einige Versuche mit dem Parallel-Board (müsste
> wohl ein Trivial LVP programmer sein) war ich erfolglos, da die
> Parallel-port Karte die ich gekauft hatte nicht mit der probierten
> Software zusammenarbeitet.

Software selbst schreiben?  Das habe ich zumindest seinerzeit so
gemacht für einen derartigen simple programmer.  Ist zwar unter
FreeBSD, sollte aber kein wirklich großer Unterschied zu Linux
sein.  Du müsstest halt /dev/parport und seine ioctls statt des
/dev/ppi von FreeBSD nehmen.

Vor 5 Jahren habe ich das Ding nochmal um einen 12F508 erweitert
(anfangs war er für einen 16F84), aber ansonsten habe ich mit PICs
nichts mehr getan.

Würde wohl ansonsten deine Forderung nach einer einfachen
Kommandozeilensoftware erfüllen. ;-)

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Felix S. schrieb:
> Zudem unterstützt das PICKIT3 alle PIC's.

Das ist nich tganz korrekt...
Richtigerweise müsste man schreiben alle "modernen" PIC´s
Die ganz alten Typen mit C in der Produktbezeichnung werden (ausser 
evtl. die 16C83,16C84, müsste nachsehen...) werden nicht Unterstützt. 
Diese haben noch einen echten Eprom als Programmspeicher. Sind aber 
schon gut 10Jahre nicht mehr aktuell.

Ansonsten ist schon alles gesagt. Es lohnt sich einfach nicht auch nur 
noch einen Gedanken an Fremdprodukte oder Selbstbaubrenner zu 
verschwenden. Diese waren Sinnvoll zu den Zeiten wo die 
Programmiergeräte noch ettliche hundert DM gekostet haben. Heute sind 
die einfachen originalen Programmiergeräte teilweise sogar billiger als 
Fremdprodukte oder gar Selbstbau wenn man die Teilebeschaffung 
mitrechnet.

Das gilt insbesondere für die PICKIT3, diese sind original ab etwa 30-40 
Euro zu bekommen, als 100% Funktionsfähiger Clone für ab 20 Euro.
Die Geräte sind robust, laufen Problemlos an USB sofort ohne große 
Konfigurationsspielereien direkt in der Entwicklungsumgebung. Ohne 
Treiberprobleme oder ähnlichen. Neue PICs werden regelmäßig eingebunden. 
Die Microchip Entwicklungsumgebung gibt es sowohl in einer VErsion für 
Windows, Linux und auch für den MAC.

Als Bonus kann man mit diesen PK3 auch noch viele PIC typen zur Laufzeit 
debuggen.

Gruß
Carsten

von stephan_ (Gast)


Lesenswert?

Naja, es gibt durchaus Hobbyisten, die wollen auch ihre Brenner selbst 
bauen, dafür muss man Verständnis haben. Für die eignen sich die Brenner 
von sprut.de, da gibt es die brenner8 bzw. brenner9, die laufen mit der 
Software usburn auch unter Linux. sprut unterstützt fast alle PICs 
ausser PIC32.

von Ramack (Gast)


Lesenswert?

oh, ihr seid super. Danke. Dass Brenner out sind und Debugger in, ist
klar. Aber für mein aktuelles Projekt wäre ein Brenner ausreichend. Die
Software wird nicht soo kompliziert. - Und zur Not habe bei der Arbeit
Zugriff auf Debugger. Darum wollte ich den Brenner den ich noch aus
Schulzeiten habe wieder nutzen.
Pickit 3 scheint eine ernste Alternative zu sein, wenn das mit MPLAB-X
auf nem Linux anständig funktioniert. - Gibt es da Erfahrungen? Die
Software habe ich mal runtergeladen und die tut auch. Bleibt nur zu
hoffen, dass es mit dem USB-Zeugs alles klappt.
Es muss nicht unbedingt ein Kommandiozeilentool dafür geben, mit nem
richtigen Debugger komme ich auch klar ;-)
@Jörg: SW selsbt schreiben ist sicherlich eine Möglichkeit, und sollte
kein technisches Problem darstellen, aber ich habe gerade nicht den Nerv
und die Motivation da viel Zeit rein zu investieren. - Ich will lieber
meine Anwendung machen und nicht so viel drumrum Zeit verbraten. - HAbe
ich schon genug gemacht.

Also nochmals vielen Dank an alle, und wenn ich nichts negatives höre,
werde ich wohl den Pickit3 holen. - Die Controller mit "echtem" Speicher
sind für mich jetzt nicht soo relevant ;-) - Wenngelich doch der Hinweis
gut war, danke Carsten.

Noch was anderes: Habt Ihr Erfahrung mit Debuggen von den kleineren
Controllern? Geht das bei allen PICs mit vollem Funktionsumfang? Oder
gibts da Einschränkungen?

Grüße,
Rapha

P.S.: Mist, blamiert. Ich war zu doof zum Antworten. Das gehört 
natürlich hier her und nicht in einen neuen Thread ;-(

von Dominik (Gast)


Lesenswert?

felix schrieb:
> Felix S. war wohl schneller wie ich bzgl. PICKit, dazu muss man aber
> sagen dass es für das PICKit3 (so weit ich weiß) kein Linux Command Line
> Interface gibt. Sonst stimme ich Felix S. komplett zu.

Kann das jemand bestätigen? Funktioniert PK2CMD nicht mit dem PICKit3?
Und gibt es MPLAB jetzt auch wirklich für Linux? Braucht man dann PK2CMD 
noch, oder kann MPLAB das PICKit2/3 nutzen?

Und viel wichtiger für: Unterstützt das PICKit2/3 auch das HV brennen? 
Ich möchte nämlich weiterhin ALLE Pins meiner PICs für I/O nutzen 
können! Ich meine mich zu erinnern, dass das nicht möglich ist mit 
LV-Programming, weil dann ein I/O-Pin blockiert ist? Ich setze z.B. beim 
PIC16F628 immer die Flags _LVP_OFF und _MCLRE_OFF, um die entsprechenden 
beiden I/O-Pins auch nutzen zu können.

Hintergrund: Ich nutze noch einen Sprut-Brenner5. Da ich keine (echte) 
parallele Schnittstelle an meinem Alltagsrechner habe, nutze ich dafür 
immer ein altes Notebook. Das ist sehr nervig und ich hätte gerne einen 
USB-Brenner, der unter Linux, insbesondere unter Pikdev unterstüzt wird. 
Mit Hilfe von PK2CMD soll das zumindest gehen mit dem PICkit2. Würde 
aber gerne ein PICKit3 kaufen, da der Preisunterschied zum PICKit2 
maginal ist. Wenn allerdings nur der PICKit2 mit PK2CMD funktioniert, 
muss ich wohl doch zu jenen älteren Modell greifen. Wenn die aber gar 
kein HV-Brennen unterstützen hätte sich die Sache eh erledigt und ich 
müsste wohl zwangsweise bei meinem alten Notebook bleiben...

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

also MPLAB unterstützt immer noch "ALLE" Originalen Microchip 
Programmiergeräte in vollem Umfang. Selbst das uralte PicStart
Damit selbstverständlich auch die PicKIT 1-3.
Sowohl für Programmierung wie auch für Debugging.

Das PicKit3 unterstützt auch die HV Programmierung, genaugenommen ist es 
die Standartmethode. das LV Programming ist die Ausnahme für Schaltungen 
in denen die höhere Programmierspannung nicht verwendet werden darf -
Oder aber für Schaltungen die sich selber Programmieren können sollen 
und wo man den Aufwand nicht treiben will.

Leider sind nicht alle PICs voll Debugfähig.
Es gibt insgesamt vier Varianten:
1. PICs die man nicht Debuggen kann und für die es keine HEaderboards 
gibt.
2. PICs wo man die Serien-PICs nicht Debuggen kann aber es Debug-HEader 
gibt.
3. PICs wo auch mit Serien-ICs das Debugging funktioniert, es aber 
spezielle DEBUG Header optional gibt um ohne Pinverlust debuggen zu 
können wenn die sonst für das Debugging genutzten I/Os von der Anwendung 
benötigt werden.
4. PICs wo es NUR mit Serienpics mit Debugging gibt, aber keine 
Debug-HEader mehr verfügbar sind. (Dann sind aber oft Varianten 
verfügbar die spezielle ICSP Pins haben die gar keine IOs sind, oder 
aber wenn es Varianten sind die sowohl im DIP wie auch im TFQP Gehäuse 
zu bekommen sind ist die ICSP Schnittstelle auf die "überzähligen" PINS 
bei den TQFP GEhäusen umschaltbar die sonst NC währen.

Was nun für seinen PIC zutrifft muss man selber in den jeweiligen Listen 
nachsehen. ISt abe rauch in MPLAB gelistet. Bei den neueren 16F und wohl 
so gut wie allen 18F PICs dürfte fall drei oder vier der Fall sein.

Bei KLEINEN Pics mit wenigen Anschlussbeinchen ist meist Variante 2 der 
Fall.

Wenn man aber einen Debug-Header braucht ist das auch kein "riesen" 
Problem. Die Kosten weniger als 20Euro, sofern man nicht 10 verschiedene 
PIC Varianten pro Monat bearbeitet kein Problem.

(Die Debug HEader sind einfach der jeweilige ZielPIC in größerem Gehäuse 
auf einem Modul. Das Modul wird in die Fassung der Zielhardware anstelle 
des normalen PICs gesteckt, der ICSP/Debuganschluss kommt direkt an das 
Modul.)

Zu PK2CMD kann ich dir leider nichts sagen. HAbe meine 
Linuxspielereeinen vor JAhren aufgegeben... Der Computer ist nur noch 
Mittel zum Zweck und ich habe die Erfahrung gemacht das FÜR MEINE Zwecke 
Windows einfach schneller zum Ziel führt.

Gruß
Carsten

von Dominik (Gast)


Lesenswert?

Danke Carsten,
dann wäre der Punkt HV-Programmierung schon mal geklärt. Dachte irgendwo 
gelesen zu haben, dass der PICKit-Programmer ein reiner LV-Programmer 
sei.

Wäre nett, wenn sich noch jemand zu Wort melden kann, der Linux nutzt. 
Und vielleicht eine der folgenden Fragen beantworten kann:

1. läuft der PICKit3 auch mit PK2CMD
2. Soll es MPLAB wirklich demnächst (oder jetzt schon - hab's nicht 
gefunden) nativ unter Linux geben?

Ich will sowieso erst mal bei meiner gewohnten simplen 
Entwicklungsumgebung (pikdev) bleiben. Die kann bisher nur über PK2CMD 
brennen - zumindest mit dem PICKit2 als einzig angegebenen USB-Brenner. 
Bisher habe ich auch ohne Echtzeit-Debugger immer schnell Fehler 
gefunden mit Hilfe von Oszi/Multimeter und temporären Indikatorausgängen 
an  entsprechenden Programmstellen. Wäre jetzt erst mal nur ein 
"Nice-To-Have". Ich programmiere sowieso nur die kleinen 14-bit PICs in 
DIP18 Gehäuse ausschließlich in Assembler! Für aufwendigere Sachen nehme 
ich dagegen ausschließlich AVR-Controller, welche ich dann bequem in C 
programmiere. Die waren (zumindest damals) einfach preiswerter und 
leistungsfähiger als die entsprechenden Pics - zudem gab es dafür sogar 
den gcc-compiler!

von Christian (Gast)


Lesenswert?

Hi,

PICPgm läuft auch unter Linux (Command Line):
http://picpgm.picprojects.net

Unterstützt viele Parallel-Port und Com-Port programmer.

Gruß!

von usuru (Gast)


Lesenswert?

> PICPgm läuft auch unter Linux (Command Line):
> http://picpgm.picprojects.net

unterstützt nur COM- und LPT-Hardware, also nix für moderne Rechner. Es 
gibt einen (1) USB-Prommer, der ist aber ein LVP-Typ. Also auch nix.

von Frank K. (fchk)


Lesenswert?

Dominik schrieb:

> 2. Soll es MPLAB wirklich demnächst (oder jetzt schon - hab's nicht
> gefunden) nativ unter Linux geben?

http://ww1.microchip.com/downloads/mplab/X_Beta/installer.html

fchk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.