Forum: Mikrocontroller und Digitale Elektronik Pic Program compilieren usw


von Rohs (Gast)


Lesenswert?

Guten Tag,
ich muss ein kleines Programm für einen Pic16F872 schreiben und 
compilieren.
Gibt es auch für den Pic so wie für den Atmel  Freie Compiler?
Gibt es ein Tutorial ähnlich wie 
https://www.mikrocontroller.net/articles/AVR-Tutorial für den Pic?

Danke für die Hilfe

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?


von Rohs (Gast)


Angehängte Dateien:

Lesenswert?

Peter K. schrieb:
> Ein freier Compiler ist dieser hier:
> https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide

Habe es runtergeladen habe ich kann keinen Compiler wählen

von Toxic (Gast)


Lesenswert?

Rohs schrieb:
> Gibt es auch für den Pic so wie für den Atmel  Freie Compiler?

Peter K. schrieb:
> Ein freier Compiler ist dieser hier:
> https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide

Das ist die IDE die generell notwendig ist
Will der TO aber den Pic in C programmieren (was ich nur empfehlen kann)
benoetigt er nach der Installation zusaetzlich das hier:
https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers

Der erwaehnte Pic duerfte ein 8bitter sein - also XC8 downloaden.

Nachteil der freien Version:Keine Code-Optimierung......

von Walter (Gast)


Lesenswert?

Schau' bei Microchip mal nach XC8, das ist der Compiler. Du musst ihn 
separat installieren.

von Rohs (Gast)


Lesenswert?

Toxic schrieb:
> Rohs schrieb:
>> Gibt es auch für den Pic so wie für den Atmel  Freie Compiler?
>
> Peter K. schrieb:
>> Ein freier Compiler ist dieser hier:
>> https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide
>
> Das ist die IDE die generell notwendig ist
> Will der TO aber den Pic in C programmieren (was ich nur empfehlen kann)
> benoetigt er nach der Installation zusaetzlich das hier:
> https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers
>
> Der erwaehnte Pic duerfte ein 8bitter sein - also XC8 downloaden.
>
> Nachteil der freien Version:Keine Code-Optimierung......

Danke was kostet der Compiler mit Optimierung für private Zwecke?

von Teo D. (teoderix)


Lesenswert?

Toxic schrieb:
> Nachteil der freien Version:Keine Code-Optimierung......

Schon lange nicht mehr. Ist auf 2 (Mix. Code Länge/Geschwindigkeit) 
festgelegt .

von Frank K. (fchk)


Lesenswert?

Toxic schrieb:

> Nachteil der freien Version:Keine Code-Optimierung......

Das ist eine oft gehörte Falschaussage. Richtig ist:
1. Es gibt nur eine einzige Version, die Du mit einer kostenlosen 
Basislizenz oder einer kostenpflichtigen Pro-Lizenz nutzen kannst. Die 
Binaries sind immer dieselben.
2. "Keine Codeoptimierung" ist falsch. Richtig ist: Die allerhöchste 
Optimierungsstufe ist mit der kostenlosen Lizenz nicht verfügbar.

fchk

von Teo D. (teoderix)


Lesenswert?

Frank K. schrieb:
> 2. "Keine Codeoptimierung" ist falsch. Richtig ist: Die allerhöchste
> Optimierungsstufe ist mit der kostenlosen Lizenz nicht verfügbar.

Nein, man kann nur nicht nur nicht rein auf Speed und Codeläge 
einstellen. Gar keine Optimierung, führt auch du einem Lizenz-Error...

von Rohs (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe hier eine Uhr altes mini Projekt das ein Freund damals 
programmiert hat.
Kann man das nochmal Compilieren?
Die Syntax ist irgendwie komisch.
Der Code ist schrecklich geschrieben.
Was meint Ihr?

von Ron-Hardy G. (ron-hardy)


Lesenswert?

Teo D. schrieb:
> Gar keine Optimierung, führt auch du einem Lizenz-Error...

Blödsinn, habs grad mal getestet mit 0,1,2,3, 3 geht nicht sonst OK (XC8 
v2.36)
warning: Compiler option (Optimization level > 2) ignored because this 
feature requires the MPLAB XC8 PRO compiler

von Teo D. (teoderix)


Lesenswert?

Ron-Hardy G. schrieb:
> Teo D. schrieb:
>> Gar keine Optimierung, führt auch du einem Lizenz-Error...
>
> Blödsinn, habs grad mal getestet mit 0,1,2,3, 3 geht nicht sonst OK (XC8
> v2.36)

Ein paar Versionen früher, kam auch ne Fehlermeldung bei <2. Bin nur 
drauf gestoßen, weil da defaultmäßig Level 0 u. 1 eingestellt war und 
ich erst mal blöde gegut habe: Keine Lizenz für Level 0....

von Teo D. (teoderix)


Lesenswert?

Rohs schrieb:
> Ich habe hier eine Uhr altes mini Projekt das ein Freund damals
> programmiert hat.

Willst Du daran überhaupt was ändern?

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Bearbeiten kann man das Programm. Ist natürlich
einfacher wenn man weis mit welchem Compiler es
geschrieben wurde. Sonst muss man es anpassen für
den Compiler. Einfach reinladen und schauen was
für Fehler kommen.

von Rohs (Gast)


Lesenswert?

Peter K. schrieb:
> Bearbeiten kann man das Programm. Ist natürlich
> einfacher wenn man weis mit welchem Compiler es
> geschrieben wurde. Sonst muss man es anpassen für
> den Compiler. Einfach reinladen und schauen was
> für Fehler kommen.

Das Problem ist das viele Keywords nicht erkannt werden.
In der oben genannten IDE.
Weiß nicht was für eine IDE verwendet wurde

von Günther S. (Gast)


Lesenswert?

Ob die IDE Keywords erkennt oder nicht, ist völlig wumpe. Entscheidend 
ist, daß der Compiler den Kram übersetzen kann.


Der Programmieranfänger, der diesen Code zusammengestoppelt hat, hat den 
CCS-C-Compiler verwendet, das kann man an den nicht-standardkonformen 
Direktiven #device und #fuses erkennen.

von Teo D. (teoderix)


Lesenswert?

Günther S. schrieb:
> Der Programmieranfänger, der diesen Code zusammengestoppelt hat, hat den
> CCS-C-Compiler verwendet, das kann man an den nicht-standardkonformen
> Direktiven #device und #fuses erkennen.

Die dazu passenden Header-Files fehlen auch. Kannst Du quasi vergessen, 
neu schreiben ist da die "einfachere" Lösung.

von Rohs (Gast)


Lesenswert?

Günther S. schrieb:
> b die IDE Keywords erkennt oder nicht, ist völlig wumpe. Entscheidend
> ist, daß der Compiler den Kram übersetzen kann.

Das funktioniert aber leider nicht.

Günther S. schrieb:
> Der Programmieranfänger, der diesen Code zusammengestoppelt hat, hat den
> CCS-C-Compiler verwendet, das kann man an den nicht-standardkonformen
> Direktiven #device und #fuses erkennen.

Gibt es diesen Compiler noch?
Ich kenne den Pic nicht und möchte eigentlich nur compilieren und gut.

Danke für die Hilfe

von Rohs (Gast)


Lesenswert?

Teo D. schrieb:
> Die dazu passenden Header-Files fehlen auch. Kannst Du quasi vergessen,
> neu schreiben ist da die "einfachere" Lösung.

Das ist keine gute Nachricht.
Die Header sind leider nicht mit gesichert worden

von Teo D. (teoderix)


Lesenswert?

Rohs schrieb:
> Ich kenne den Pic nicht und möchte eigentlich nur compilieren und gut.

Wenn du nichts Ändern willst, kannst du auch einfach nur das Hex-File 
brennen!

von Teo D. (teoderix)


Lesenswert?

Rohs schrieb:
> Teo D. schrieb:
>> Die dazu passenden Header-Files fehlen auch. Kannst Du quasi vergessen,
>> neu schreiben ist da die "einfachere" Lösung.
>
> Das ist keine gute Nachricht.
> Die Header sind leider nicht mit gesichert worden

Die sind Bestandteil des ursprünglichen Compilers.....

von Rohs (Gast)


Lesenswert?

Teo D. schrieb:
> Wenn du nichts Ändern willst, kannst du auch einfach nur das Hex-File
> brennen!

ja ne kleine Änderung brauche ich schon deshalb möchte ich compilieren

von Ron-Hardy G. (ron-hardy)


Lesenswert?

Teo D. schrieb:
> Rohs schrieb:
>> Ich kenne den Pic nicht und möchte eigentlich nur compilieren und gut.
>
> Wenn du nichts Ändern willst, kannst du auch einfach nur das Hex-File
> brennen!

Das ist eine richtig gute Idee...

von Rohs (Gast)


Lesenswert?

Rohs schrieb:
> ja ne kleine Änderung brauche ich schon deshalb möchte ich compilieren

deshalb will ich compilieren

von Rohs (Gast)


Lesenswert?

Könnte das die Lösung sein für meine Herausforderung?
https://www.ccsinfo.com/ccsfreedemo.php
Was meint Ihr?

von Günther S. (Gast)


Lesenswert?

Der verwendete Compiler ist der hier:
https://www.ccsinfo.com/compilers.php

Kostet halt Geld.

von Ron-Hardy G. (ron-hardy)


Lesenswert?

Rohs schrieb:
> Was meint Ihr?

Probiers doch einfach und sei schneller als 45 Tage, dann passt das 
schon

von Christian M. (christian_m280)


Lesenswert?

Gaaaanz einfache Änderungen könnte man im .lst machen und dann 
assemblieren.
Wobei der Source ist ja relativ klein zum Neuschreiben...

Gruss Chregu

von Toxic (Gast)


Lesenswert?

Teo D. schrieb:
> Toxic schrieb:
>> Nachteil der freien Version:Keine Code-Optimierung......
>
> Schon lange nicht mehr. Ist auf 2 (Mix. Code Länge/Geschwindigkeit)
> festgelegt .

Das mit der Code-Optimierung muss ich nochmal selbst checken - wie dem 
auch sei:
IDE und XC8 downloaden und der TO kann sofort beginnen zu 
programmieren.Er kann ja dann in den Einstellungen (oder sonst wo) 
selbst nachsehen,was Sache ist.Ich wuerde eine Codeoptimierung eh nur 
einsetzen wenn der Speicher zu knapp wird oder ein bestimmter Codeteil 
zeitkritisch ist.Fuer das letztere kann man ja dann Assembler-Code mit 
einpflanzen.
Der Pic16F872 ist ja noch aus der alten Garde,ein neuerer Ersatztyp 
haette garantiert bedeutend mehr Speicher.Aber ich denke mal,dass TO 
jetzt da kein Mondlandeprogramm fuer das "Artemis"-Projekt erstellen 
will...
https://www.youtube.com/watch?v=rhCtRFhrCg0

von Günther S. (Gast)


Lesenswert?

Statt des grindigen auf Netbeans basierenden MPLab Studio kann man auch 
das Microchip Studio verwenden. Das kann neben AVRs und SAMD-Arms auch 
PICs programmieren, ist aber, da es auf der VisualStudio-Plattform von 
MS aufbaut, deutlich angenehmer in der Handhabung als der 
Netbeans-Dreck.

von Teo D. (teoderix)


Lesenswert?


von Rohs (Gast)


Lesenswert?

Kann man wirklich mit dem Atmelstudio bzw Mikrochip Studio auch Pic 
programmieren?
Das wäre jetzt echt ein Grund das Programm neu zu machen.

Danke

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

Für die x8/16/32 compiler gibt es Medizin auf Github!

von Rohs (Gast)


Lesenswert?

Apollo M. schrieb:
> Für die x8/16/32 compiler gibt es Medizin auf Github!

Was meinst du Damit?

von Teo D. (teoderix)


Lesenswert?

Rohs schrieb:
> Apollo M. schrieb:
>> Für die x8/16/32 compiler gibt es Medizin auf Github!
>
> Was meinst du Damit?

Wahrscheinlich dies:
https://github-com.translate.goog/Redouane64/PIC-on-VSCode?_x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=sc

von Rohs (Gast)


Lesenswert?

Rohs schrieb:
> Kann man wirklich mit dem Atmelstudio bzw Mikrochip Studio auch Pic
> programmieren?
> Das wäre jetzt echt ein Grund das Programm neu zu machen.
>
> Danke

Stimmt das?

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

Rohs schrieb:
> Was meinst du Damit?

Medizin soll doch gelegentlich sogar heilen können ... und steht 
allgemein für patching/crack, hier dann um die Compiler lizenfrei zu 
machen mit allen Optimierungen.

Keywords: xclm.old patch

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.