Forum: Mikrocontroller und Digitale Elektronik JAL bzw. C-Compiler für PIC


von Hast (Gast)


Lesenswert?

Hallo,

ich hatte in meinem letzten Beitrag erfahren, dass JALv2 eine 
Alternative zu C ist.
Ich bin auf der Suche nach einem vernünftigen C-Compiler für PIC, der 
möglichst viele (auch kleine) PICs unterstützt, um nicht immer in 
Assembler programmieren zu müssen.

Ich bin die c-Programmierung von Atmel gewohnt (AVR STudio), deswegen 
suche ich auch für PIC Prozessoren eine vernünftige Lösung.

Inwiefern unterscheidet sich das kostenlose JALv2 von C? Und hat das 
eine eigene IDE integriert oder ist das in MPLAB zu integrieren?

Hat jemand Erfahrungden damit? Was sind die Unterschiede zur 
C-Programmierung? Ist es empfehlenswert?

LG Hast

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


Lesenswert?

Ich weiß nicht, wie weit JAL mittlerweile ist.  Als ich mir das vor
etwa 10 Jahren als Alternative zu C angesehen habe, konnte der Compiler
nicht einmal constant folding.   Da das Ding außerdem closed source
ist, hat man keine Chance, selbst irgendwelche dringenden Probleme zu
beheben.  Daher habe ich damals ganz schnell wieder von der Idee
Abstand genommen (und habe mir stattdessen AVRs genommen, weil es für
die bereits einen GCC gab).

von Falk B. (falk)


Lesenswert?

@ Hast (Gast)

>Inwiefern unterscheidet sich das kostenlose JALv2 von C?

Es ist eine schlechte, überflüssige Kopie ;-)

>Hat jemand Erfahrungden damit? Was sind die Unterschiede zur
>C-Programmierung? Ist es empfehlenswert?

IMO nein. Wo soll der Vorteil einer derartig propritären Sprache liegen?

von L.F. (Gast)


Lesenswert?

Ich nutzt eimmer C18 in MPLAB IDE.

von Hast (Gast)


Lesenswert?

OK, danke für die Tipps :)

Also werde ich mich doch auch eher auf die C-Compiler konzentrieren (ich 
werde die auch selten brauch, da ich meistens AVRs verwende). In 
seltenen Fällen kann es aber vorkommen, das PICs notwendig sind. Dafür 
brauche ich dann C-Compiler.


@L.F: Dieser ist gratis oder? Gehen da auch nach 2 Monaten doer so 
einige Features verloren?

von L.F. (Gast)


Lesenswert?

Ich als privatperson habe bis jetzt (2 Jahre) noch keine Einschränkungen 
bemerkt.

von L.F. (Gast)


Lesenswert?

Und er ist kostenlos.

von Hast (Gast)


Lesenswert?

OK, und selbst wenn es nach gewisser Zeit einschränkungen geben sollte, 
würde es prinzipiell funktionieren, es einfach neu zu installieren. 
Nachdem ich es eher selten brauchen werde, ist bes sicher machbar!

Unterstützt der eigentlich njur 18er PICs oder auch 12, 16 usw... Oder 
gibt es für die dann C12, C16 usw?

LG

von chris (Gast)


Lesenswert?

Hallo, C compiler fuer Pic ist im kommerziellen Umfeild mit aussnahme 
vom
sdcc kostenpflichtig. SDCC hat diverse bugs, im kommerziellen Umfeld
lohnt sich dieser eigentlich nicht. Jalv2 war niee closed source.
Um es mal zu testen, http://www.fundf.net/usbnub/jaltutorial/
Ob dies aktuell ist, ich bezweifle es, ist aber nicht so wichtig.
Die offizielle HP: http://www.casadeyork.com/jalv2/
Fuer einen ordentlichen C compiler fuer pic gibt man zwischen 800 und 
1400
Euro ca alle 3 Jahre aus.

von Carsten (Gast)


Lesenswert?

Hi,

chris schrieb:
> Hallo, C compiler fuer Pic ist im kommerziellen Umfeild mit aussnahme
> vom
> sdcc kostenpflichtig.

FALSCH!!!

Die C compiler von Microchip selbst gibt es in einer Kostenpflichtigen 
und einer Kostenlosen Version!
Der Funktionsumfang ist bis auf das Optimierungslevel IDENTISCH. Und es 
gibt KEINE Einschränkungen in der Art das man den Kostenlosen Compiler 
nur Privat verwenden dürfte. -> Der ist VOLL Kommerziell nutzbar!

Die "normale" Free Version ist für 60 Tage identisch mit der 
(Kostenpflichtigen) Proffessionell Version und selbst in dieser Zeit ist 
die Kommerzielle Nutzung IMHO nicht verboten. (für den XC8 müsste ich 
noch nachsehen) Wer also nur für ein Projekt mal maximale Effizienz 
brauchte installierte sich den eben neu.

Bei dem C18 gab es "ZWEI" Kostenlose Versionen, die Lite und die 
Academic. Beid der Lite gilt das oben gesagte, erst 60 Tage maximale 
Optimierung, dann eingeschränkte Optimierung auf die im Logtext dann 
hingewiesen wird.
Die Academic war von Anfang an Eingeschränkt, dafür ohne "Hinweis" im 
Logtext.

> Fuer einen ordentlichen C compiler fuer pic gibt man zwischen 800 und
> 1400 Euro ca alle 3 Jahre aus.
Auch völlig Falsch!!!

Wie gesagt: Die Compiler sind mit etwas geringerer Optimierung völlig 
Frei. Die maximale Optimierung ist aber bis auf sehr sehr wenige 
Ausnahmen nur für "High Volume" µC Einkäufer relevant.
Wer nur geringe Stückzahlen baut kauft wenn der Speicher oder die Zeit 
zu Knapp wird für 10ct. halt den jeweils größeren. ( Bei den PICs gibt 
es ja zu jeder PIC Version oft dieselben PIC Ausführungen nur mit mehr 
oder weniger Flash)
 Als Hobbyist kauft man ja eh eher das Untermodell mit dem meisten 
Speicher - also eher den 18F14fK22 als den 18F13K22, eher den 14K50 als 
den 13K50 - In Kleinstückzahlen sind größeren manchmal sogar billieger

Daher lohnt das Kaufen des Compilers wirklich nur für Massenproduzenten.
Für den Spielen die 1000 Euro dann aber auch keine Rolle, das aht der 
kurz später wieder drin. Wer aber nur einige Tausend PIC pro Jahr 
verwendet, der Fährt mit dem Free ganz prima - Zumal die Optimierung 
zwar wie von allen Compilerherstellern als "Super" beworben wird, bei 
realen Code aber nur entscheident ist wenn man sowieso schon nicht weit 
jenseits der Speichergrnze eines Typs ist.

Das Kaufen des Compilers ist auch eine "Endgülige" Sache. Man kann zwar 
Serviceverträge Abschließen. Muss man aber nicht.

Hast schrieb:
> Unterstützt der eigentlich njur 18er PICs oder auch 12, 16 usw... Oder
> gibt es für die dann C12, C16 usw?

Der (ältere) C18 Unterstützt nur die 18F Pics.
Für die kleineren hätte man auf den HiTech ausweichen müssen.

Falls du also noch gar nichts mit PIC C Compilern gemacht hast, dann 
greife gleich zum neuen XC8!
Der XC8 ist tatsächlich dann für alle 8Bit Pics geeignet.
(XC16 dann für alle 16Bitter, XC32 ...)
DerXC8 MÜSSTE mittlerweile auch unter MPLAB8.xx laufen, sonst muss halt 
tatsächlich das MPLABX installiert werden...

Gruß
Carsten

von PICmicro (Gast)


Lesenswert?

Kostenloser C Compiler der alle existenten PIC micros unterstützt und 
bis zu deinem Lebendsende ohne Einschränkung funktioniert:
http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/
(Ja, die beste Optimierung ist nicht enthalten, was aber keine 
Einschränkung ist)

von chris (Gast)


Lesenswert?

Der neue C compiler (CX..) ist fuer kommerzielle Projekte auch 
kostenlos,
C18 ist es nicht.

von Carsten (Gast)


Lesenswert?

chris schrieb:
> C18 ist es nicht.

Da würde mich aber mal die Fundstelle in den Lizenzbedingungen 
Interessieren... Bis dahin vertraue ich aber lieber weiterhin auf das 
was ich von Microchip (als Email) Schriftlich habe.

Gruß
Carsten

von PICmicro (Gast)


Lesenswert?

Beachtlich wieviel Mist in einem einzigen Thread geschrieben werden 
kann:
http://ww1.microchip.com/downloads/en/DeviceDoc/MPLABC18CompilerLicense.txt
MPLAB(R) C18 COMPILER LICENSE
"Notwithstanding the foregoing, if You downloaded the "Student Edition" 
of the Software from the web, You may install and use such version of 
the Software on an unlimited number of computers for commercial or 
educational use"

Für Leute wie Chris, die des Englischen nicht mächtig sind, hier eine 
Zusammenfassun in Deutsch:
Die kostenlose Version des C18 Compilers darf für kommerzielle Projekte 
genutzt werden!

von Klaus (Gast)


Lesenswert?

Aus dem readme vom XC8:

This is the inaugural release of the Microchip MPLAB XC8 C compiler. 
This single compiler encompasses the two HI-TECH C compilers which 
previously supported Microchip 8-bit PIC devices: HI-TECH C Compiler for 
PIC10/12/16 MCUs and HI-TECH C Compiler for PIC18 MCUs. This MPLAB XC8 
compiler supports compilation for any supported 8-bit PIC device from 
the one application.

1.2 Previous Versions
The previous version of HI-TECH C Compiler for PIC10/12/16 MCUs was 
9.83, released in September 2011. The previous HI-TECH C Compiler for 
PIC18 MCUs was 9.80, released in October 2011.
1.3 Devices Supported

This compiler support all known 8-bit PIC devices. See chipinfo list (in 
the compiler’s doc directory) for a list of all supported baseline and 
mid-range devices and chipinfo list for a list of all supported PIC18 
devices.

MfG Klaus

von L.F. (Gast)


Lesenswert?

Eine kleine Zwischenfrage: Weis jemand ob der Quallcode von C18 mit dem 
neuen XC8 kompatibel ist? Kann ich problemlos von C18 auf XC8 umsteigen 
und die alten Programme weiterverwenden?

von No Y. (noy)


Lesenswert?

Soviel ich weiß gab es glaub an ein paar stellen am Anfang Probleme. Ist 
aber bestimmt behoben worden. Am besten einfach mal ausprobieren..

von Carsten (Gast)


Lesenswert?

Hi,

L.F. schrieb:
> Eine kleine Zwischenfrage: Weis jemand ob der Quallcode von C18 mit dem
> neuen XC8 kompatibel ist? Kann ich problemlos von C18 auf XC8 umsteigen
> und die alten Programme weiterverwenden?

Der QUELLCODE im Sinne von "eigenem Programm" selbst ist wohl soweit 
kompatibel (Klar, C ist C), wenn dann könnte es höchtesn bei der einen 
oder anderen Lib im Lieferumfang mal kurz haken wenn die -wie schon 
öfter- im Rahmen der Weiterentwicklung eine Schwachstelle behoben haben 
und dadurch leider eine Inkompatibiliät entsteht.
Ist aber nicht gesagt das dies kommen muss - kann es nur noch nicht 
ausschließen. (Und wenn war auch nie etwas gravierendes, ...)

Etwas anders sieht es bei den Compilerdirektiven (Zeilen mit # am 
Beginn) aus. Beispielsweise dem "#pragma". Die müsste man noch einmal 
durchgehen...
Wobei das auch da nur eine sehr kleine Untermenge betrifft. Ich würde 
sagen einfach einlesen und dann "nach und nach" die als Fehler 
gemeldeten stellen rausschmeissen. Selbst bei einem großen Projekt 
sollte das in deutlich weniger als einer Stunde geschafft sein, meist 
innerhalb weniger Minuten.

Gruß
Carsten

von Hast (Gast)


Lesenswert?

Danke für die Infos!

Für mich wars das dann wohl mit Assembler. Wenn das so ist, werde ich 
das nächste mal bestimmt in C programmieren!

LG

von Fachmann (Gast)


Lesenswert?

Jal ist gar nicht so schlecht.Es hat einige Bugs, aber für kleine 
Programme ist es gut.Damit kommt man auf jeden fall schneller zum Ziel 
als mit C oder Assembler.C kann mehr aber es ist eine schwierige Sprache 
und ausserdem hat Jal sehr viele libraries, was auch wichtig ist, denn 
ein compiler alein kann nicht viel.

von Falk B. (falk)


Lesenswert?

@ Fachmann (Gast)

>Jal ist gar nicht so schlecht.Es hat einige Bugs,

Interessante Wortkombination.
JAL deklassiert sich schon durch seinen Namen selber

J ust
A nother
L anguage

> aber für kleine Programme ist es gut.

Dafür gibt es BASCOM, Pascal und seit einiger Zeit Arduino.

>und ausserdem hat Jal sehr viele libraries, was auch wichtig ist, denn
>ein compiler alein kann nicht viel.

Siehe oben.

von Fachmann (Gast)


Lesenswert?

Du hast keine Ahnung!

BASCOM, Pascal Arduino gibt's nicht für PICs, JAL aber nur für PICs.
Ausserdem gibt's noch JALv1, es ist alt aber meiner Meinung nach sehr 
gut.
Ich benutze es auch sehr gerne weil es einfach zu lernen war. Das ist 
die erste programier-Sprache die ich richtig vestanden habe. Und wenn 
man eine verstanden hat dann kann man andere viel leichter verstehen. 
Deswegen ist JAL eine gute Anfängersprache.

von Hast (Gast)


Lesenswert?

NAchdem ich aber in C von der Atmel Programmierung schon sehr fit bin, 
werde ich eher auf die C-Compiler zurückgreifen! Danke für die 
Diskussion...

von DEC-01 (Gast)


Lesenswert?

Hast schrieb:
> NAchdem ich aber in C von der Atmel Programmierung schon sehr fit
> bin,
> werde ich eher auf die C-Compiler zurückgreifen! Danke für die
> Diskussion...

Kannst du gerne machen.

> Inwiefern unterscheidet sich das kostenlose JALv2 von C? Und hat das
> eine eigene IDE integriert oder ist das in MPLAB zu integrieren?

mplab/xc8 ist halt im vergleich ein Resourcen verschlingendes Monster.

Wer sich hobbyistisch eh nur mit wenigen Typen beschaeftigt kommt mit 
JAL innerhalb kuerstester Zeit und auf der letzten Gurke zu guten 
Ergebnissen. Die Doku ist von Bastlern fuer Bastler und beschraenkt sich 
nicht nur auf die Software. Nicht jeder der gerne mit uCs bastelt will 
sich auch unbedingt mit PC-programmierung beschaeftigen, wenn doch ist C 
selbstvestaendlich die naheliegendere Wahl. (Wobei es hierbei eigentlich 
auch keine Probleme gibt welche sich nicht mittels eienr Skriptspraxhe 
zB mit dem nicht tot zu kriegenden TCL loesen liesen.)

Mein Hobby ist die Elektronik, Bitschubsen notwendiges Uebel.

von Hast (Gast)


Lesenswert?

Hab mich jetz nochmal direkt auf Microchip schlau gemacht. Nachdem die 
Compiler (z.B. XC8) gratis und zudem auch kommerziell verwendbar sind 
(wie auch in obigen Beiträgen erwähnt) und ich:
1.) nur selten PICs (mehr ATMELs) programmieren werde
2.) für die (kleinen) Projekte auch nicht länger als 60 Tage brauchen 
werde (und wenn, wäre der Optimierungsverlust auch egal)
3.) von der ATmel C-Programmierung ERfahrung mitbringe

Deshalb kommt für mich nur noch der C-Compiler in Frage, mit JAL und 
Assembler brauche ich mich somit nicht beschäftigen.

Danke für Eure Hilfe!

von Fachmann (Gast)


Lesenswert?

Seltsam was alle hier so toll an C finden. Elstmal ist C nicht gleich C, 
das bedeutet, dass es verschiedene C compiler gibt, und deswegen ist das 
Resultat oder der Code den man am ende bekommt unterschiedlich.Es gibt 
bestimmt gute C compiler, aber auch schlechte.Und wenn ein andrerer 
Compiler einen besseren assembler code generiert, dann spielt is er 
besser, egel ob C oder nicht.

von Erich (Gast)


Lesenswert?

Mit seinem
>letzten Beitrag
der Eröffnungsfrage hier obenstehend meint der Threadstarter folgenden 
anderen Artikel, wozu ich bereits frühzeitig auf einen passenden C 
Compiler hingewiesen hatte:
Beitrag "Re: Assemberhilfe PIC 12LF1822"

Und @Fachmann
Für Standard- und Bastler-Programme sind i.d.R. die kostenlosen Compiler 
ausreichend. Auch diese habe mehrere einstellbare Optimierungsstufen.
Der resultierende Code ist beim kostenpflichtigen Compiler 
möglicherweise noch etwas kompakter. Das spielt aber nur eine Rolle, 
wenn eine Industrieanwendung dadurch mit dem kleineren uC Typ derselben 
Prozessorfamilien auskommen soll (muss), um 0,03 Euro pro Stück zu 
sparen.

Gruss

von Fachmann (Gast)


Lesenswert?

O.K dann viel Glück mit dem C! Aber ich denke dass C gerade bei MCUs 
keinen Sinn macht.

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


Lesenswert?

Fachmann schrieb:
> Aber ich denke dass C gerade bei MCUs keinen Sinn macht.

Soso.  Und die Erde ist 'ne Scheibe. :-)

von Falk B. (falk)


Lesenswert?

@Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite

>Fachmann schrieb:
>> Aber ich denke dass C gerade bei MCUs keinen Sinn macht.

>Soso.  Und die Erde ist 'ne Scheibe. :-)

Willst du einem "Fachmann" widersprechen? Ach ja, wie war das mit 
Zitronenfaltern? ;-)

von Fachmann (Gast)


Lesenswert?

Ich glaube dass ich mit dem JAL 10 mal scheller ein Program fertig habe 
als mit C. Bis ich da mit C alles zussamen habe an software und 
instaliere und einstelle vegeht schon eine Woche.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:

> Soso.  Und die Erde ist 'ne Scheibe. :-)

Ja, spätestens seit Erfindung des TV.

von Michael S. (rbs_phoenix)


Lesenswert?

Zum einen gibt es noch diese Seite:
http://www.mikrocontroller.net/articles/PIC_C-Compilervergleich

Zum Anderen:
C gibt es ansich IMMER für einen Microcontroller. Wieviele 
Pascal/Java/Basic-Compiler gibt es denn für PICs? Und wieviele für AVRs, 
ARMs, 8051, ...
Sprich: Wenn ich Java kann, dann kann ich, wenn ich Glück habe, zwischen 
einem oder ggf sogar 2 Compilern wählen.
Abgesehen davon, dass mir a) noch niemand sagen konnte, was an C ach so 
schrecklich ist und b) mir sowieso alle Sprachen recht C-ähnlich 
vorkommen. In Pascal ist eher geschreibe statt klammern und das := statt 
= ist etwas "komisch", aber sonst ist es doch ähnlich. Variablentypen, 
for, if, while, Funktionen zum aufrufen, ...
Letztendlich sehe ich es so: Wenn jemand interessiert und/oder eine 
Begabung für Programmierung hat, dann ist es egal, ob er C, C++, C#, 
PASCAL, BASCOM oder sonstwas lernt. Ich würde aber immer C empfehlen, 
weil es einfach sogut wie überall ist.
C ist quasi wie Windows: Manche fluchen und meckern, es mag auch ein 
paar kleine Macken geben, doch letztendlich spricht der Erfolg für sich.

von Hast (Gast)


Lesenswert?

Ein paar Fragen dazu:

Was genau sind dscPIC DSCs?

Wie genau funktioniert die "Workstation license"? Hier steht "Intended 
for use by single user, can be installed on up to three workstations". 
Heißt das, es kann an 3 Rechnern installiert sein, jedoch nur von einem 
USER, der sich einloggt, benutzt werden? Also funktioniert die Variante 
nicht: An 3 Rechner installiert und von 3 verschiedenen usern verwendet?


Hab ich das richtig verstanden, dass die XC-serie die aktuellen 
compilerversionen sind? Also sie ersetzen die ganzen anderen compiler 
wie HIGH-Tech, SDCC, PCWHD usw? Ich finde nämlich direkt bei microchip 
nur noch die XC-Serie.

LG

von Hast (Gast)


Lesenswert?

Und noch eine Unklarheit:
http://www.microchipdirect.com/ProductSearch.aspx?keywords=SW006021-2

Wenn ich z.B. den XC8 compiler für workstation license auswähle, kostet 
die 729 Euro... WIe sieht dabei mit Updates aus? Sind die inkludiert 
bzw. braucht man die?

Direkt unter dem Produkt ist ein weiters um 146 euro angeführt ( MPLAB 
XC PRO HPA (Workstation License) ), was hat es damit auf sich?

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


Lesenswert?

Hast schrieb:
> Ein paar Fragen dazu:
>
> Was genau sind dscPIC DSCs?

Die dsPIC sind Zwitter aus DSP und µC. Dafür wurde die neue Abkürzung 
DSC geprägt: http://en.wikipedia.org/wiki/Digital_Signal_Controller

> Wie genau funktioniert die "Workstation license"? Hier steht "Intended
> for use by single user, can be installed on up to three workstations".
> Heißt das, es kann an 3 Rechnern installiert sein, jedoch nur von einem
> USER, der sich einloggt, benutzt werden? Also funktioniert die Variante
> nicht: An 3 Rechner installiert und von 3 verschiedenen usern verwendet?

Funktionieren wird das sicher. Es ist halt nicht legal.

> Hab ich das richtig verstanden, dass die XC-serie die aktuellen
> compilerversionen sind?

Es sind die einzigen Compiler, die Microchip in Zukunft weiterentwickeln 
wird. Womöglich werden sie in (sehr) zukünftigen Versionen von MPLABX 
auch die einzigen unterstützten Compiler sein.

> Also sie ersetzen die ganzen anderen compiler wie HIGH-Tech, SDCC, PCWHD usw?

Was meinst du mit "ersetzen"? Mit SDCC hatte Microchip nie etwas zu 
schaffen (ganz abgesehen davon, daß der PIC-Port von SDCC nur einer 
unter vielen ist). HI-TECH wurde vor 4 Jahren von Microchip gekauft.
Da sie da nun auch die Hand drauf haben, werden sie auch die HI-TECH 
Compiler nicht mehr weiterentwickeln. Trotzdem hören die alten Compiler 
nicht auf zu funktionieren. Und auch wenn Microchip die demnächst von 
ihrer Website schmeißt, wird man zumindest die kostenlosen Versionen 
noch lange anderswo im Netz finden.

Hast schrieb:
> Wenn ich z.B. den XC8 compiler für workstation license auswähle, kostet
> die 729 Euro... WIe sieht dabei mit Updates aus? Sind die inkludiert
> bzw. braucht man die?

Steht doch da: du hast ein Jahr lang Zugriff auf Updates. Ob du die 
brauchen wirst, kann jetzt noch niemand sagen. Die XC-Compiler sind 
recht neu, was die Wahrscheinlichkeit erhöht, daß sie noch häßliche Bugs 
enthalten. Andererseits ist da sicher eine Menge Erfahrung von den 
HI-TECH Leuten eingeflossen. Vielleicht sind sie also sehr gut.


XL

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


Lesenswert?

Michael Skropski schrieb:

> C gibt es ansich IMMER für einen Microcontroller. Wieviele
> Pascal/Java/Basic-Compiler gibt es denn für PICs? Und wieviele für AVRs,
> ARMs, 8051, ...

Das ist gar nicht der Punkt IMNSHO.

Der viel wichtigere Punkt (der freilich die Existenz einer C-Toolchain 
voraussetzt) sind die Bibliotheken. Für so ziemlich alle Aspekte der 
Programmierung gibt es Bibliotheken in C. Das geht los mit A wie 
arbitrary precision math über F wie Filesysteme bis hin zu Z wie 
zlib-Kompression. Das sind Mann-Jahrtausende an existierendem, meist 
sehr gut geprüftem und dokumentiertem Code.

Und weil das so ist, war eine der wichtigsten Forderungen bei der 
Entwicklung von C++, daß es kompatibel genug zu C sein muß, um die 
existierenden C-Bibliotheken weiterzuverwenden. Und aus genau dem 
gleichen Grund haben Java, C#, PHP, Perl, Python ... alle Interfaces für 
nativen Code (natürlich kompatibel zu Objektcode mit C linkage).

Und alle anderen Programmiersprachen, heißen sie nun Pascal, Luna, JAL 
oder sonstwie, werden sich nur dann in der Breite durchsetzen, wenn sie 
eine Möglichkeit bieten C Bibliotheken zu verwenden.

Allerdings besteht dafür kaum Bedarf. Ist es denn wirklich relevant, 
ob Blöcke mit {} oder BEGIN-END oder Einrückung gebildet werden? Ob der 
Zuweisungsoperator =, := oder <= geschrieben wird? Die Syntax mag anders 
sein, aus funktionaler Sicht unterscheiden sich die diversen 
Programmiersprachen hingegen so gut wie gar nicht.


XL

von jal (Gast)


Lesenswert?

Jal kann Multitasking, dafuer gibt es auch C.
z.B. wenn ich eine Pulslànge messen will, gibt es einen Befehl dafuer in
Jal. Dasselbe z.B. bei den kleineren 10/12/16f, um nicht einen
read-modify-write Bug zu haben, jal handelt dies trasparent, in C
muss man es trotz vieler Libs selbst programmieren.

Ein klassisches Beispiel: eine Bridge
rs485 Bus, Can Bus, sowie 5x low speed rs232 (software) , und USB.
In Jal ist dies in weniger als 40 Zeilen programmiert, in
C ist es sehr unuebersichtlich, man muss sich um Interrupts, Usb Stack 
modifizieren usw kuemmern. und wenn man es nach 6 Monaten Anfasst dauert
es wieder 4 Stunden, um den Code zu verstehen.
Nur mal so ein paar libs einbinden, das geht ausserhalb C besser.

von Hast (Gast)


Lesenswert?

@Axel:
Noch eine Frage zu den Updates:

Was ist dieses Zusatzpaket um 147 €: Part NumberSW006021-2H - MPLAB XC 
PRO HPA (Workstation License) ?
http://www.microchipdirect.com/ProductSearch.aspx?keywords=SW006021-2

Hat man dadurch dann länger Zugriff auf Updates?

lG

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


Lesenswert?

Hast schrieb:

> Was ist dieses Zusatzpaket um 147 €: Part NumberSW006021-2H - MPLAB XC
> PRO HPA (Workstation License) ?
> Hat man dadurch dann länger Zugriff auf Updates?

Ist Google Translate kaputt?

<Zitat quelle=obige URL>

High Priority Access for MPLAB ® XC PRO workstation compilers (HPA) is a 
12 month maintenance subscription providing: priority technical support, 
new architecture support and new compiler versions for MPLAB XC PRO 
workstation.

MPLAB XC PRO workstation compilers come with 12 months of High Priority 
Access (HPA), and support and maintenance subscriptions. HPA access can 
be renewed in twelve month increments at any time.

</Zitat>


XL

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


Lesenswert?

jal schrieb:
> Ein klassisches Beispiel: eine Bridge
> rs485 Bus, Can Bus, sowie 5x low speed rs232 (software) , und USB.
> In Jal ist dies in weniger als 40 Zeilen programmiert

Ja, toll. JAL bringt also ein paar Module mit und die sind leichter zu 
handhaben als die äquivalenten C-Bibliotheken. Wie ungewöhnlich.

Ein Fertigteilhaus ist auch leichter zusammenzusetzen als eins das aus 
Ziegeln gemauert wird. Aber dafür kriegst du auch nur das, was im 
Katalog ist. Wenn du Sonderwünsche hast, guckst du in die Röhre. Warum 
glaubst du, bauen Leute immer noch Häuser auf die altmodische Art, statt 
sich alle für ein Fertigteilhaus zu entscheiden?


XL

von Hast (Gast)


Lesenswert?

@Axel:

Ich verstehs trotzdem nicht: Ist das nun eine Verlängerung der 
Updateverfügbarkeit oder nicht?

Ich verstehe es so, dass beim Kompiler 12 Monate Updates der aktuellen 
Version inkludiert sind. Wenn ich das Zusatzpaket um 147 Euro dazunehme, 
dann hab ich IMMER zugriff auf Updates.

Ist das so korrekt?

von Hast (Gast)


Lesenswert?

Und: für XC16 und XC32 gibt es keine Updates?

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


Lesenswert?

Hast schrieb:
> @Axel:
>
> Ich verstehs trotzdem nicht:

Woran liegts? Am fehlenden Englisch? Dann such dir gleich ein anderes 
Hobby. Weder mit Elektronik noch mit Programmierung wirst du weit kommen 
ohne wenigstens Grundkenntnisse in Englisch.

> Ist das nun eine Verlängerung der Updateverfügbarkeit oder nicht?

"access can be renewed"

http://dict.tu-chemnitz.de/dings.cgi?query=renew

> Ich verstehe es so, dass beim Kompiler 12 Monate Updates der aktuellen
> Version inkludiert sind. Wenn ich das Zusatzpaket um 147 Euro dazunehme,
> dann hab ich IMMER zugriff auf Updates.

Wie kommst du auf "immer"?

"twelve month increments" steht da. Nicht "forever"

http://dict.tu-chemnitz.de/dings.cgi?query=increment


XL

von Hast (Gast)


Lesenswert?

Nein, das Problem ist nicht das fehlende Englisch, sondern:

Beim XC8 Compiler (Part NumberSW006021-2 - MPLAB XC8 PRO Compiler 
(Workstation License)) steht:
The MPLAB XC8 Compiler also comes with 12 months of High Priority 
Access, a maintenance subscription providing web access to new version 
releases and priority technical support for the compiler.

OK, beim Compiler sind 12 Monate Updates integriert.

Beim anderen Produkt gleich darunter (Part NumberSW006021-2H - MPLAB XC 
PRO HPA (Workstation License) steht:
High Priority Access for MPLAB ® XC PRO workstation compilers (HPA) is a 
12 month maintenance subscription providing: priority technical support, 
new architecture support and new compiler versions for MPLAB XC PRO 
workstation.

 MPLAB XC PRO workstation compilers come with 12 months of High Priority 
Access (HPA), and support and maintenance subscriptions. HPA access can 
be renewed in twelve month increments at any time.

FÜr mich bedeutet das, dass ich alle 12 Monate ein Update haben kann, 
und das für IMMER. Sprich: ich kann alle 12 Monate ein Update bekommen, 
solange es den Compiler gibt... und das für einmalig 147 Euro...

richtig?

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


Lesenswert?

Hast schrieb:
> Nein, das Problem ist nicht das fehlende Englisch

Dann verstehe ich das nicht. Hast du noch nie Software gekauft oder 
einen Supportvertrag abgeschlossen?

> Beim XC8 Compiler (Part NumberSW006021-2 - MPLAB XC8 PRO Compiler
> (Workstation License)) steht:
> The MPLAB XC8 Compiler also comes with 12 months of High Priority
> Access, a maintenance subscription providing web access to new version
> releases and priority technical support for the compiler.
>
> OK, beim Compiler sind 12 Monate Updates integriert.

12 Monate Support + Zugang zu Updates, ja.

> Beim anderen Produkt gleich darunter (Part NumberSW006021-2H - MPLAB XC
> PRO HPA (Workstation License) steht:

> High Priority Access for MPLAB ® XC PRO workstation compilers (HPA) is a
> 12 month maintenance subscription providing: priority technical support,
> new architecture support and new compiler versions for MPLAB XC PRO
> workstation.

Ja. Dieses Paket beinhaltet Support und Zugang zu Updates für 12 Monate. 
Aber keinen Compiler und keine Lizenz.

> FÜr mich bedeutet das, dass ich alle 12 Monate ein Update haben kann,
> und das für IMMER. Sprich: ich kann alle 12 Monate ein Update bekommen,
> solange es den Compiler gibt... und das für einmalig 147 Euro...

Wo zum Geier willst du etwas von "für immer" gelesen haben? Du kannst 
jedes Update haben und Supportanfragen stellen bis zum Umfallen. Während 
der ersten 12 Monate nach dem Kauf der Compiler-Lizenz.

Und dann kannst du Support + Updates immer um weitere 12 Monate 
verlängern. Und ziemlich sicher darfst du dabei nicht aussetzen. Die 
Lizenz bleibt dir zwar (die ist unbefristet) aber wenn du jemals wieder 
Support oder ein Update haben willst, müßtest du dann notgedrungen eine 
neue Lizenz kaufen (und hättest dann zwei).

Wenn du magst, kannst du es auch so sehen, daß ein Supportvertrag 
(inclusive Updates) dich EUR 147,- im Jahr kostet. Und das erste Jahr 
ist im Preis der Lizenz schon drin.


XL

von Hast (Gast)


Lesenswert?

Richtig,ich habe noch nie SOftware gekauft und auch noch nie einen 
Supportvertrag abgeschlossen, deswegen mögen die Fragen auch sehr 
laienhaft erscheinen :)

Aber danke für deine Antwort, jetzt ist mir einiges klarer geworden. Das 
"für immer" hatte ich von "at any time", was natürlich "jederzeit" 
bedeutet, hatte aber den Zusammenhang falsch verstanden. Jetzt ist es 
mir klar: Wenn ich nach dem ersten Jahr SUpport bzw. ein neues Update 
brauche, zahle ich 147Euro für dieses Paket und dann hab ich es wieder 
für 12 Monate...

Appropos Support: Was genau soll ich denn darunter in diesem 
Zusammenhang verstehen? (Ja, ich weiß dass es "Unterstützung heißt) Aber 
in welcher Weise kann ich Support von Microchip erhalten? Die werden mir 
doch nicht bei Problemen beim Programmieren helfen, oder?

Danke, lG

von W.S. (Gast)


Lesenswert?

Hast schrieb:
> Die werden mir
> doch nicht bei Problemen beim Programmieren helfen, oder?

Ha, wohl nicht. Du hast immer genau das Problem: Deine Sache verstehen 
mußt du selbst, das gehört dazu und das kann dir NIEMAND in dieser Welt 
abnehmen. In diesem Punkt und bezogen auf die kleinsten PIC's läuft das 
auf das Verstehen von deren Assemblerprogrammierung hinaus.

W.S.

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


Lesenswert?

Hast schrieb:
> Appropos Support: Was genau soll ich denn darunter in diesem
> Zusammenhang verstehen? (Ja, ich weiß dass es "Unterstützung heißt) Aber
> in welcher Weise kann ich Support von Microchip erhalten? Die werden mir
> doch nicht bei Problemen beim Programmieren helfen, oder?

Schau mal nach nebenan ins GCC-Forum. Ca. diese Art von Fragen wird auch 
Microchip bekommen. Mal verhält sich ein Konstrukt nicht so wie 
erwartet, mal generiert der Compiler ineffizienten Code und manchmal ist 
es vielleicht sogar ein Compilerbug.

Keine Ahnung wie tolerant der Support von Microchip ist. Aber für EUR 
147,- pro Jahr kann man nicht viel erwarten. Die meisten Leute werden 
das wohl eher wegen der Updates zahlen.


XL

von Hast (Gast)


Lesenswert?

Danke für Eure Infos!!!

von Carsten (Gast)


Lesenswert?

Hi,

Mal noch als kleine Anmerkung:
@Hast

Ich wundere mich gerade das du dir schon über den KAUF der Compiler 
gedanken machst. Natürlich kannst du mit deinem Geld machen was du 
möchtest, aber ich denke in 99,9% der Fälle die einen Hobbyisten 
betreffen und in immer noch deutlich über 90% der Fälle von kleinen und 
auch mittleren Unternehmen ist das einfach Sinnlos investiertes Geld...

Das die XC (egal ob 8,16 oder 32Bit Ausführung) Compiler in der 
Grundausstattung kostenlos sind hattest du ja weiter oben schon selbst 
geschrieben, also an einem Missverständniss kann es nicht liegen...
Und ausser der ETWAS besseren Effizienz beim erstellen des compilierten 
Files hat man wirklich nichts davon...
Den im Gegensatz zu vielen anderen Programmen die es sowohl in einer 
kostenlosen als auch in einer kostenpflichtigen Version gibt hast du 
überhaupt keine weiteren Einschränkungen. Weder drastisch reduzierte 
Funktionen noch Codegrößenbegrenung. Und der Kommerzielle Einsatz - egal 
wie geartet, egal ob Nebenerwerbsbastler, Ingenieurbüro oder gar 
Großkonzern - ist ausdrücklich freigegeben.
Diese Version kannst du ja auf beliebig vielen Rechnern gleichzeitig 
installieren und von beliebig vielen Nutzern gleichzeitig nutzen lassen.

Egal ob Privat oder Gewerblich: Bevor ich ans kaufen denke würde ich 
erst einmal mit der Freien Version arbeiten - noch ohne die 60Tage 
Volloptimierung zu aktivieren- Erst wenn du der Meinung bis diese 
Version stösst an Ihre Grenzen, dann den Testzeitraum starten.
Und erst wenn das dein Problem wirklich aus der Welt schafft UND du der 
Meinung bis du wirst häufiger vor dem Problem stehen, DANN könnte man 
über den Kauf nachdenken. Ist eine zeitnahe Wiederkehr der 
Effiziensproblematik nicht absehbar macht der Kauf aber auch bei einer 
Verbesserung quasi keinen Sinn (es sei denn du bist Lottomillionär, 
Berufserbe o.ä.)

Gruß
Carsten

von Hast (Gast)


Lesenswert?

Hallo Carsten,

deine Argumente sind natürlich wahr.

Ich denke, dass ich es auch so machen werde, nachdem die freie Version 
auch gewerblich nutzbar ist.

Wie ist es eigentlich, wenn die 60Tage abgelaufen sind und ich es 
deinstalliere und danach neu installiere? Habe ich dann wieder 60 Tage 
frei oder wird der Rechner, auf dem die freie Version schon mal 
installiert war, erkannt?

LG

von Carsten (Gast)


Lesenswert?

Hi,

Hast schrieb:
> Wie ist es eigentlich, wenn die 60Tage abgelaufen sind und ich es
> deinstalliere und danach neu installiere? Habe ich dann wieder 60 Tage
> frei oder wird der Rechner, auf dem die freie Version schon mal
> installiert war, erkannt?

Es war mal so das man das deinstallieren und wieder neu Installieren 
konnte. Zumindest wenn man MPLAB mitdeinstallierte. Ob das mit den 
aktuellen Versionen des C18 oder gar dem XC8 noch funktioniert kann ich 
nicht sagen.
Das die Zielgruppe für diese Compiler nur die HighVolume µC verwender 
sind und diese sich wohl kaum die Mühe machen werden 6x im Jahr den 
Installationsmarathon (incl. aller zwischenzeitlich gemachten Updates 
und eigenen Einstellungen) durchzuziehen halte ich es aber durchaus für 
möglich das dies immer noch so funktioniert. Probiere es aus.

Alternativ gibt es ja noch andere Wege... Aus den reihen der MC 
beschäftigten habe ich damals beispielweise (durch die Blume) den Tipp 
bekommen einfach ein Tool vorzuschalten das mir beim Start (kurzzeitig) 
das Datum am PC "justiert" oder bei genügend Leistung das ganze in einer 
VM laufen zu lassen wenn ich dauerhaft volle Optimierung wollte...
Aber auch das war lange vor XC8 (und ich habe es auch nicht probiert da 
ich geöhnlich sowieso den "größeren" µC verwende - also nur den 14K50 
auf lager habe und keinen 13K50 beschaffen würde... Selbes beim 18F2550 
und 18F2455 usw... Das rentiert sich bei den für mich relevanten 
Stückzahlen einfach nicht...

Gruß
Carsten

von X-X (Gast)


Lesenswert?

Hast schrieb:
> Ich bin auf der Suche nach einem vernünftigen C-Compiler für PIC, der
> möglichst viele (auch kleine) PICs unterstützt, um nicht immer in
> Assembler programmieren zu müssen.


Mein Liebling

http://www.mikroe.com/mikroc/pic/

Aber Vorsicht ab 2k instruction size will der gierige Hersteller 
einmalig über 200€ haben und

böse böse

er ist nicht "open source"*






*neudeutsch für "ich will die Arbeit anderer umsonst".

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


Lesenswert?

X-X schrieb:
> *neudeutsch für "ich will die Arbeit anderer umsonst".

Humbug.

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.