atmega & splint

Gast #1873776
Hallo,

ich habe nach langer Zeit 'mal wieder mein atmega162 bord hervorgehohlt, 
um etwas damit herumzuspielen. Als ich versucht habe splint über meinen 
code laufen zu lassen, wurden alle Registermakros als not defined 
angenörgelt. Das macht auch halbwegs sinn, da die Registerdefinitionen 
ja über "MCU=atmega162" im Makefile und dann über das avr/io.h include 
und vor allem über die implizite definition von 
"__AVR_ATmega162__"gemacht werden und splint diese Abhängigkeit somit 
nicht erkennt.
Hat jemand eine gute Idee, wie ich splint die Registerdefinitionen 
mitteilen kann?

gr. tkl
#1873799
man splint sagt u.a.:
1
...
2
       Pre-processor
3

4
       These  flags  are  used  to  define  or  undefine  pre-processor constants.  The
5
       -I<directory> flag is also passed to the C pre-processor.
6

7
       -D initializer
8
             Passed to the C pre-processor.
9
...
Gast #1873843
OK, du meinst, das ich splint einfach -D__AVR_ATmega162__ übergebe? das 
wird sicherlich funktionieren, dann definiere ich im Makefile jedoch den 
Prozessor 2 mal (einmal mit MCU=atmega162 und ein zweited mal mit 
...-D__AVR_ATmega162__). lässt sich diese Doppelung nicht umgehen?

gr. tkl
#1873879
tkl schrieb:
> lässt sich diese Doppelung nicht umgehen?

Ich wüsste nicht, wie.

Die Umsetzung von -mmcu=atmega162 zu einem impliziten 
-D__AVR_ATmega162__ passiert ja irgendwie im gcc.

Davon kann splint ja nichts wissen.

Je nachdem, wie man splint aufruft, kann man da vielleicht etwas 
basteln, z.B. im Makefile.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.