Atmel Studio 7 - zwei Hex Dateien erzeugen

Gast #4595446
Lesenswert?

Hallo,

ich habe ein Projekt, bei dem zwischen zwei Stellen Daten via Funk 
übertragen werden sollen.
Nun bin ich soweit, dass ich mit dem programmieren anfangen kann.

Programmiert werden soll ein AtMega88 mit Atmel Studio 7.

Damit ich keine zwei Software-Projekte pflegen muss, möchte ich gerne 
Atmel Studio so konfigurieren, dass er beim compilieren zwei Hex Dateien 
erzeugt. Eine für die Sender-Platine und eine für die Empfänger-Platine.
Dabei soll mittels #ifdef der jeweilige Quellcode dazu verwendet werden.

Kann mir jemand dabei helfen, wie ich das im Atmel Studio konfigurieren 
muss?

Ich habe schon gegoogelt, aber nichts passendes gefunden.
Vielen Dank.
Gast #4595467
Lesenswert?

Schau dir die Pre und Post Compiler commands an. Ich hab so etwas 
ähnliches realisiert wo ich verschiedene Versionen mit einem bootloader 
her file verknüpft hab. Damit kannst du quasi alles realisieren wie du 
es gerade möchtest. Ich hab mir da einfach ein zwei python Skripts 
geschrieben die das machen. Die werden dann nur angestoßen. Um zwei 
Versionen zu erzeugen könntest du ein #ifdef XXX #else #endif einbauen.
Zwei mal compilieren und dazwischen eben die Datei aus dem debug / 
Release Ordner wegsichern (sonst kommt der clean und holt sich die).

-D
Gast #4596041
Lesenswert?

Dennis X. schrieb:
> Um zwei
> Versionen zu erzeugen könntest du ein #ifdef XXX #else #endif einbauen.
> Zwei mal compilieren und dazwischen eben die Datei aus dem debug /
> Release Ordner wegsichern (sonst kommt der clean und holt sich die).

Danke für die Antwort.
Ich dachte eher, ob es vielleicht die Möglichkeit gibt, dass er bei 
einem Build gleich beide Varianten kompiliert und mir dann zwei 
verschiedene Hex-Dateien erzeugt.
#4597743
Lesenswert?

nur mal so als weitere Idee:

wenn sich Sender- und Empfängerplatine sehr unterscheiden, wären 2 
Projekte evt die bessere Lösung.

Sind sich die Platinen jedoch sehr ähnlich oder fast identisch, so 
könnte man sie markieren indem man einen Input Pin auf GND legt (am 
Empfänger) bzw auf Vcc legt (am Sender). Anhand dieses Pins kann die 
Software dann die Sende- oder Empfangsfunktion ausführen. Der Vorteil, 
da brauchst nur mehr ein einziges HEX file für alles.
#4601840
Lesenswert?

Harry M. schrieb:
> Sind sich die Platinen jedoch sehr ähnlich oder fast identisch, so
> könnte man sie markieren indem man einen Input Pin auf GND legt (am
> Empfänger) bzw auf Vcc legt (am Sender). Anhand dieses Pins kann die
> Software dann die Sende- oder Empfangsfunktion ausführen. Der Vorteil,
> da brauchst nur mehr ein einziges HEX file für alles.

Genau so habe ich das auch gemacht.
Die meisten Routinen sind gemeinsam verwendbar und nur wenig Code wird 
mehr benötigt gegenüber getrennten Programmen.
Auch ist es für die Fertigung einfacher.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren