liebe Leser, (ich puste hier etwas Staub von den Regalen...) ich moechte mit sdcc fuer PIC16f5x (allenfalls PIC16f84) kompilieren, habe aber Einstiegshuerden. """apt-get install gputils sdcc""" hat mir erfolgreich die Werkzeuge auf mein Lubuntu 14.04 LTS geholt: sdcc meldet sich mit 3.3.0, was neu genug sein duerfte. Nun versuche ich gemaess diverse, aeltere Tutotials zu pruefen ob die libs in Reichweite sind: """ $ cat test_headers.c #include <string.h> char str1[10]; void main(void) { strcpy(str1, "testing"); } $ sdcc --verbose --debug --use-non-free -mpic14 -p16f84 test_headers.c Processor: 16f84 Using devices from /usr/bin/../share/sdcc/include/pic14/pic14devices.txt. sdcc: Calling preprocessor... sdcc: Generating code... sdcc: Calling assembler... sdcc: Calling linker... libsdcc.lib: No such file or directory $ find /usr/share/sdcc/ -name libsdcc.lib /usr/share/sdcc/lib/ds390/libsdcc.lib /usr/share/sdcc/lib/ds400/libsdcc.lib /usr/share/sdcc/lib/large/libsdcc.lib /usr/share/sdcc/lib/medium/libsdcc.lib /usr/share/sdcc/lib/small/libsdcc.lib /usr/share/sdcc/lib/small-stack-auto/libsdcc.lib $ """ die Tutorials nennen "inc2h.pl", ich finde "/usr/share/sdcc/scripts/cinc2h.pl" als neuerer Ersatz dafuer. PROBLEM: trotz lesen des kommentars in "cinc2h.pl" und pervasiver einsatz der $SuchmaschineDesTages schaffe ich es nicht einsatzbeispiele fuer dieses Script zu finden. FRAGEN: - was ist genau gemeint mit "...to add a NEW targetdevice to SDCC/PIC.."? (ich schreibe ja nicht unterstuetzung fuer ein NEUES Target, ich moechte ja nur sdcc fuer ein bereits unterstuetztes Target aktivieren...) - wie ermittle ich "path/to/gputils_source"? (ist Quellcode der gputils selbst gemeint oder "/usr/share/gputils/header/" weil """ $ find /usr/share/gputils | grep p16f[58][4x] /usr/share/gputils/header/p16f5x.inc /usr/share/gputils/header/p16f84.inc /usr/share/gputils/header/p16f84a.inc """ ?) - was ist ein sinnvoller Wert fuer "path/to/output"? (da hab ich gar keine Phantasie...) es waer nett einen Konkreten/Konstruktiven Hinweis zu bekommen, es darf auch eine Webadresse eines aktuellen Tutorials mit Beispiele sein (v.a. mit "cinc2h.pl" anstelle "inc2h.pl") - ich lese fliessen D/E/F/I, mit Sp/Pt wuerde ich auch noch ueberleben. besten Dank im voraus Stephan
Ich habe leider nur eine Gegenfrage: was ist anders/besser mit SDCC gegenüber den Microchip Compilern?
Carsten M. schrieb: > Ich habe leider nur eine Gegenfrage: was ist anders/besser mit SDCC > gegenüber den Microchip Compilern? Es ist Open Source und unterliegt einer freien Lizenz. fchk
Frank K. schrieb: > > Es ist Open Source und unterliegt einer freien Lizenz. Und wie so viele Open Source Tools ist es, wenn überhaupt, nur nach exessiven Konfigurationsorgien zu benutzen. MPLab und XC8 installieren und gut ist.
Willst du an dem Compiler irgendwas ändern? Sonst ist es doch egal, ob Open Source oder nicht. Das war bei mir noch nie ein Kriterium. Und eine Free Version gibt es beim XC auch, den man meines Wissens sogar kommerziell nutzen darf. Also ich hatte SDCC mal getestet, doch nach der Ausgabe, dass kein double unterstützt wird, war er in meinem Kopf unter "nicht wirklich brauchbar" gespeichert. Abgesehen davon, will ich auch eine IDE haben, die da nicht dabei ist, aber das ist Ansichtssache. Daher kann ich zu deinem Problem nichts sagen. Bei MPLAB X oder auch MikroC z.B. hatte ich solche Probleme, dass irgendetwas nicht gefunden wurde, noch nie. BTW: Wieso willst du für einen 16F84 ein Programm schreiben? : http://www.mikrocontroller.net/articles/PIC#Alte_und_neue_PICs
Carsten M. schrieb: > Ich habe leider nur eine Gegenfrage: was ist anders/besser mit SDCC > gegenüber den Microchip Compilern? bei mir besteht keine Pflicht fuer SDCC. Ich "versuch mich an jedem" Compiler der: - unter freier Lizenz verfuegbar ist (Frei wie Freiheit, nicht Freibier) - unter Linux oder *BSD laeuft - ueber das jeweilige standard Paketmanagement zu haben ist (keine wilde Binaries) also z.B. "apt-get install sdcc" Michael Skropski schrieb: > BTW: Wieso willst du für einen 16F84 ein Programm schreiben? : > http://www.mikrocontroller.net/articles/PIC#Alte_und_neue_PICs - weil ich eine Schachtel voll davon zur Verfuegung habe, unbenutzte neuwertige Teile. - weil ich etwas, dass den verwendet nachbauen will - weil ich etwas, dass den verwendet erweitern will Ergaenzend: wenn ich einen Compiler suche, suche ich einen Compiler - nicht eine IDE; eine IDE habe ich schon (make, emacs, ...) eine IDE suche ich vorallem beruflich selten, weil sich IDEs generell sehr schlecht in NightlyBuilds/ContinuousIntegration einsetzen lassen.
Stephan schrieb: > Michael Skropski schrieb: >> BTW: Wieso willst du für einen 16F84 ein Programm schreiben? : >> http://www.mikrocontroller.net/articles/PIC#Alte_und_neue_PICs > > - weil ich eine Schachtel voll davon zur Verfuegung habe, unbenutzte > neuwertige Teile. > - weil ich etwas, dass den verwendet nachbauen will > - weil ich etwas, dass den verwendet erweitern will Ansich sind die PICs, die das gleiche Gehäuse haben, auch von der Belegung her gleich. Du kannst also den PIC16F84A z.B. durch einen 16F627A oder neuer -> 16F1826. Aber musst du wissen, ob der Umstieg auf dauer Sinn macht (Wenn dein Vorrat von 16F84 leer ist. Ich hab meinen in den Mülleimer geleert) Stephan schrieb: > wenn ich einen Compiler suche, suche ich einen Compiler - nicht eine > IDE; eine IDE habe ich schon (make, emacs, ...) > eine IDE suche ich vorallem beruflich selten, weil sich IDEs generell > sehr schlecht in NightlyBuilds/ContinuousIntegration einsetzen lassen. Den XC8 kann man meines Wissens auch ohne MPLAB X nutzen. Die IDE gibt es aber auch für Linux, daher würde ich MPLAB X statt den bisherigen nutzen, da er eben für die PICs und Microchips Compiler gemacht wurde. Aber wie gesagt. Solltest du DIE Ultra IDE haben, kannst du auch den XC8 Compiler von Microchip laden. Ich weiß bloß nicht, wie gut der einzelne Compiler dokumentiert ist.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.