Forum: Mikrocontroller und Digitale Elektronik Atmel Studio: Builds für unterschiedliche Hardwareversionen


von Stefan (Gast)


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

von Rainer B. (katastrophenheinz)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.