Datum: 01.07.2008 17:52
Hi, welches ist der beste ( vernünftigste ) Weg, wie man unter XP mehrere Versionen der (Win-) Avr Toolchain "vorhalten" kann ? Vieleicht VM's ( XP - Linux ) ? Ich möchte ungern die "alte" von 2006 "platt" machen um die älteren Projekte ohne Anpassung des Source-Codes weiter kompilieren zu können. Viele Grüße, Stefan
Datum: 01.07.2008 18:05
Hier hat PeDa ein Script zum automatisierten Umbenennen der Installationsverzeichnisse gepostet: Beitrag "Automatisierte Umschaltung zwischen GCC Versionen" Vielleicht hilft das ja. Und hier hast du dieselbe Frage vor zwei Jahren schonmal gestellt, aber keine Hilfreiche Antwort bekommen :) Beitrag "Koexistenz mehrerer WinAVR Versionen ?"
Datum: 01.07.2008 18:30
Wo ist denn das Problem? Anstatt im Aufruf avr-gcc zu schreiben, gibt man eben den absoluten Pfad zum avr-gcc an. Bei make: Viele Makefiles verwenden/setzen die Variable CC für den C-Compiler, welche man überschreiben kann. Einfach mal nen Blick ins Makefile wagen, und make starten mit make CC=pfad-zum-gcc/avr-gcc Bei der Installation von WinAVR wird eh net mehr gemacht, als das Installationsverzeichnis zum Path hinzuzufügen, d.h. in Path kommt <INSTALL-DIR>/bin und <INSTALL-DIR>/utils/bin hinzu, und was vorne steht, wird eben zuerst gefunden. Ich hab's im (selbst geschriebenen) Makefile so gelöst:
CPATH=
ifeq ($(GCC_VERSION),430)
CPATH = e:/WinAVR-20080512/bin/
endif
ifeq ($(GCC_VERSION),422)
CPATH = e:/WinAVR-20071221/bin/
endif
CC = $(CPATH)avr-gcc -mmcu=$(MCU_TARGET)
LD = $(CC)
|
Wenn GCC_VERSION undefiniert ist, wird die Standard-Installation genommen, und wenn GCC_VERSION=430 ist eben der gcc 4.3.0. So kann man dann auch die CFLAGS anpassen.
Datum: 01.07.2008 19:58
Arghh - ich bin ja so Betriebsblind. Das Umbennen des WINAVR-Verzeichnises habe ich garnicht ins Auge gefasst - weil ich garnicht damit gerechnet hab das das hinreichend sein könnte. ( ... bin ein wenig verdorben durch die ganze Windows-Software die bei installationen gigabytes an zueinander inkompatiblen DLL's in einem System verteilen ) Ich probiere es mal auf dem Wege des Umbenennens... Grüße, Stefan
Datum: 02.07.2008 08:38
Unter XP und mit NTFS File-System geht es auch ganz einfach: Installiere die WinAvr's in verschiedene Verzeichnisse: c:\WinAVR-20060421 c:\WinAVR-20070525 c:\WinAVR-20080610 Mit dem Befehl junction erzeugst du einen (nur mit NTFS verwendbaren) Hardlink, also ala Linux. http://technet.microsoft.com/de-de/sysinternals/bb... Dann verwendest du verschiedene Batches a) winavr-2006421.bat junction -d c:\WinAVR junction c:\WinAVR c:\WinAVR-20060421 b)WinAVR-20070525.bat junction -d c:\WinAVR junction c:\WinAVR c:\WinAVR-20070525 c) ... In deinen makefiles verwendest du nur C:\Winavr oder verwendest die globale path-Variable.
Datum: 02.07.2008 10:37
Und natürlich nach jedem Umschalten ein "make clean" nicht vergessen, sonst linkst du evtl Object-Files zusammen, die von verschiedenen Compilerversionen generiert wurden. Das funktioniert zwar im Allgemeinen, kann aber auch recht seltsame Effekte ergeben.
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


