C-Compiler und Config-Words Beschreibung bei PIC .

Gast #1066793
Ich mache erste Schritte in PIC-Programmierung. Meine ersten Versuche 
laufen
unter C-Compiler SDCC. Wie beschreibe ich Config-Words( CONFIG1H, 
CONFIG2H,
CONFIG2L usw.) wenn ich einen C-Compiler benutze? Im welchem 
Speicherart (Eeprom oder Flashprom) sind die Config-Words  abgelegt?

skorpionx
Gast #1066805
Ich kenne die PICs nicht... sollten bei PIC die "Configwords" das sein, 
was beim AVR die Fuses sind, werden die nicht von/mit dem Compiler, 
sondern mit dem Brennprogramm beschrieben.

Ansonsten noch viel Spaß mit PIC... SCNR
#1066817
Sven Pauli wrote:

> Ich kenne die PICs nicht... sollten bei PIC die "Configwords" das sein,
> was beim AVR die Fuses sind, werden die nicht von/mit dem Compiler,
> sondern mit dem Brennprogramm beschrieben.

Bei Microchips Compilern da steht das oft direkt im Quellcode und 
folglich im Objektfile mit drin. Sowas wäre prinzipiell auch bei AVRs 
möglich - als eigene Section für die paar Bytes.
Gast #1066819
A. K. wrote:
> Bei Microchips Compilern da steht das oft direkt im Quellcode und
> folglich im Objektfile mit drin.

Er hat aber gesagt, dass er den SDCC verwendet, und der ist alles aber 
nicht von Microchip.
#1066823
@Sven: Da das ziemlich wahrscheinlich auch bloss im Hex File an 
speziellen Pseudoadressen landet ist es ziemlich schnuppe welcher 
Compiler verwendet wird.

@skorpionx: Die Configbits aus dem Hexfile in den Controller zu jagen 
ist Sache des Programmiergeräts/-Programms. Wo genau die im Controller 
wirklich stecken ist nur deren Problem.

http://www.micahcarrick.com/04-25-2005/pic-c-programming-linux.html
Gast #1066828
Laut "sprut":
>Beim Brennen eines Programms in einen PIC müssen eine Reihe
>von Optionen ausgewählt werden, die auf die spätere Funktion des
> PIC einen großen Einfluß haben. Bei alter DOS-Software (PP.EXE)
>erfolgt das durch Kommandozeilenparameter, bei meiner Windowssoftware
>für Brenner2 und Brenner3 durch grafische Auswahlfelder. Alternativ
>können diese Parameter auch schon im Programmquelltext festgelegt werden. >Beim 
Brennen werden diese Einstellungen im Konfigurationsregister des PIC >abgelegt.

weiter:

>Man kann sich jetzt aus den einzelnen Bits ein ... Steuerwort >zusammenbasteln, 
und es in das ASM-File aufnehmen, indem man dort z.B. >folgende Zeile einfügt:

; Configuration festlegen
        __CONFIG     B'11110100100000 '

>Durch den Pseudobefehl '__CONFIG' erkennt der Assembler, dass er dieses 
>Datenwort als Config in das HEX-File aufnehmen soll, und es wird später 
>automatisch in den PIC gebrannt.

Also, so geht das in Assembler. Aber in C...?
Gast #1067678
Sprut-Brenner erkennt nach dem laden von der *.hex Datei,
ob Konfiguration für PIC schon in der Datei vorhanden ist und wenn 
nicht,
gibt es ein Meldung und Konfiguration kann man von „Hand“ durchführen.
Es kann auch von Vorteil sein die Konfiguration in C-File durchzuführen.
Der Art „wie“ ist Compiler abhängig.

Bei C-18:
#pragma config OSC = HS   //CPU=20 MHz
#pragma config PWRT = ON
#pragma config BOR = OFF
#pragma config WDT = OFF  //Watchdog Timer
#pragma config LVP = OFF  //Low Voltage ICSP

SDCC:
code char at __CONFIG1H conf1 = 0x22; // Select HS OSC CPU=20 MHz
code char at __CONFIG4L conf2 = 0x81; // Disable LVP Low Voltage ICSP
code char at __CONFIG2H conf3 = 0x0E; // DIsable WDT Watchdog Timer

SDCC unterstützt auch : “#pragma code”
Vielleicht könnte man sich über diese Anweisung auch etwas basteln…

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.