Controller-Kennung auslesen

Gast #2197490
Lesenswert?
• ▲
▼
Hallo,

ich möchte gern, dass bestimmte Precompileranweisungen für bestimmte µC 
ausgeführt werden. Der Code soll dabei nicht für jeden µC extra 
compiliert werden müssen, sondern ich möchte, dass der Mikrocontroller 
beim booten selbst erkennt, welchen Code aus den Precompileranweisungen 
er einbinden muss.

Ich habe mir das so vorgestellt:
1
#if (MCU == atmega8)
2
  #define ...
3
  #define ...
4

5
#elif (MCU == atmega32)
6
  #define ...
7
  #define ...
8

9
...
10
#endif

Wobei MCU die Kennung des Mikrocontrollers darstellt. Diese kann man ja 
mit z.B. dem AVR-Progtool auslesen - aber wie macht man das in C?

LG
Korny
Gast #2197498
Lesenswert?
• ▲
▼
Ai Ai Ai, mal wieder tiefes Unverständnis der Toolchain...

Kurz: Diese #irgendwas sind für den Präprozessor, der VOR dem Compiler 
über den Quellcode geht und im großen und ganzen nur Textersetzung macht 
und andere Dateien einfügt. Danach sind all diese #... VERSCHWUNDEN und 
der Compiler macht weiter. Füg mal -save-temps zur Kommandozeile vom GCC 
hinzu und guck ins s-File.

Was du vorhast ist vollkommen unmöglich. Ich meine es gibt eine 
Möglichkeit mittels Assembler den Typ eines AVR zu lesen (kann mich aber 
irren), besser ist es aber für jeden Typ ein eigenes Hexfile zu erzeugen 
(bzw. das ist die einzige Möglichkeit). Mit gut konfigurierter IDE bzw. 
Makefile ist das kein großer Akt.

PS: Ein AVR bootet nicht (nicht wie ein PC).

Antwort schreiben

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.

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.