Forum: Mikrocontroller und Digitale Elektronik PIC Entwicklungsumgebung und Programmer/Debugger?


von BS (Gast)


Lesenswert?

Hallo, für eine winzige Anwendung möchte ich einen kleinen PIC (8 Bit, 
11 I/O) einsetzen.
Ich hätte gerne Tips, was für eine Entwicklungsumgebung und welchen 
Programmer/Debugger ich benutzen sollte.

Aufgaben:
- 5 LEDs ansteuern
- 1 Taster abfragen
- 2 PWM-Signale erzeugen, langsam, notfalls über Timer
- 3 MOSFETs ansteuern

Ich bin verwirrt über die Entwicklungsumgebungen und 
Programmer/Debugger.
Es gibt natürlich ziemlich viele Infos im Internet, aber die sind zum 
Teil veraltet und schwer als veraltet erkennbar.

Die aktuelle IDE ist wohl MPLAB X, richtig?

Als Programmer/Debugger finde ich auf der Microchip-Seite
PICKIT 3: nicht mehr lieferbar, Links auf der Microchip-Seite führen ins 
Leere
PICKIT 4: Momentan schwer zu beschaffen, China...
MPLAB REAL ICE: teuer
MPLAB ICD 4: Mir ist nicht klar, ob man damit auf einem PIC debuggen 
kann
MPLAB SNAP: Man liest hier und da, dass das Ding ziemlich unzuverlässig 
ist

Was brauche ich, um eine simple Anwendung mit z.B. PIC16F153  zu 
entwickeln?

von Sukker (Gast)


Lesenswert?

IAR Embeddet Workbench

von Teo D. (teoderix)


Lesenswert?

BS schrieb:
> Was brauche ich, um eine simple Anwendung mit z.B. PIC16F153  zu
> entwickeln?

MPLAB X
Pickit 3 Clone für 10-15€

von Frank K. (fchk)


Lesenswert?

An MPLAB X plus den jeweiligen COmpilern (das sind Extra-Downloads) 
führt kein Weg vorbei.
Dazu einen beliebigen PICKIT3-Clone vom Chinesen. Das sind alles 
1:1-Nachbauten, d.h. die funktionieren genauso gut wie das Original.

PICKIT4 brauchst Du erst, wenn Du irgendwas aus der Atmel-Schiene 
programmieren willst. PICKIT3 kann das nicht.

ICD3/ICD4 sind für Leute, die damit Geld verdienen. Schneller, mehr 
Breakpoints, Trace.

RealICE ist EOL und wird nicht mehr mit Updates versorgt.

fchk

von BS (Gast)


Lesenswert?

Danke Teo D. und Frank K., das hilft mir weiter!

von Axel S. (a-za-z0-9)


Lesenswert?

BS schrieb:
> Hallo, für eine winzige Anwendung möchte ich einen kleinen PIC (8 Bit,
> 11 I/O) einsetzen.

Warum ausgerechnet einen PIC? Vorkenntnisse scheinst ja keine zu haben. 
Jemanden in der Nähe, der dir helfen könnte, auch nicht.

> Ich hätte gerne Tips, was für eine Entwicklungsumgebung und welchen
> Programmer/Debugger ich benutzen sollte.

Lesen kannst du? www.microchip.com

Da gibt es die IDE und die Toolchain zum Download.

> Aufgaben:
> - 5 LEDs ansteuern
> - 1 Taster abfragen
> - 2 PWM-Signale erzeugen, langsam, notfalls über Timer
> - 3 MOSFETs ansteuern

Also Pillepalle. Vielleicht kommst du angesichts der anscheinend nicht 
vorhandenen Vorkenntnisse besser mit einem Arduino zurecht? Da brauchst 
du auch kein Programmiergerät. Nur ein USB-Kabel.

> Die aktuelle IDE ist wohl MPLAB X, richtig?

Ja.

> Als Programmer/Debugger finde ich auf der Microchip-Seite
> PICKIT 3: nicht mehr lieferbar, Links auf der Microchip-Seite führen ins
> Leere
> PICKIT 4: Momentan schwer zu beschaffen, China...

Du mußt es ja nicht direkt in China bestellen. Das PICKIT3 gibt es zwar 
tatsächlich nur entweder gebraucht oder als China-Klon. Aber das 4er 
kannst du ganz regulär kaufen, z.B. bei Reichelt. Kostet dann halt mehr. 
Aber heh - du hast dir den PIC ausgesucht.

von neuer PIC Freund (Gast)


Lesenswert?

>PICKIT 4: Momentan schwer zu beschaffen, China...

Eigentlich nicht. Auch microchipdirect.com listet 259 als sofort 
lieferbar.

Für die PIC16F153xx ist der SNAP gelb/grün im "Device Support.htm". 
Benutze ich selbst für diese Klasse. Manchmal hakt es, dann wiederum 
arbeite ich einen ganzen Arbeitstag damit, ohne irgendwelche Probleme. 
Im Angebot für <10€. Und er verarztet auch die AVR. Nachteil ist, der 
SNAP kann keine alten PIC. Also solche mit PICxxFyyy als Namen.

von Toby P. (Gast)


Lesenswert?

Mikroe C, Basic oder Pascal for Pic. Ist einfach und schnell zu lernen. 
Progger Debugger haben die auch. Die Demo Version ist beschränkt, reicht 
aber für einfache Aufgaben.

von PICKIT2 (Gast)


Lesenswert?

Es geht doch nix ueber das gute alte PICKIT2!

Wenn es den betreffenden Controller nicht programmieren kann,
einfach einen anderen nehmen!
Und das aufgeblasene MPLAB-X muss man sich auch nicht antun.
MPLAB 8.92 reicht fuer die kleinen PICs allemal.
Dazu noch XC-8 in der Version 1.45.

Fuer ganz alte PICs gibt es tatsaechlich auch einen IAR-Compiler.
Vorteil: Es ist ein IAR-Compiler.
Nachteil: Wirklich nur ganz alte PICs. Der modernste 8-Pinner waere
da der 12F675.

Ansonsten koennte man sich auch den aktuellen SDCC ansehen.
Aber gegen XC8 ist eigentlich kein Kraut gewachsen.

von PICKIT2 (Gast)


Lesenswert?

> Mikroe C, Basic oder Pascal

ist von Laien programmiert. Empfehlenswert ist der deswegen nicht.

von Axel S. (a-za-z0-9)


Lesenswert?

PICKIT2 schrieb:
> Es geht doch nix ueber das gute alte PICKIT2!

Wenn man es hat, dann vielleicht. Aber nachdem schon der Nachfolger, das 
PICKIT3 nicht mehr produziert wird ...

> Wenn es den betreffenden Controller nicht programmieren kann,
> einfach einen anderen nehmen!
> Und das aufgeblasene MPLAB-X muss man sich auch nicht antun.
> MPLAB 8.92 reicht fuer die kleinen PICs allemal.

Wieder: wenn man es bereits hat. Die alte IDE kann man zumindest bei MCP 
nicht mehr bekommen.

> Dazu noch XC-8 in der Version 1.45.

Dito.

> Fuer ganz alte PICs gibt es tatsaechlich auch einen IAR-Compiler.
> Vorteil: Es ist ein IAR-Compiler.
> Nachteil: Wirklich nur ganz alte PICs. Der modernste 8-Pinner waere
> da der 12F675.

Da der TE schon 11 GPIO verplant hat, nützt ihm ein 8-Pinner dann doch 
eher wenig. Ein 8-Bit Kern darf es natürlich durchaus sein.

> Ansonsten koennte man sich auch den aktuellen SDCC ansehen.

Wenn sich da im letzten Jahr nicht enorm viel getan haben sollte, dann 
definitiv nicht. Der PIC Port des SDCC war da im wesentlichen eine 
Technologie-Demo. Für produktive Verwendung nicht geeignet.

Ich wiederhole aber nochmal meine Frage an den TE: was ist der Grund für 
die Wahl der PIC µC? Vorkenntnisse, vorhandene Hard-/Software, Freunde 
in der Umgebung die Hilfestellung leisten könnten ... all das wären 
valide Gründe für diese Wahl. Aber die scheint es nicht zu geben.

Wenn es keine Präferenz gibt, warum dann nicht ein AVR, ein STM8, ein 
8051? Oder - wenn es denn ein einfacher Einstieg sein soll - warum nicht 
ein Arduino?

von Teo D. (teoderix)


Lesenswert?

Axel S. schrieb:
> Wieder: wenn man es bereits hat. Die alte IDE kann man zumindest bei MCP
> nicht mehr bekommen.

Wenns den unbedingt sein muss, das gibts schon noch zum downloaden.
http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_IDE_8_92.zip

von Philipp Klaus K. (pkk)


Lesenswert?

Axel S. schrieb:
> Wenn sich da im letzten Jahr nicht enorm viel getan haben sollte, dann
> definitiv nicht. Der PIC Port des SDCC war da im wesentlichen eine
> Technologie-Demo. Für produktive Verwendung nicht geeignet.

Die pic14 und pic16 backends ist zwar immer noch nicht auf dem Niveau 
der anderen Backends, aber zwischen SDCC 3.9.0 und SDCC 4.0.0 gab es 
tatsächlich eine große Anzahl an pic14-spezifischen Bugfixes.

von PittyJ (Gast)


Lesenswert?

Axel S. schrieb:

>> Aufgaben:
>> - 5 LEDs ansteuern
>> - 1 Taster abfragen
>> - 2 PWM-Signale erzeugen, langsam, notfalls über Timer
>> - 3 MOSFETs ansteuern
>
> Also Pillepalle. Vielleicht kommst du angesichts der anscheinend nicht
> vorhandenen Vorkenntnisse besser mit einem Arduino zurecht? Da brauchst
> du auch kein Programmiergerät. Nur ein USB-Kabel.
>

Wäre jetzt auch mein Vorschlag. Damit hast du die Aufgabe in einem Tag 
erledigt.
Und die CPU kommt eh vom gleichen Hersteller.

von PICKIT2 (Gast)


Lesenswert?

11 IOs kann schon ein, im SO14 Gehaeuse winziger, 16F684 bereitstellen.
Oder sein moeglicherweise aktuelleres Pendant.

Bei moderaten Genauigkeitsanforderungen (1 %) auch mit dem internen
Oszillator.

Warum sollte man da zu einem vergleichsweise grossen Fertigmodul 
greifen?
Um dann etwas in C++ zusammenzustuempern?

Von den sonstigen Nachteilen wie Energiebedarf und Geschwindigkeit mal 
ganz abgesehen.

von Toby P. (Gast)


Lesenswert?

PICKIT2 schrieb:
> ist von Laien programmiert. Empfehlenswert ist der deswegen nicht.

Dann müssen die vielen Produkte die ich damit gemacht habe eine Illusion 
sein. Inkl. USB (drive, HMI Com) etc.

Meiner Meinung nach gibt es für Einsteiger nichts besseres. Die Compiler 
sind robust und funzen. Für vieles - PWM (Grafik)LCD Touch, Soft SPI und 
Uart ... - gibt es ist ne Lib, die I/O s haben _bit Typ usw. Das sind 
robuste einfache Compiler mit denen man in kurzer Zeit einfache Projekte 
erstellen kann.

Wenn man C nimmt kann man fast ohne Änderung auf andere Compiler 
umsteigen (hab selber PIC, PIC32 und ARM) von denen. Hardware kann man 
über die -Clicks anstöpseln. Einen Trinamic Stepper hab ich in gestern 
in 1 1/2 Stunden zum laufen gebracht, war Erstkontakt.

Kostet aber Geld, aber auch nur einmal. Dafür gibt es im Forum immer 
Antworten, leider manchmal über Jahre "wir arbeiten dran". Der 
Progger/Debugger taugt mMn auch nichts. Die interne Simulation kann 
keine Interrupts ... aber wer braucht die wenn er Soft UART hat und sich 
die Variablen nach Hterm schreibt?

Als Progger nehme ich aber (kommt für lau mit MPLAB). Den kann man 
komplett per batch steuern. 4 verschiedene Chips mit 4 verschiedenen 
Tools gleichzeitig proggen? Wo ist das Problem?

von Toby P. (Gast)


Lesenswert?

Toby P. schrieb:
> Als Progger nehme ich aber (kommt für lau mit MPLAB)

IPE feht da, das Microchip programming environment. Ein 500 Meg Java 
bolide mit Ecken und Kanten bei dem man sich fragt was die da geproggt 
haben. Bis man kapiert hat wie leistungsfähig das Teil ist. (Die hier so 
beliebten Atmel Dinger kann das Ding auch)

von BS (Gast)


Lesenswert?

Axel S. schrieb:
> Ich wiederhole aber nochmal meine Frage an den TE: was ist der Grund für
> die Wahl der PIC µC?

Sorry für die späte Antwort!

Ich entwickle seit Jahren Hardware und Firmware für Microcontrollern, 
arbeite aber fast ausschließlich mit PSoC3/4/5LP/6 von Cypress, deshalb 
kenne ich mich in der Atmel/Microchip-Szene nicht aus. Die 
Cypress-Controller sind für diesen Job alle total überdimensioniert.

Vor 5 Jahren habe ich mal was ähnlich Kleines gemacht mit einem 
PIC12F675 und dem PICKIT 3, das habe ich aber leider nicht mehr.

Bei dieser neuen Sache muss alles so klein wie möglich sein, deshalb 
kommt ein Arduino schon aus Platzgründen nicht in Frage. Die Anwendung 
ist simpel (oder mit den Worten von Axel S.: "Pillepalle"), da braucht 
man keine Rechenleistung.

Weshalb ich so eine "blöde" Frage gestellt habe:

Ich habe auf der Microchip-Seite gesucht, was für Werkzeuge man aktuell 
so benutzt. Da findet man auf der Seite
https://www.microchip.com/design-centers/8-bit/pic-mcus
unter "Hardware Development Tools" - "Emulators & Debuggers" als erstes 
einen Link auf das PICkit 3 - der führt aber ins digitale Nirwana:
https://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en538340

Das hat mich dann doch ziemlich abgeschreckt, dass nicht mal der 
Hersteller selbst aktuelle Tools verlinken kann.

Inzwischen habt ihr ja einiges vorgeschlagen, vielen Dank. Ich werde 
dann mal berichten, was dabei herausgekommen ist.

von Toby P. (Gast)


Lesenswert?

BS schrieb:
> Ich habe auf der Microchip-Seite gesucht, was für Werkzeuge man aktuell
> so benutzt.

Curiosity High Pin Count (HPC) Development Board
https://www.microchip.com/Developmenttools/ProductDetails/DM164136

Da ist alles drauf, inc. Progger (über IPE) Debugger (via MPLAB) und du 
kannst alle möglichen PICs im DIP Gehäuse draufstecken.

Kostet weniger als ein PicKit.

von Toby P. (Gast)


Lesenswert?

Oder dass teil hier für 14 Euro nto.:

https://microchipdeveloper.com/snap:start

von Frank K. (fchk)


Lesenswert?

BS schrieb:

> Ich habe auf der Microchip-Seite gesucht, was für Werkzeuge man aktuell
> so benutzt. Da findet man auf der Seite
> https://www.microchip.com/design-centers/8-bit/pic-mcus
> unter "Hardware Development Tools" - "Emulators & Debuggers" als erstes
> einen Link auf das PICkit 3 - der führt aber ins digitale Nirwana:
> https://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en538340
>
> Das hat mich dann doch ziemlich abgeschreckt, dass nicht mal der
> Hersteller selbst aktuelle Tools verlinken kann.

Gibt mal bei Amazon "pickit3" ein - da wird Dir ein ganzer Haufen von 
Nachbauten angeboten. Nachdem Du die paar Pickit2-Nachbauten aussortiert 
hast (die nicht kaufen) nimmst Du irgendeinen davon und wirst glücklich. 
Den Rest bekommst Du bei Microchip als Download.

Wenn Du einen konkreten PIC aussuchst, schau vorher, ob der vom MCC 
supported wird. MCC ist ein Codegenerator, der Dir Zeit sparen hilft. 
Selbst wenn Du den Output vom MCC nachher nicht im aktuellen Code 
verwendest, spart es trotzdem Zeit. Uralt-PICs werden oft nicht mehr 
unterstützt, die aktuellen Typen aber schon.

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.