Jochen schrieb:
> Hallo!
>
> Habe für 4 Boards eine kleine Firmware in IAR Workbench geschrieben.
> Der Code ist Grundlegend gleich, bis auf die ID-Nr. 1, 2, 3 und 4
> Leider habe ich keinen Möglichkeit über externe Pins eine Einstellung
> vorzunehmen, also muss es mit der Firmware gemacht werden. Aber ich habe
> auch nicht Lust jedes mal die define-Variable der Adresse zu ändern und
> neu zu kompilieren. Kann man sowas mit den Build-Optionen des Projekts
> machen??
>
Ich kenn jetzt nicht die IAR Workbench.
Aber so ähnlich geht es fast überall:
So ziemlich jeder Compiler hat eine Möglichkeit, wie man ihm #define von
aussen vorgeben kann.
Anstelle dass man im Code irgendwo ein
#define CPU_NR 1
hat, kann man dem Compiler beim Aufruf über die Commandline (was anderes
macht ja auch die IDE nicht, nur das man die Commandline nicht direkt
sieht) eine entsprechende Option mitgeben
cc test.c /D CPU_NR=1
(das ist jetzt nur ein konstruiertes Beispiel, die Details werden bei
deinem Compiler anders sein, aber jetzt gehts es ums Prinzip)
Das ist dann völlig gleichwertig, als wie wenn im Code ganz am Anfange
das entsprechende #define stehen würde.
Eine IDE wiederrum bietet normalerweise irgendwo an, welche derartige
Optionen sie beim Compileraufruf mitgeben soll und wenn die IDE das
Konzept verschiedener benutzererstellter Build-Konfigurationen
unterstützt (und das tun sie alle), dann kannst du dir natürlich
verschiedene Konfigurationen machen, die im Prinzip alle gleich sind und
sich nur in den #define unterscheiden, die dem Compiler beim Aufruf
mitgegeben werden.
Soweit zum Allgemeinen.
Wie das jetzt konkret in der IAR Workbench gemacht wird, weiß ich nicht.
Aber irgendwo wird es sicherlich einen Einstelldialog geben, in dem man
diese #define Sachen für eine bestimmte Build-Konfiguration festlegen
kann.