www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme: PIC 16f627 C Programmierung mit SDCC


Autor: Armin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe ein Problem mit dem PIC 16f627 und SDCC.
Ich wollte heute versuchen ein Programm zu Kompilieren welches dann auf 
dem 16f627 läuft.
Das Beispiel Programm habe ich von 
http://www.micahcarrick.com/04-25-2005/pic-c-progr... 
genommen welches ja die Kompilierung in C ermöglichen soll.

SDCC deswegen da es OpenSource ist und uneingeschränkt im vergleich zu 
anderen lösungen nutzbar ist und auch unter Linux verfügbar ist.

Auch wenn die anleitung des Kompilierens für Linux ist so sollte der 
Programmcode ja auch unter Windows Kompiliert werden können

Wie bin ich vorgegangen ?
-Code genomen in eine Datei reinkopiert und diese mit endung c versehen. 
(auch aus der tar.gz datei)
-Die Datei nach c:\programme\sdcc\bin kopiert
-Über die Komandozeile in das Verzeichniss c.\programme\sdcc\bin geganen
-Dort den Befehl
--------------------------------------------
(Eigene Datei erstellt und den Code reinkopiert)
C:\Programme\SDCC\bin>sdcc --debug -mpic14 -p16f627 test.c

test.c:22: syntax error: token -> '0x3FFB' ; column 7

############################################
(Die c Datei aus der Tar.gz genommen)
C:\Programme\SDCC\bin>sdcc --debug -mpic14 -p16f627 toggle_led.c
Der Befehl "gpasm" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Programme\SDCC\bin>
------------------------------------------------

Nun Stehe ich da mit meinem Kurzen Hemd und weiss nicht weiter. Hat von 
euch evt jemand einen Rat ?

Gruss Armin

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der Befehl "gpasm" ist entweder falsch geschrieben oder
>konnte nicht gefunden werden.

Du musst die gputils auch noch installieren.

Autor: Armin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger,
danke für die schnelle antwort.

Ich habe nun das gputils installiert.
Dann habe ich das gpasm in den Gleichen Ordner kopiert. Damit blieb dann 
die Fehlermeldung das das Programm unbekannt ist aus.

Jedoch erhielt ich nun die Meldung
C:\Programme\SDCC\bin>sdcc --debug -mpic14 -p16f627 toggle_led.c
toggle_led.asm:12:Error [179] Unable to open file "p16f627.inc" - No 
such file or directory


Ich habe dann die Headerdatei p16f627 von den gputils ebenfals in den 
gleichen Ordner kopiert und erneut den Befehl eingegeben.

C:\PROGRA~1\SDCC\bin>sdcc --debug -mpic14 -p16f627 toggle_led.c
error: linker script not specified

Jetzt will er irgendwas von einem Linker ?

Gruss Armin

Autor: Info (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß, das sind alte Fragen.

Armin schrieb:
> test.c:22: syntax error: token -> '0x3FFB' ; column 7

Die Initialisierung mit einer Adresse per "at" heisst nun 
(sdcc-snapshot-i586-mingw32msvc-20131123-8897) offenbar "__at".

Armin schrieb:
> Jetzt will er irgendwas von einem Linker ?

sdcc ruft auch gleich den Linker aus GPUTILS auf. Ich nehme an, wenn da 
was mit der Installation nicht ganz stimmt (Pfade), braucht er eine 
zusätzliche Angabe. Evtl. kommt die normalerweise auch aus einem 
Makefile? Man kann aber dem Linker das Skript angeben, über den Umweg 
sdcc, z.B.:
sdcc-snapshot-i586-mingw32msvc-20131123-8897\sdcc\bin>sdcc --use-non-free -mpic14 -p16f684 -V main.c -Wl -s16f684_g.lkr

Zur Warnung
main.asm:1215:Message[312] Page or Bank selection not needed for this device.  No code generated.
gibt es zwar einen Bugreport, aber keine Lösung. Anscheinend kann man es 
ignorieren?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.