Forum: Mikrocontroller und Digitale Elektronik PIC mir C Programmieren


von Ingo Gruber (Gast)


Lesenswert?

Hallo,
nachdem es vom AVR-Studio lange kein Update mehr gegeben hat (und dieses 
unter Windows7 auch nicht gescheit läuft) habe ich beschlossen Atmel den 
Rücken zu kehren. Weiter gibt es auch von AVR-GCC keine Updates mehr und 
ob die alte Version von AVRGCC von AVRSTudio5 noch unterstützt wird 
steht in den Sternen...


Gibt es für PICs einen anständigen C-Compiler für MPlab?

Vielen dank!

Ingo Gruber

von Flo (Gast)


Lesenswert?


von Ingo Gruber (Gast)


Lesenswert?

Der läuft ja nur 60 Tage...

Was kostet der Compiler - konnte leider nichts finden...

von holger (Gast)


Lesenswert?

>Der läuft ja nur 60 Tage...

Der läuft länger. Nach 60 Tagen gehen ein paar Optimierungen
nicht mehr. Dadurch wird der Code größer. Nach meinen Erfahrungen
aber auch schneller;)

von Carsten S. (dg3ycs)


Lesenswert?

Hi,
Ingo Gruber schrieb:
> Der läuft ja nur 60 Tage...
> Was kostet der Compiler - konnte leider nichts finden...

als Hobbyist willst du den Compiler sicher nicht kaufen...
Auch wenn der mit etwas unter 400 Eur. noch günstig im Vergleich ist.

Aber das der nur 60Tage läuft stimmt nicht ganz. NAch 60Tagen wird nur 
die Optimierung zurückgefahren was bedeutet das der Zielcode etwas 
größer wird. Der Compiler bleibt aber funktionsfähig. Diese geringere 
Optimierung spielt für den Hobbyisten keine Rolle. Es ist nicht 
gravieren, nur ein paar Prozent. Als Hobbyist kauft man ja eh bei zwei 
bis auf den Flash absolut gleichen Controllern die größere Version.
(Beispielsweise -auch wenn dies jetzt 16er sind- Pic16F627A und 16F628A- 
wer kauft als Hobbyist üblicherweise den 16F627?)
Im Gewerblichen Umfeld kann es aber entscheident sein, den manchmal 
machen nur wenige Byte den Unterschied und wenn die Firma die 1000 
Geräte pro Tag herstellt bei jedem Controller 2,5 Ct. sparen kann in dem 
sie statt des 16F628 den 16F627 nimmt ist das aufs Jahr gesehen eine 
Menge Geld!

Du kannst aber auch einfach die LITE Version oder die ACADEMIC version 
nehmen (Ich weiß erhlich gesagt gar nicht ganz genau wo der Unterschied 
nun liegt). Diese VErsionen sind komplett Frei und behalten Ihren 
Funktionsstand immer.
(Natürlich steht es dir dann-wenn tatsächlich mal drei Byte zuwenig frei 
sind- frei einfach den Eval.Compiler für 60Tage zu nutzen. Microchip 
gestattet ja sogar die Gewerbliche Nutzung. Selbst für Gewerbliche bei 
seltenen Einsatz eine nette Option. Mit LITE entwickeln und dann die 
Final mit EVAL übersetzen ;-) )

Gruß
Carsten

von AS (Gast)


Lesenswert?

Der oft übergangene Sourceboost wäre noch eine Alternative:
http://www.sourceboost.com/

Alle Hi-Tech Compiler Versionen unter Pro (also Standard und Lite)
erzeugen künstlich schlechten und unnötig langen Code.
Sowas kann ich ja garnicht leiden...

Ich habe im letzten Jahr, nach über 15 Jahren Assembler auf
PICs, alle verfügbaren Compiler getestet und mich für den
Sourceboost entschieden.

Für 150$ ist das mehr als ordentlich, was Dave und Pavel
da abliefern ;)

von Ingo Gruber (Gast)


Lesenswert?

Wie ist das dann mit OnChipDebugging.

Geht das mit MPlab + MPLab C Compiler

von Carsten S. (dg3ycs)


Lesenswert?

Ingo Gruber schrieb:
> Wie ist das dann mit OnChipDebugging.
>
> Geht das mit MPlab + MPLab C Compiler

Also bei den von Microchip herausgegebenen Compilern geht das natürlich 
- Keine Frage.
(Vorrausgesetzt der µC ist dafür geeignet - Bei einigen geht das ja 
nicht bzw. man braucht einen Sonderversion/HEADER. Die 18F µC sollten 
aber IMHO alle gehen und einen Header Zwangsweise braucht man nur beim 
13K50 sowie 14K50. Alle anderen Verfügbaren 18F Header dienen nur dazu 
das ein Debuggen KEINE Ports belegt, stellen also zusätzliche Anschlüsse 
zur Verfügung)

Wie es beim Debugging mit Fremdcompilern aussieht - K.A.

Gruß
Carsten

von Peter D. (peda)


Lesenswert?

Ingo Gruber schrieb:
> nachdem es vom AVR-Studio lange kein Update mehr gegeben hat

Sei doch froh. Keine Updates bedeutet doch, es gibt keine Probleme, die 
gefixt werden müssen.

Ingo Gruber schrieb:
> (und dieses
> unter Windows7 auch nicht gescheit läuft)

Dieses Gerücht kennt mein W7 noch nicht, es arbeitet völlig klaglos mit 
AVRStudio zusammen.
Und auf der Atmel Webseite steht eindeutig, das W7 unterstützt wird.
Ich denke mal, wenn Du Dein Problem schilderst, sollte sich schnell eine 
Lösung finden.

Ingo Gruber schrieb:
> Weiter gibt es auch von AVR-GCC keine Updates mehr

Wozu?
Es funktioniert und alle h-Files zu den derzeitigen AVRs sind vorhanden.


Ich kann mir nicht vorstellen, daß man bei den PICs vor Problemen 
davonrennen kann, man muß sie lösen.


Peter

von AS (Gast)


Lesenswert?

Carsten Sch. schrieb:
> wie es beim Debugging mit Fremdcompilern aussieht - K.A.

Kein Problem. Alle Compiler lassen sich in MPLab integrieren.
Das Debuggen macht ja nicht der Compiler ;)

Ohne REAL-ICE kommt da aber keine Freude auf.
ICD2/3 sind dafür einfach nur K*cke.

Mit dem höchstgenialen Simulator lassen sich aber üblicherweise
bereits weit über 95% des Codes testen und analysieren.
Mit etwas Zusatzaufwand und Nachdenken könnens auch, selbst bei
komplexen Anwendungen, schon mal 100% sein ;-)

von Hugo (Gast)


Lesenswert?


von Lehrmann M. (ubimbo)


Lesenswert?

Peter Dannegger schrieb:
> Ingo Gruber schrieb:
>> nachdem es vom AVR-Studio lange kein Update mehr gegeben hat
>
> Sei doch froh. Keine Updates bedeutet doch, es gibt keine Probleme, die
> gefixt werden müssen.
>
> Ingo Gruber schrieb:
>> (und dieses
>> unter Windows7 auch nicht gescheit läuft)
>
> Dieses Gerücht kennt mein W7 noch nicht, es arbeitet völlig klaglos mit
> AVRStudio zusammen.
> Und auf der Atmel Webseite steht eindeutig, das W7 unterstützt wird.
> Ich denke mal, wenn Du Dein Problem schilderst, sollte sich schnell eine
> Lösung finden.
>
> Ingo Gruber schrieb:
>> Weiter gibt es auch von AVR-GCC keine Updates mehr
>
> Wozu?
> Es funktioniert und alle h-Files zu den derzeitigen AVRs sind vorhanden.
>
>
> Ich kann mir nicht vorstellen, daß man bei den PICs vor Problemen
> davonrennen kann, man muß sie lösen.

Könnt ihr das nicht einfach akzeptieren, dass er was mit PICs machen 
will. Da braucht man nicht zu diskutieren.

Ingo Gruber schrieb:
> Wie ist das dann mit OnChipDebugging.
>
> Geht das mit MPlab + MPLab C Compiler

Soweit der Programmer / Debugger das zulässt ist das in MPLAB kein 
Problem.

holger schrieb:
>>Der läuft ja nur 60 Tage...
>
> Der läuft länger. Nach 60 Tagen gehen ein paar Optimierungen
> nicht mehr. Dadurch wird der Code größer. Nach meinen Erfahrungen
> aber auch schneller;)

Es handelt sich auch nicht um alle Optimierungen sondern nur um höhere 
Optimierungsstufen. Programmiert man halbwegs intelligent, dann sind 
Optimierungsstufen eher von geringerer Bedeutung.

AS schrieb:
> Ohne REAL-ICE kommt da aber keine Freude auf.
> ICD2/3 sind dafür einfach nur K*cke.

Naja das möchte ich aber sehr schwer bezweifeln. Ich gebe zu, dass ich 
auch lieber mit ICE2000 arbeite als mit dem ICD3 oder PICkit3 aber ich 
kann aus Erfahrung sagen, dass das Debugging mit dem PICkit3 genauso gut 
geht wie mit einem ICE2000. Ist zwar streckenweise aufwändiger aber das 
liegt ja nicht an Compiler oder Entwicklungsumgebung sonder primär mit 
der Debugginghardware.

AS schrieb:
> Mit dem höchstgenialen Simulator lassen sich aber üblicherweise
> bereits weit über 95% des Codes testen und analysieren.
> Mit etwas Zusatzaufwand und Nachdenken könnens auch, selbst bei
> komplexen Anwendungen, schon mal 100% sein ;-)

Für Hobbyanwendungen mag das zutreffen ... ich kann dir aber sagen, dass 
man wenn man professionell arbeiten will und Projekte größerer 
Komplexität vor sich hat ohne Hardwaredebugging mit vertretbarem 
Zeitaufwand nicht mehr zu Rande kommt.

von PE (Gast)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Lehrmann Michael schrieb:
> Könnt ihr das nicht einfach akzeptieren, dass er was mit PICs machen
> will. Da braucht man nicht zu diskutieren.

Es geht doch nicht um den MC, der ist völlig wurscht, es geht um den 
Umgang mit Problemen.
Und erzähl mir nicht, beim PIC gebe es keine Probleme.
Wer Probleme nicht lösen will, der wird nie ein richtiger Programmierer.


Peter

von Carsten S. (dg3ycs)


Lesenswert?

Peter Dannegger schrieb:
> Ingo Gruber schrieb:
>> nachdem es vom AVR-Studio lange kein Update mehr gegeben hat
>
> Sei doch froh. Keine Updates bedeutet doch, es gibt keine Probleme, die
> gefixt werden müssen.
> ...
> Ingo Gruber schrieb:
>> Weiter gibt es auch von AVR-GCC keine Updates mehr
> Wozu?
> Es funktioniert und alle h-Files zu den derzeitigen AVRs sind vorhanden.

Naja -das mit keinen Problemen mag ich aber stark anzweifeln -
Aus eigener Erfahrung und wenn man sich den Thread zum AVR Studio 5 
ansieht was da gejubelt wird das endlich ein Nachfolger zur jetzt 
plötzlich doch nicht so tollen AVR Studio 4 vorhanden ist..

Noch erstaunlicher finde ich da aber wie von -echten- AVR Anhängern so 
an GCC herumgemosert wird - dabei wird der doch sonst als Ultimative 
Waffe hochgelobt.

Peter Dannegger schrieb:
> Es geht doch nicht um den MC, der ist völlig wurscht, es geht um den
> Umgang mit Problemen.
> Und erzähl mir nicht, beim PIC gebe es keine Probleme.
> Wer Probleme nicht lösen will, der wird nie ein richtiger Programmierer.

Grundsätzlich hast du recht - Probleme muss man lösen und nicht davor 
weglaufen. Aber manchmal kann der Umstieg auf einen anderen 
Hardwarehersteller eine sehr effektive Problemlösung darstellen.

Natürlich ist das Ausbleiben von Updates nicht unbedingt das beste 
Umstiegskriterium. Zumal AVRSTUDIO 5 -wenn auch als BETA- jetzt raus 
ist.
Aber wenn er nun einmal vor hat zu einem Hersteller zu wechseln der auch 
die Belange kleiner Bastler ernst nimmt, wo man für 20 Euro 
Entwicklungswerkzeuge bekommt mit denen mal vollwertig Programieren UND 
Debuggen kann ohne das man wie beim vier mal so teurem Dragon noch ein 
GEhäuse drumbauen muss und jedesmal fast beten muss das dieses 
Empfindliche Teil nicht durch etwas statische Elektrizität  oder geringe 
Überspannung in den Programmerhimmel geschickt wird, Einem Hersteller 
dessen Produkte man problemlos überall ohne Sorgen vor zu großen 
Lieferzeiten man überall in allen Gehäusevarianten bekommt -selbst die 
seltenen mit exotischen Peripheriekombinationen, dann sollte man das 
akzeptieren ;-)

ICh war zwischenzeitlich auch mal AVR Fan, besitze neben dem AVRISP auch 
den JTAGICE, bin aber wieder reumütig zu Microchip zurückgekehrt!
Weiß also wovon ich schreibe ;-) Allerdings setze ich AVRs auch heute 
noch manchmal ein. Aber nur noch als zweite 8Bit wahl.

Gruß
Carsten

von Michael G. (let)


Lesenswert?

Ingo Gruber schrieb:
> nachdem es vom AVR-Studio lange kein Update mehr gegeben hat (und dieses
> unter Windows7 auch nicht gescheit läuft) habe ich beschlossen Atmel den
> Rücken zu kehren. Weiter gibt es auch von AVR-GCC keine Updates mehr und
> ob die alte Version von AVRGCC von AVRSTudio5 noch unterstützt wird
> steht in den Sternen...

Das bereits erwähnte AvrStudio5 ist nicht nur brandneu, es enthält
auch bereits einen neuen AVR-GCC (4.5.x).
Ich springe gerne zwischen µC Familien aber die genannten Gründe
kann ich nicht nachvollziehen.

Viel interessanter an den PICs für Bastler finde ich die große Auswahl
an bedrahteten Typen. Schon nicht schlecht was bereits Reichelt da
im Angebot hat.
Und in C spielt es auch keine Rolle ob PIC16 oder PIC18.

Carsten Sch. schrieb:
> wo man für 20 Euro
> Entwicklungswerkzeuge bekommt
Was denn? Der Pickit2 kostet fast das doppelte.

> ICh war zwischenzeitlich auch mal AVR Fan, besitze neben dem AVRISP auch
> den JTAGICE, bin aber wieder reumütig zu Microchip zurückgekehrt!

Bei mir genau umgekehrt. Gründe: EMV, sterbende ICD2, abstürzende
MPlabs, kaum interne Pullups, lange Lieferzeiten.
Und der CCS Compiler hat mich wahnsinnig gemacht.

Aber seit drei Jahren verwende ich für Neuentwicklungen weder den einen
noch den anderen ;).

von John (Gast)


Lesenswert?

Microchip verkauft z.B. den PIC32 C-Compiler für $895. Da dieser 
Compiler auf einem Open-Spurce Projekt basiert, muss sie jede Änderung 
am Source-Code veröffentlicht werden. Und das tun sie auch.

Von dieser Seite
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023073
kann der Source-Code folgender Compiler geladen werden:
 - MPLAB ASM30 Assembler
 - MPLAB C Compiler for PIC24 and dsPIC DSCsr
 - MPLAB C Compiler for PIC32 w/assembler and linker

Man kann im Source-Code die Deaktivierung der Optimierung (-O2/-O3) 
rückgängig machen und das ganze neu compilieren. Und man hat dann eine 
kostenlose Vollversion.

Es gibt wohl Webseiten (Link hab ich leider nicht) mit ausführlichen 
Anleitungen, was genau zu machen ist. Vielleicht hat jemand einen Link.

Microchip hat nur das Copyright auf die Librarys, die die PICs 
definieren. Aber soweit ich weiß ist die einzige Einschränkung, dass man 
diese nur zur Codeerzeugung für Microchip Controller verwenden darf.

Hier noch zwei Links.
Podcast ab 57. Minute:
http://www.theamphour.com/2011/02/01/the-amp-hour-28-bowie-and-the-brown-noise/
Forum:
http://www.eevblog.com/forum/index.php?topic=2393.0;topicseen

Gruß
John

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.