Forum: Compiler & IDEs projektabhängige Compilerauswahl in em:Bitz V0.42


von Bernd (Gast)


Lesenswert?

Weiß jemand wie bei Em:Bitz der verwendete Compiler hinterlegt ist? Also 
es gibt dieses Drop Down Menü, wo man den Compiler auswählen kann. Es 
gibt den Bare Metal Compiler und das was bei der Installation 
automatisch (aus dem PATH?) erkannt wurde.
Wie komme ich an nachträglich installierten Compilern bzw. wie kann ich
einen Compiler auswählen, der (aus bestimmten Gründen) nicht im PATH
steht?
Hintergrund der Frage ist, das ich verschiedene Compiler und
Compilerversionen installiert aber nicht im PATH eingetragen habe und
gerne gezielt einen auswählen können möchte. Momentan sehe ich bei
em:B... vermutlich die einzige Möglichkeit in einem eigenen makefile, wo
ich dann aber auch alle anderen Einstellungen selber eintragen müsste.

Es gibt unter C:\Users\NAME\AppData\Roaming\EmBitz\0.40\default.conf
Die Einträge für das Compiler Drop Down Menü wobei eine Variabel
$(TARGET_COMPILER_DIR) verwendet wird, deren Wert ich nirgendwo finde.
Das Verzeichnis scheint aber auf das em:B... Verzeichnis zu verweisen
und ist bei allen im Drop Down Menü hinterlegten Compilern gleich.
Übrigens habe ich em:Bitz V0.42 installiert, der Ordner heißt trotzdem
0.40. Nur bevor einer fragt...

Also ich könnte den ARM GCC vermutlich in der default.conf händisch
eintragen.

      <armgcc>
        <NAME>
          <str>
            <![CDATA[ARM GCC Compiler (generic)]]>
          </str>
        </NAME>
        <INCLUDE_DIRS>
          <str>
            <![CDATA[$(TARGET_COMPILER_DIR)\..\arm-none-eabi\include;$(TARGET_COMPIL 
ER_DIR)\..\arm-none-eabi;]]>
          </str>
        </INCLUDE_DIRS>
        <LIBRARY_DIRS>
          <str>
            <![CDATA[$(TARGET_COMPILER_DIR)\..\arm-none-eabi\lib;$(TARGET_COMPILER_D 
IR)\..\lib;]]>
          </str>
        </LIBRARY_DIRS>
        <MASTER_PATH>
          <str>
            <![CDATA[Undefined]]>
          </str>
        </MASTER_PATH>
      </armgcc>


Etwa so:

      <armgcc>
        <NAME>
          <str>
            <![CDATA[ARM GCC Compiler (generic)]]>
          </str>
        </NAME>
        <INCLUDE_DIRS>
          <str>
            <![CDATA[C:\GNU Tools ARM 
Embedded\5.0_2015q4\5.2_2015q4\arm-none-eabi\include;C:\GNU Tools ARM 
Embedded\5.0_2015q4\5.2_2015q4\arm-none-eabi;]]>
          </str>
        </INCLUDE_DIRS>
        <LIBRARY_DIRS>
          <str>
            <![CDATA[C:\GNU Tools ARM 
Embedded\5.0_2015q4\5.2_2015q4\arm-none-eabi\lib;C:\GNU Tools ARM 
Embedded\5.0_2015q4\5.2_2015q4\lib;]]>
          </str>
        </LIBRARY_DIRS>
        <MASTER_PATH>
          <str>
            <![CDATA[C:\GNU Tools ARM 
Embedded\5.0_2015q4\5.2_2015q4\bin]]>
          </str>
        </MASTER_PATH>
      </armgcc>

Dann ist es aber auf jeden Fall eine globale und keine projektabhängige
Einstellung.
Kann man das direkt im em:Bitz irgendwie projektabhängig machen?

Irgendwelche Ideen?
em:Bitz gefällt mir ja sehr gut, auch die Möglichkeit ein eigenes
makefile bei Bedarf nutzen zu können. Aber mir fehlt da etwas die
Kontrolle über den verwendeten Compiler. Bei einem abgeschlossenen
Projekt möchte ich gerne die verwendete Compiler Version bei Bedarf im
Projekt fest nageln können, um später keine Überraschungen zu erleben.
Bei CoIDE kann man den Pfad zum Compiler leicht einstellen. Es ist zwar
glaube ich global, aber damit kann ich zur Not noch leben. Zumindest ist
offensichtlich welcher Compiler verwendet wird.

Würde mich über Hinweise freuen.
Danke.

Bernd

von Christian J. (Gast)


Lesenswert?

Bernd schrieb:
> Weiß jemand wie bei Em:Bitz der verwendete Compiler hinterlegt ist? Also
> es gibt dieses Drop Down Menü, wo man den Compiler auswählen kann. Es
> gibt den Bare Metal Compiler und das was bei der Installation
> automatisch (aus dem PATH?) erkannt wurde.

Ich glaube, da muss ich dich enttäuschen. Ich arbeite auch mit EmBitz 
und diese IDE ist speziell aus CodeBlocks heraus für einen einzigen 
Compiler erstellt worden, worauf auch die Optionen unter Project Options 
hindeuten. Das ist alles speziell auf den GCC gemünzt, der automatisch 
mit installiert wird. Das gilt auch für EmWin usw. Nur Eclipse und 
CodeBlocks, der Ursprung von EmBitz unterstützt das, ebenso emIDE von 
Segger.

Mich würde mal mehr interessieren wie diese völlig undurchschaubare 
Namens-Vervollständigung funktioniert, wie ich also Info Header mit 
aktuellem Datum kriege, Namen drin usw. Dass $DATE auch durch Datum 
ersetzt wird. Und auch das Postprocessing ist kryptisch, ich will 
einfach nur Assemblersource Code haben mit einkommentiertem C. Dafür 
gibt es Kommandozeilenbefehle aber wo eintragen?

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.