Hallo, ich habe 2 verschiedene Rechner mit unterschiedlichen seriellen Schnittstellen. Dazu muss ich jeweils eine Präprozessor Variable ändern damit die Debugausgabe darüber funktioniert(Daten müssen einmal invertiert bzw. nicht invertiert an die Serielle übergeben werden.) Ich nutze hier Eclipse Luna mit dem avr-eclipse plugin unter Windows7. Kennt Ihr eine Möglichkeit die verwendete Buildumgebung an den Präprozessor zu übergeben damit der entsprechende Code für mein µC erzeugt wird? Oder steh ich auf dem Schlauch und es geht anders besser? Schonmal Danke für Tips. Gruss, Jörg
Hallo, nutze die Option "-D" des Kompilers, zB. "-D PC1=1" auf den 1 PC und auf den anderen "-D PC1=0". dann kanste im Programm mit #ifdef den Wert von PC1 abfragen. "-D" ist wie #define im Code. mfg rocky_j
Also mit Compiler-Parameter wie "-D" definiert man ja z.B. "Debug" oder "normal". So war das sicher gemeint. Aber der Namensraum ist ja gross ...
:
Bearbeitet durch User
Prima das funktioniert. Allerdings habe ich noch nicht herausgefunden wo man das global hinzerlegen kann. Bisher habe ich die Aufrufparameter nur Projektspezifisch hinterlegen können. Weiss jemand wo ich das bei eclipse umd dem avr-eclipse plugin einstellen könnte?
Ok Global hinterlegen ging nicht. Aber man kann pro Projekt weitere Build Konfigurationen erstellen. Ich habe einfach eine mit nem -D switch dazugefügt. Und die wird halt manuell auf entsprechender Hardware händisch gesetzt. Nicht so schön aber geht wohl nicht anders.
Jörg Esser schrieb: > Ok Global hinterlegen ging nicht. Aber man kann pro Projekt weitere > Build Konfigurationen erstellen. Ich habe einfach eine mit nem -D switch > dazugefügt. Und die wird halt manuell auf entsprechender Hardware > händisch gesetzt. Ich würde in beiden Build-Konfigurationen ein
1 | -D XYZ=blah |
setzen, mit entsprechenden Werten für die gebracuhte Schnittstelle. Danach nicht mit einem
1 | #ifdef
|
abfragen, sondern mit
1 | #if XYZ == blah
|
.
> Nicht so schön aber geht wohl nicht anders.
Was wäre dann schön? Das Eclipse per Gedankenlesen "das Richtige" macht?
Man kann im Makefile auch auf Umgebungsvariablen des Betriebssystems zugreifen und diese an den Präprozessor durchreichen (oder sie bei ausgeprägtem Masochismus direkt im Makefile abfragen/verarbeiten). Das hätte den Vorteil, dass Buildeinstellungen/Eclipse-Projekt mit in die Versionsverwaltung können und lokal nicht angepasst werden müssen. Wie man das in Eclipse unterbringt, habe ich auf die Schnelle nicht herausgefunden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.