mikrocontroller.net

Forum: Compiler & IDEs Update von WinAVR2010


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Matthias W. (matt007)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Zum Übersetzen, Linken und auf das Target laden verwende ich seit Jahren 
WinAVR. Die letzte offizielle WinAVR-Zusammenstellung stammt von 2010.

Es gab Hinweise für ein Update:
Beitrag "Update von Winavr2010 auf gcc 4.8 Howto"
Beitrag "Re: WinAVR 2010 / AVR-GCC und Atmega48PA"

unter der Atmel-Adresse ist kein Paket mehr zu finden:
http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORWINDOWS.aspx

Bei Microchip kann man avr8-gnu-toolchain-3.6.2.1759-win32.any.x86.zip 
herunterladen unter 
https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers

Im Readme avr8-gnu-toolchain-3.6.1.1752-readme.pdf steht der Hinweis:
Downloading/Installing on Windows
"If you want to try the Atmel AVR8 GNU toolchain alone, you can download 
it from here".

Im Vergleich zu WinAVR2010 sind im zip neuere Versionen:
- GCC: 5.4.0 statt 4.3.3 in WinAVR2010
- binutils: 2.26 statt 2.19 in WinAVR2010
- avr-libc: 2.0.0 statt 1.6.7 in WinAVR2010

leider sind kaum Hinweise gegeben wie ein Update von WinAVR2010 mit 
diesem Paket gemacht werden soll.

nicht im zip-Paket enthalten sind
- AVRDUDE
- USB-Treiber für AVRDUDE libusb0.dll
- make.exe
- Utils für Nutzung im Makefile.

um vorhandene Makefiles die bisher unter WinAVR2010 liefen zu nutzen 
reicht es also nicht das zip-file einfach auszupacken.

es ist nötig etwas zusammenzubasteln.

Microchip schreibt: "If the toolchain is installed separately.... 
upgrading is not supported. You can install the new package side-by-side 
of the old package and use it."

Hier ein paar Hinweise die bei mir zu einer lauffähigen Version unter 
Win7 64bit geführt haben:

Verzeichnis C:\WINAVR anlegen
avr8-gnu-toolchain-3.6.2.1759-win32.any.x86.zip in diesem Verzeichnis 
auspacken, dann das zip löschen

Dateien nach C:\WINAVR\bin hinzukopieren wie
- avrdude.exe (neuere Fassung, z.B. 6.3 aus dem Netz)
- avrdude.conf (neuere Fassung aus dem Netz)
- giveio.sys aus Arduino (fuer ISP-Programmierung per Parallel-Port)
- install_giveio.bat aus Arduino
- remove_giveio.bat aus Arduino
- status_giveio.bat aus Arduino
- cygwin1.dll aus WinAVR
- itcl32.dll aus WinAVR
- itk32.dll aus WinAVR
- libiconv-2.dll aus Arduino
- libusb0.dll aus Arduino
- srec_cat.exe aus WinAVR
- splint.exe aus WinAVR
- tcl84.dll aus WinAVR
- tclpip84.dll aus WinAVR
- tclsh84.exe aus WinAVR
- tk84.dll aus WinAVR
- wish84.exe aus WinAVR

Dateien nach C:\WINAVR\utils\bin kopieren die in WinAVR2010 waren
enthält in bin:
- cp.exe aus WinAVR
- diff.exe aus WinAVR
- echo.exe aus WinAVR
- make.exe aus WinAVR (ggf. neues make.exe nehmen)
- msys-1.0.dll aus WinAVR
- rm.exe aus WinAVR
- sed.exe aus WinAVR
- sh.exe aus WinAVR
- msys-1.dll aus WinAVR
- ...

Dateien nach C:\WINAVR\doc hinzukopieren wie alte Ordner
- avrdude - Doku dazu aus WinAVR
- gcc     - Doku dazu aus WinAVR
- gdb     - Doku dazu aus WinAVR
- splint  - Doku dazu aus WinAVR

Registry ggf. anpassen mittels Regedit:
- in Registry nach WinAVR suchen -> Stellen in HKEY_LOCAL_MACHINE

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Free Software 
Foundation\WINAVR\BINUTILS -> C:\WINAVR
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Free Software 
Foundation\WINAVR\G++ -> C:\WINAVR
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Free Software 
Foundation\WINAVR\GCC -> C:\WINAVR
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\WinAVR\20100110 -> C:\WINAVR
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session 
Manager\Environment\AVR32_HOME -> C:\WINAVR

Suchpfad ggf. ändern:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session 
Manager\Environment\Path -> 
C:\WINAVR\bin;C:\WINAVR\utils\bin;%SystemRoot%\system32;%SystemRoot%;%Sy 
stemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

den Deinstallierpfad ggf. lassen.

nach Booten des Rechners werden die Änderungen wirksam.

im Vergleich zu WinAVR2010 zeigten sich folgende Codegrößen:
LED-Blink-Programmm auf Atmega32U4:
main.hex  6kB vs. 5kB bei WinAVR2010
data+text 1834 bytes vs. 1720 bytes bei WinAVR2010

Laststeuerprogramm mit ADC/DAC/RTC/SRAM auf Atmega2560:
main.hex   24kB vs. 25kB bei WinAVR2010
data+text 428+8068 bytes vs. 446+8458 bytes bei WinAVR2010

unschön groß erscheint der totale Speicher incl. der 
Debug-Informationen.
59187 bytes vs. 39231 bytes bei WinAVR2010.

Am Makefile wurde nichts verändert. Die Einstellungen sind dieselben wie 
bei WINAVR2010.

Vielleicht helfen diese Angaben dem einen oder anderen sich auch ein 
neueres WinAVR auf Basis der obigen aktuellen zip-Datei einzurichten.

Viel Erfolg !
Matthias

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm. Man kanns auch unnötig kompliziert machen. WinAVR ist ja nun nix 
anderes als ein avr-gcc, gebündelt mit Notepad++ und MFile. Das war zu 
seiner Zeit damals eine tolle Sache, weil's für Windows nichts besseres 
gab, aber das ist lange her.

Das Stichwort Atmel Studio ist ja schon gefallen, auch noch zu nennen 
sind Eclipse mit Avr-plugin, oder Codeblocks. Alles ausgewachsene IDEs, 
die über das vom Notepad++ gebotene weit hinausgehen.

Eine wirklich aktuellen avr-gcc mit make gibt es hier:

http://blog.zakkemble.net/avr-gcc-
builds/

Dazu ein aktuelles MFile zum Erstellen von makefiles, oder eben eine 
richtige IDE, und man ist im 21 Jahrhundert.

Oliver

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Matthias W. schrieb:
> leider sind kaum Hinweise gegeben wie ein Update von WinAVR2010 mit
> diesem Paket gemacht werden soll.

Weil es kein Update ist sondern eine "andere" Toolchain.  Die 2 
Toolchains (oder mehr) können parallel genutzt werden, es besteht keine 
Notwendigkeit, beide Toolchains zu Frankensteins Monster zu verwursten.

> nicht im zip-Paket enthalten sind [...]

Deshalb bleiben die alten Pfade in PATH.

> es ist nötig etwas zusammenzubasteln.

Nope.

> Microchip schreibt: "If the toolchain is installed separately....
> upgrading is not supported. You can install the new package side-by-side
> of the old package and use it."

Genau.  Einfach den Pfah in PATH eintragen (vor dem von WinAVR) und gut 
iss.

Da braucht's weder Rumgewusel im Dateisystem noch Remstochern in der 
Registry!

> Verzeichnis C:\WINAVR anlegen
> avr8-gnu-toolchain-3.6.2.1759-win32.any.x86.zip in diesem Verzeichnis
> auspacken, dann das zip löschen

Und ggf. Pfad anpadden, so dass keine Sonderzeichen drinne sind.

Weil die Tools mi Pfad sind, rehct ein "avr-gcc" auf Kommandozeile, um 
den neuen compiler aufzurufen, z.B. mit --version um zu sehen, welche 
Version es ist.

Und falls du das alte WinAVR brauchst für Legacy-Projekte oder um 
erzeugten Code zu vergleichen, einfach mit absoluten Pfad aufrufen und 
fertig.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann L. schrieb:
> Nope.

Danke Johann !
wo ist denn ein neues aktuelles WinAVR zu finden, so daß meine alten 
Makefiles ohne Probleme laufen. Eine IDE/Studio brauche/will ich nicht.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann L. schrieb:
> Weil die Tools mi Pfad sind, rehct ein "avr-gcc" auf Kommandozeile, um
> den neuen compiler aufzurufen,

danke für den Hinweis Johann.
Du hast wohl verschiedene Umgebungen auf dem PC parallel in Nutzung.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Eine wirklich aktuellen avr-gcc mit make gibt es hier:
> http://blog.zakkemble.net/avr-gcc-builds/

Danke Oliver für den Hinweis !

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Eine wirklich aktuellen avr-gcc mit make gibt es hier:
> http://blog.zakkemble.net/avr-gcc-builds/

hier gibt es 2 Pakete zum Download:
avr-gcc-9.1.0-x64-mingw.zip (56.48 MB)
AVG-GCC 9.1.0 Windows x64 (64 bit)
Downloaded 728 times

avr-gcc-9.1.0-x86-mingw.zip (54.28 MB)
AVG-GCC 9.1.0 Windows x86 (32 bit)
Downloaded 226 times

Gibt es einen Grund das erste - das offenbar häufiger heruntergeladen 
wird - nicht zu nehmen wenn man Win7 64bit hat?

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann L. schrieb:
> Nope.

ist aus Deiner Sicht avr-gcc-9.1.0-x64-mingw.zip (56.48 MB) ein 
vollwertiger Ersatz?

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Matthias W. schrieb:
> Du hast wohl verschiedene Umgebungen auf dem PC parallel in Nutzung.

"Umgebungen" nicht, aber AVR-Toolchains (GCC) ca. 20 Stück.

Das make ist noch aus WinAVR-20100110 und tut seine Dienste, ich setze 
die Tools aber auch nicht beruflich ein.

Die Tools sind WinAVR, von Atmel, MHV und die meisten selbstgeneriert 
unter Linux.

https://sourceforge.net/projects/mobilechessboar/files/avr-gcc%20snapshots%20(Win32)/

Das sind einfach nur die Tools (GCC, Binutils, AVR-Libc) generiert für 
MinGW32 und als ZIP.  Zur "Installation" einfach auspacken und 
umbenennen falls der Pfadname nicht passt.  Generiert wurde das aus den 
GNU / AVR-LibC Quellen, i.d.R ohne spezielle Patches.  Jedenfalls ohne 
extra Patches von Atmel / Microchip.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann L. schrieb:
> Zur "Installation" einfach auspacken und
> umbenennen falls der Pfadname nicht passt.  Generiert wurde das aus den
> GNU / AVR-LibC Quellen, i.d.R ohne spezielle Patches.

Danke Johann !

Autor: Ingo Less (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand sagen wie ich mit Atmel Studio 7 die Ausgabe der 
Codegröße in % hinbekomme? Es steht bei mir alles auf 0%. Irgendwie muss 
die avr-size dort mit eingebunden werden oder?

Autor: Ingo Less (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vergessen: unter Verwendung der avr-gcc-9.1.0-x64-mingw, mit den 
offiziellen Atmel Toolchains gibts da keine Probleme.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ingo Less schrieb:
> unter Verwendung der avr-gcc-9.1.0-x64-mingw, mit den
> offiziellen Atmel Toolchains gibts da keine Probleme.

Danke Ingo !

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ingo Less schrieb:
> unter Verwendung der avr-gcc-9.1.0-x64-mingw, mit den offiziellen Atmel
> Toolchains gibts da keine Probleme

Kapier deine Kombination nicht.

Du hast die Atmel Toolchain installiert und dazu die gcc-9.1.0-x64 und 
nutzt diese von der Atmel Installation aus? Oder wie genau?

Autor: Ingo Less (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit den AVR Toolchains läuft avr-size, mit dem 9.1 nicht

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, dann ist 's klar :)

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Matthias W. schrieb:
> ist aus Deiner Sicht avr-gcc-9.1.0-x64-mingw.zip (56.48 MB) ein
> vollwertiger Ersatz?

Kommt frauf an was für dich vollwertig ist.  WinAVR war ja mehr als ne 
reine Toolchain: make, Mfile, Simulator, Insight/TCL, avrdude, grep, 
sed, awk, ...

Mit v9 hab ich keine Erfahrung, es wird aber berichtet über Zunahme an 
Größe von generiertem Code bzgl. v8.  Keine Ahnung wie gravierand das 
ist; Codegröße schwankt immer mal wieder mit der Version.  Wenn du nicht 
den letzten Schrei an C++20 Features braucht bist mit v8 vielleicht 
besser bedient.

Ingo Less schrieb:
> Mit den AVR Toolchains läuft avr-size, mit dem 9.1 nicht

Einige Distributionen kommen mit einem gepatchten avr-size, das die 
Speichergrößen von verschiedenen Derivaten hinzufügt zwecks Anzeige von 
Resourcenverbrauch.  In die offizielle Release / Codebase hat's dieses 
Patch aber nie geschafft.

: Bearbeitet durch User
Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann L. schrieb:
> Kommt frauf an was für dich vollwertig ist.  WinAVR war ja mehr als ne
> reine Toolchain: make, Mfile, Simulator, Insight/TCL, avrdude, grep,
> sed, awk, ...

Nun ja, make und avrdude lassen sich einfach besorgen (bzw. sind in den 
Paketen von zak mit dabei), und der Simulator steckt im avr-gdb (den man 
sich leider wegen des nach wie vor ungefixten Flash-Diassemble-Bugs eh 
selber bauen muß). Wobei, wenn man einen Simulator braucht, nimmt man eh 
besser das Studio.

Den ganzen Rest braucht ein "handelsüblicher" Windowsuser sowieso nicht 
;)

Oliver

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Dazu ein aktuelles MFile zum Erstellen von makefiles

kannst Du dazu einen Link angeben?
ich habe das Mfile das bei WINAVR2010 beigepackt war.

im Ordner mfile von WINAVR liegt mfile.tcl, mfile.xbm und 
makefile_template. In help.html steht jedoch nicht wie man das zum 
Laufen bekommt.

einfach aufrufen von mfile.tcl klappt nicht. Einen Pfad auf das 
Verzeichnis mfile habe ich gesetzt. Außerdem liegen im bin-Verzeichnis 
Dateien wie wish84.exe, tclsh84.exe, itcl32.dll, itk32.dll usw.

es sollte doch kein Hexenwerk sein das in Betrieb zu bekommen?

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann L. schrieb:
> Kommt frauf an was für dich vollwertig ist.

vollwertig ist für mich vergleichbarer Funktionsumfang.

> WinAVR war ja mehr als ne
> reine Toolchain: make, Mfile, Simulator, Insight/TCL, avrdude, grep,
> sed, awk, ...

ja. Deswegen sah ich mich genötigt selbst etwas funktionsähnliches 
zusammenzubauen. Es mag ja sein daß es geschickter gegangen wäre. Wenn 
jemand dazu Hinweise hat - gerne.

> Mit v9 hab ich keine Erfahrung, es wird aber berichtet über Zunahme an
> Größe von generiertem Code bzgl. v8.

mein Test ergab für ein LED-Blink-Beispiel data+text 1886 bytes mit 
AVR-GCC8.2.0 64bit im Vergleich zu 1940 bytes für AVR-GCC9.1.0 32bit. 
WINAVR2010 sind 1720 bytes.

Der totale Speicher (incl. Debug-Infos) wuchs bei allen neueren 
Versionen gegenüber WINAVR2010 stark an. Bei GCC4.3.3 waren es 10657 
bytes, GCC8.2.0 64bit 21833 bytes und GCC9.1.0 32bit 22264 bytes.

bei einem deutlich größeren Programm für Atmega2560: totaler Speicher 
incl. Debug-Informationen: GCC4.3.3 39231 bytes, GCC8.2.0 64bit 72040 
bytes, GCC9.1.0 32bit 72689 bytes.

data+text waren bei WINAVR2010 (GCC4.3.3) 446+8458 bytes, GCC8.2.0 64bit 
428+7944 bytes, GCC9.1.0 32bit 428+8230 bytes.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Den ganzen Rest braucht ein "handelsüblicher" Windowsuser sowieso nicht

nur funktioniert das alte Makefile dann eben nicht !
wenn es so einfach gewesen wäre hätte ich nicht angefangen zu suchen und 
etwas zusammenzubauen.

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias W. schrieb:
> nur funktioniert das alte Makefile dann eben nicht !
> wenn es so einfach gewesen wäre hätte ich nicht angefangen zu suchen und
> etwas zusammenzubauen.

Ach ja, das Steinzeit-Makefile von WimAVR nutzt tatsächlich ein sed.
Geht seit ungefähr 100000 IT-Jahren aber auch ohne.

Matthias W. schrieb:
> kannst Du dazu einen Link angeben?
> ich habe das Mfile das bei WINAVR2010 beigepackt war.

https://www.mikrocontroller.net/articles/Mfile

Oliver

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Geht seit ungefähr 100000 IT-Jahren aber auch ohne.

mein Makefile geht nicht ohne. Keine Ahnung wem es noch so geht.

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Matthias W. schrieb:
>> kannst Du dazu einen Link angeben?
>> ich habe das Mfile das bei WINAVR2010 beigepackt war.
> https://www.mikrocontroller.net/articles/Mfile

Danke Oliver,

leider bringt mich das nicht weiter.
http://www.sax.de/~joerg/mfile/ hatte ich angesehen.
im zip-File ist genau das was ich auch in WINAVR2010 vorfand.

auch das Readme
http://www.sax.de/~joerg/mfile/README.txt half mir bisher nicht.

vermutlich fehlt eine Verknüpfung?

ein tcl/tk-Aufruf-Thema?

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohje, das ist alles schon so lange her...

Ok, mfile braucht tcl, und davon eine uralte Version. Da wirst du das 
aus der WinAVR-Umgebung weiterverwenden müssen.

Es wäre vielleicht mal an der Zeit, einen Schnitt zu machen, und auf 
eine aktuellere Entwicklungsumgebung umzusteigen. Ein schnitt ist eh 
eforderlich, da die aktuelleren gccs bei deinen alten WinAVR-Projekten 
bei nicht-const progmem meckern, und du eh an den sourcen Änderungen 
vornehmen musst.

Ich nutze set ewigen Zeiten Eclipse mit dem avr-plugin, aber das ist 
Geschmackssache.

Oliver

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> ohje, das ist alles schon so lange her...

ja.

> Ok, mfile braucht tcl, und davon eine uralte Version. Da wirst du das
> aus der WinAVR-Umgebung weiterverwenden müssen.

ich habe kein Problem das zu nehmen was da ist, nur leider lässt mich 
die Doku dazu wie ich das in Gang bringe bisher im Stich.

Du schriebst: "Dazu ein aktuelles MFile zum Erstellen von makefiles..." 
- und so dachte ich - frag halt mal . . .

Kürzlich bin ich beim Versuch ein Makefile zu ändern verzweifelt. Es gab 
immer wieder Fehler. Vielleicht hätte mir mfile da geholfen - keine 
Ahnung. Hat das denn gar niemand mehr in Betrieb?

> Es wäre vielleicht mal an der Zeit, einen Schnitt zu machen, und auf
> eine aktuellere Entwicklungsumgebung umzusteigen.

darüber habe ich länger nachgedacht bevor ich das obige versuchte.
das Studio war mir zu sperrig. Manchmal war der Code zu groß, passte 
nicht in den Butterfly.

am besten kam ich mit WinAVR klar. Das lief stets rasch und 
unkompliziert. Daher möchte ich dabei bleiben.

> Ein schnitt ist eh
> eforderlich, da die aktuelleren gccs bei deinen alten WinAVR-Projekten
> bei nicht-const progmem meckern, und du eh an den sourcen Änderungen
> vornehmen musst.

die bisher probierten GCCs haben meinen C-Code anstandslos geschluckt.

> Ich nutze set ewigen Zeiten Eclipse mit dem avr-plugin, aber das ist
> Geschmackssache.

ja. Ich war mit Eclipse nicht so froh. Der Umgang damit war für mich 
zäher als WinAVR. Mein Rechner ist älter/langsamer. Oft sind mehrere 
Fenster auf. Da brauche ich Anwendungen die nicht viel Speicher fressen.

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias W. schrieb:
> Du schriebst: "Dazu ein aktuelles MFile zum Erstellen von makefiles..."
> - und so dachte ich - frag halt mal . . .

Ich dachte, da gäbs was neueres. Scheint aber nicht so zu sein.

Schau dir halt an, wie mfile im WinAVR-Paket aufgerufen wird (das muss 
ein batch-Datei oder sowas sein).

Ansonsten sind die makefiles jetzt aber nicht so kompliziert, als daß du 
nicht einfach eins von einem existierenden Projekt kopieren und da drin 
die sourcen und eventuell den Prozessor von Hand ändern könntest.

Oder du nimmst halt das hier als Vorlage:

https://www.mikrocontroller.net/articles/Beispiel_Makefile

Oliver

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Ich dachte, da gäbs was neueres. Scheint aber nicht so zu sein.

ja. Leider.

> Schau dir halt an, wie mfile im WinAVR-Paket aufgerufen wird (das muss
> ein batch-Datei oder sowas sein).

WinAVR basiert vor allem auf der Funktionalität des Makefiles und der 
Tools die damit aufgerufen werden.

mfile wird nicht mittels des Makefile-Template aufgerufen. Da kann ich 
nichts abschauen.

> Ansonsten sind die makefiles jetzt aber nicht so kompliziert, als daß du
> nicht einfach eins von einem existierenden Projekt kopieren und da drin
> die sourcen und eventuell den Prozessor von Hand ändern könntest.

so hatte ich das bisher gemacht. Als ich bei einem Projekt dann C++ 
files statt der C-Files bisher verwenden wollte bin ich krachend 
gescheitert.

auch das Lesen der ersten 22 Seiten der Make-Beschreibung (danach hatte 
ich keine Lust mehr) und das Ansehen diverser youtube Tutorials brachte 
nicht wirklich weiter.

mit der Arduino-IDE läuft das Projekt. Nur verwendet Arduino kein 
Make.exe mehr. Der Output ist so lang und kryptisch daß ich da erst mal 
Abstand genommen habe das weiter zu verfolgen.

> Oder du nimmst halt das hier als Vorlage:
> https://www.mikrocontroller.net/articles/Beispiel_Makefile

Danke Oliver. So etwas ähnliches nutze ich ja. Bei den C-Files hat das 
bisher immer geklappt.

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias W. schrieb:
> mfile wird nicht mittels des Makefile-Template aufgerufen. Da kann ich
> nichts abschauen.

Vergiss das einfach. mfile ist der Generator für makefiles, aber wenn du 
das noch nie benutzt hast, ist das jetzt auch egal.

Im Netz finden sich auch makefile-beispiele für C++-Projekte.

Oliver

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> makefile-beispiele für C++-Projekte.

danach hatte ich eine ganze Weile gesucht. Nur ist eben wohl nur ganz 
selten etwas für AVR GCC passend dabei.

frustriert schmiss ich dann die Dateien in den Arduino und der hat es 
anstandslos geschluckt und fehlerfrei übersetzt.

Autor: A. B. (Firma: uc++) (mitschreiberin)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es einfach sein soll und kompakt so geht das auch mit
**********************************************************
AVRStudio 4.19
avr-gcc-9.1.0-x64-mingw\bin\avr-g++.exe
avr-gcc-9.1.0-x64-mingw\bin\make.exe

mit -std_c++2a -fconcepts

Das generierte Makefile als Beispiel angeheftet...

--------------------------------------------------------
(Sinngemäss und moderner auch mit AtmelStudio 6.2 und 7)

Autor: Matthias W. (matt007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. B. schrieb:
> Das generierte Makefile als Beispiel angeheftet...

vielen Dank !

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.