mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SDCC und MPLAB


Autor: Anubis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann mir jemand sagen, wie ich den SDCC-Compiler in Microchip MPLAB 
verwenden kann? Welche Optionen muss man beim kompilieren angegeben?

Autor: Latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://sdcc.sourceforge.net/doc/sdccman.pdf


siehe kapitel 4.5.5 command line options

hoffe das hilft!

noch was:

ich habe den C-Compiler von www.cc5x.de die free version ist auf 1k 
fertiger Code beschränkt habe also 17k C-Code geschafft. Hier bei ist 
eine gute Beschreibung(schritt für schritt) wie man in MPLAB ein Projekt 
erstellt, das den C-Compiler verwendet. Dann brauchst du nur noch auf 
Build klicken....

Autor: Anubis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja, CC5x verwende ich auch. Aber ich bin jetzt auf ein Problem gestoßen. 
Ich möchte 594 Byte speichern, für ein Hintergrundbild auf einem 
Grafik-LCD. Erst einmal läßt sich die nicht in einen einzigen Array 
unterbringen. CC5x beherrscht scheinbar nur 8Bit Pointer/ Adressen (in 
der Freeversion?).
Bei der Aufteilung der 594 Byte auf drei Arrays erhalte ich die 
Fehlermeldung, dass nicht genügend Platz für die Array ist. Noch nicht 
einmal das erste mit 255 Byte lassen sich so einbinden.

Der SDCC hat damit keine Probleme. Nur bekomme ich kein brauchbares 
Format für MPLAB zu stande.

Autor: Latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#pragma rambank 0
variablen auf bank o

#pragma rambank 1

usw...

hoffe du hast an den Bankwechsel bei so einem PIC gedacht.

welchen benutzt du?
Einen 16FXXX?

Autor: Latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aufstellung von PIC C- Compilern allgemein:
http://www.informel.de/pic/ccompiler.htm



Hier was zum SDCC-Compiler:
http://www.matwei.de/doku.php?id=de:sdcc:installation

Autor: Anubis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also die Sache mit dem Bankwechsel ist mir immer noch nicht so ganz 
klar. Ich hatte vorher mit anderen Controllern zu tun und dann ist diese 
Speicherorganisation etwas gewöhnungsbedürftig. Wie genau funktioniert 
das bei meinem Problem?

Autor: Anubis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe ich ganz vergessen: PIC16F877

Autor: Michael König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann könntest du dir eventuell auch mal den PICC-Lite von HI-TECH 
anschauen, wobei der leider auch Beschränkungen hat:
http://microchip.htsoft.com/products/compilers/PICClite.php

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir doch mal den mikroC for PIC an: 
http://www.mikroe.com/en/compilers/mikroc/pic/

Autor: Latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Speicher von deinem PIC ist auf verschiedene Speicherbänke verteilt. 
Du musst dir vorstellen, dass es verschiedene Orte sind. Wenn du jetzt 
Variablen anlegst, musst du dem Compiler sagen, an welchem Ort du die 
Variable anlegen willst.

im Datenblatt müsstest du eine Auflistung: Special Function Registers 
finden.
Dort siehst du die vier(oder wie viele auch immer bei deinem pic) 
Speicherbänke als Spalten. in den zeilen sind die einzelnen Register mit 
entsprechender hexadezimalen Adresse angegeben.

Du kannst also im Datasheet suchen nach:" General Purpose Register "

das steht an den Stellen der einzelnen Bänke, wo Platz für eigens 
erstellte Variablen geboten wird.


hoffe das ist eine hilfe

Autor: Latissimo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die überschrift der Tabelle heißt: register file map

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.