Atmel Studio: Builds für unterschiedliche Hardwareversionen

Gast #4369131
Lesenswert?
• ▲
▼
Hallo,

ich habe ein WinAVR Projekt für ein Projekt welches es in 
unterschiedlichen Hardwareversionen existiert. Dafür habe ich im 
Makefile einen define angelegt (-Dhwv=1). Nach dieser Version wird mit 
#define im Code entsprechend kompiliert und die Ausgabedatei auch 
entsprechend benannt (z.B. devhwv1.hex). Ich möchte nun das Projekt ins 
Atmel Studio überführen. Ist so etwas darin auch möglich?

Grüße
Stefan
#4369391
Lesenswert?
• ▲
▼
Ja, natürlich, es gibt dafür drei Möglichkeiten in AVR-Studio 4.1x:

- die Einfache: du verwendest das externe Makefile für den 
AVR-Studio-Build. Das geht, indem du unter Project/Configuration Options 
die Checkbox "Use External Makefile" klickst und dein Makefile dort 
angibst.

- die Aufwendige: Beim Übertragen von make/Makefile nach AVR-Studio alle 
globalen #defines in eine globale .h-Datei übernehmen und diese als 
erste in allen .c-Dateien includen. Das funktioniert nur für -D 
Kommandozeilen-Defines, evtl weitere Compiler- und Linker-Options musst 
du über den "sauberen" Weg übertragen.

- die Saubere: Du legst ebenfalls unter Projekts/Configuration Options 
mehrere Konfigurationen an ( z.B. Release/Debug oder entsprechend deinen 
HW-Varianten). Hier kannst du dann für jede Konfiguration unter dem 
Reiter(?) "Custom Options" alle möglichen Compiler-Options, also auch 
-DHWV=1, angeben, die dann spezifisch für diese Konfiguration 
gespeichert und beim Build angewendet werden.

Unter AtmelStudio 6 oder 7 findest du die entsprechenden 
Einstellungen/Dialoge im Kontextmenu des Projektes ( Nicht der Solution 
) unter dem Eintrag "Properties". Ist alles etwas verwirrender als 
AtmelStudio 4, mit etwas Suchen findest du aber alles.

Welcher Weg für dich der richtige ist, hängt davon ab, was du primär mit 
AtmelStudio machen willst: Wenn du komplett auf AtmelStudio als IDE 
setzt, würde ich den sauberen Weg wählen, wenn du AtmelStudio nur mal 
zwischendurch zum Debuggen verwenden willst, ansonsten mit deiner 
bestehenden Kommandozeilen-toolkette + Editor + make zufrieden bist, 
reicht es mMn völlig aus, das externe Makefile einzubinden und alle 
Einstellungen auch weiterhin im Makefile vorzunehmen.

Und noch eines: Es ist common style, für Präprozessor-Defines Bezeichner 
aus ausschließlich Grossbuchstaben zu verwenden, als nicht -Dhvw=1

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.