Forum: Mikrocontroller und Digitale Elektronik AVR-Projekt kompilieren


von Lowlevel Programmierer (Gast)


Lesenswert?

Mahlzeit allerseits

Folgendes: Ich möchte dieses kleine, feine Projekt hier etwas erweitern:
https://github.com/RfidResearchGroup/ChameleonMini

Die Macher waren so freundlich, eine kleine Readmedatei zu hinterlassen 
worin steht, welche Tools zu benutzen sind. Darin steht:

[quote]
1. Install AVR GNU Toolchain from Atmel
2. Install Cygwin for sh.exe (base installation is sufficient)
3. Add the bin path of cygwin (containing sh.exe) to the PATH 
environment variable for MAKE to find it
[/quote]

Schön und gut, ich denke ich hab alles. Die Befehle avr-gcc --version 
und make -v liefern in der Powershell die gewünschten Resultate. Cygwin 
ist auch korrekt installiert.

Wenn ich jedoch das Makefile unter 
...\ChameleonMini\Firmware\Chameleon-Mini maken will, kommt Make mit 
einem Fehler zurück. Es sieht etwas danach aus, als ob der µC nicht 
unterstützt wird - der ist in der List of supported devices in der Doku 
jedoch ausgewiesen. Ich habe den Code (noch) nicht verändert, das sollte 
erstmal ein einfacher Probelauf werden.
1
../LUFA/Build/lufa_build.mk:131: The XMEGA device support is currently EXPERIMENTAL (incomplete and/or non-functional), and is included for preview purposes only.
2
      0 [main] sh 9472 sync_with_child: child 3592(0x1F4) died before initialization with status code 0xC0000142
3
     93 [main] sh 9472 sync_with_child: *** child state waiting for longjmp
4
/usr/bin/sh: fork: Resource temporarily unavailable
5
      0 [main] sh 9764 sync_with_child: child 5432(0x1EC) died before initialization with status code 0xC0000142
6
    110 [main] sh 9764 sync_with_child: *** child state waiting for longjmp
7
/usr/bin/sh: fork: Resource temporarily unavailable
8
      0 [main] sh 7492 sync_with_child: child 356(0x1EC) died before initialization with status code 0xC0000142
9
     98 [main] sh 7492 sync_with_child: *** child state waiting for longjmp
10
/usr/bin/sh: fork: Resource temporarily unavailable
11
 [INFO]    : Begin compilation of project "Chameleon-RevG"...
12
13
avr-gcc (WinAVR 20100110) 4.3.3

Hat jemand eine Idee, wie ich das kompiliert bekomme?

von Oliver S. (oliverso)


Lesenswert?

Lowlevel Programmierer schrieb:
> 1. Install AVR GNU Toolchain from Atmel

Lowlevel Programmierer schrieb:
> avr-gcc (WinAVR 20100110) 4.3.3

Das passt nicht zusammen. Anscheinend hast du neben der Atmel-Toolchain 
noch einen Steinzeit-WinAVR auf der Platte und im Pfad.

Räum mal deine toolchains auf, erst wenn es danach immer noch nicht 
geht, kannst du weitersuchen.

Oliver

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Ich würde das im CygWin Terminal Fenster ausführen, nicht in der 
Powershell.

von Lowlevel Programmierer (Gast)


Lesenswert?

WinAVR - ja, jetzt wo ihr es sagt...ich hab es erstmal (erfolgreich) 
deinstalliert, kam anscheinend huckepack mit AVR-Studio mit.

Ich habe die AVR GCC Toolchain von Atmel runtergeladen, jedenfalls meine 
ich, daß das das Richtige ist.
https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers

In dem Zeug, was man unter "AVR 8-bit Toolchain v3.62 – Windows" 
herunterladen kann, ist leider kein Installer. Ich habe den Ordner im 
Programmordner unter C: geparkt und den enthalten bin-Ordner in den 
Pfadvariablen hinzugefügt.

Anscheinend reicht das aber noch nicht - wißt ihr was da noch fehlen 
könnte?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Lowlevel Programmierer schrieb:
> Anscheinend reicht das aber noch nicht

Woher schlussfolgerst du das?

Falls du Fehlermeldungen bekommst: poste sie …

von Lowlevel Programmierer (Gast)


Lesenswert?

Tja...der Befehl avr-gcc --version läuft jetzt leer, und wenn ich das 
Projekt kompilieren will kommt Cygwin damit zurück:

[quote]
make: *** Es wurden keine Ziele angegeben und keine „make“-Steuerdatei 
gefunden.  Schluss.
[/quote]

von Lowlevel Programmierer (Gast)


Lesenswert?

Nachtrag: Sorry, Blödsinn. Falscher Pfad...

von Lowlevel Programmierer (Gast)


Lesenswert?

Cygwin kommt damit wieder:

../LUFA/Build/lufa_build.mk:131: The XMEGA device support is currently 
EXPERIMENTAL (incomplete and/or non-functional), and is included for 
preview purposes only.
/bin/sh: avr-size: Kommando nicht gefunden.
/bin/sh: avr-size: Kommando nicht gefunden.
 [INFO]    : Begin compilation of project "Chameleon-RevG"...

make: avr-gcc: No such file or directory
make: *** [../LUFA/Build/lufa_build.mk:237: build_begin] Fehler 127

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Lowlevel Programmierer schrieb:
> /bin/sh: avr-size: Kommando nicht gefunden.
> /bin/sh: avr-size: Kommando nicht gefunden.
>  [INFO]    : Begin compilation of project "Chameleon-RevG"...
>
> make: avr-gcc: No such file or directory

Dann hast du wohl immer noch ein Problem mit deinem %PATH%.

Lowlevel Programmierer schrieb:
> avr-gcc --version läuft jetzt leer

Was heißt das? Keine Fehlermeldung, keine Ausgabe, gar nichts?

Worin testest du das? cmd.exe?

von Lowlevel Programmierer (Gast)


Lesenswert?

Jörg W. schrieb:
> Was heißt das? Keine Fehlermeldung, keine Ausgabe, gar nichts?

Ich meinte damit daß die übliche Fehlermeldung kommt, wenn man Murks 
eingibt.

Cygwin:
$ avr-gcc --version
-bash: avr-gcc: Kommando nicht gefunden.

CMD:
avr-gcc --version
Der Befehl "avr-gcc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Powershell:
avr-gcc --version
avr-gcc : Die Benennung "avr-gcc" wurde nicht als Name eines Cmdlet, 
einer Funktion, einer Skriptdatei oder eines
ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des 
Namens, oder ob der Pfad korrekt ist (sofern
enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ avr-gcc --version
+ ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (avr-gcc:String) [], 
CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, das zeigt doch aber ganz eindeutig, dass du deinen Suchpfad für 
Kommandos nicht im Griff hast.

von Stefan F. (Gast)


Lesenswert?

Klicke auf das Startmenü, tippe dann "Umgebungsvariable" ein. Der Rest 
sollte dann selbsterklärend sein. Du musst die Variable "PATH" ändern.

von Lowlevel Programmierer (Gast)


Angehängte Dateien:

Lesenswert?

Die habe ich doch längst geändert...und sollten soweit passen. Stimmen 
mit allen Beschreibungen überein, wie der hier:
https://carlossilesblog.files.wordpress.com/2020/04/path_variables.png

Außer das AVRDude - das ist, soweit ich das verstanden habe, nur zum 
Programmieren und hab ich nicht installiert, das wollte ich mit dem 
Fliptool machen.

Im Anhang ist path, wie es bei mir aussieht. Und ja, die Pfade gibt es 
auch alle.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Lowlevel Programmierer schrieb:
> Die habe ich doch längst geändert...und sollten soweit passen.

Nein, passen sie nicht, sonst würde es die Fehlermeldung nicht (so) 
geben.

Was steht denn in dem genannten Verzeichnis drin?

Was passiert, wenn du explizit versuchst, den dort befindlichen avr-gcc 
mit vollständigem Pfadnamen aufzurufen? (Mittlerweile kann ja selbst 
cmd.exe eine Erweiterung mit <TAB>-Taste, das macht die Eingabe des 
länglichen vollständigen Pfadnamens einfacher.)

von Lowlevel Programmierer (Gast)


Lesenswert?

Das bin-Verzeichnis (.../Atmel\avr8-gnu-toolchain-win32_x86\bin) ist 
leer.
Das habe ich so aber bereits von Microchip heruntergeladen und mich 
daher nicht weiter darum gekümmert.

Ich werd mal das aus dem Github-Link probieren, da liegen einige Dateien 
im bin-Ordner...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Also in dem Zip-File, welches ich mir da runtergeladen habe, ist das 
nicht leer:
1
Archive:  avr8-gnu-toolchain-3.6.2.1778-win32.any.x86.zip
2
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
3
--------  ------  ------- ---- ---------- ----- --------  ----
4
       0  Stored        0   0% 2019-06-24 14:06 00000000  avr8-gnu-toolchain-win32_x86/
5
       0  Stored        0   0% 2019-06-24 14:06 00000000  avr8-gnu-toolchain-win32_x86/libexec/
6
       0  Stored        0   0% 2019-06-24 14:06 00000000  avr8-gnu-toolchain-win32_x86/libexec/gcc/
7
       0  Stored        0   0% 2019-06-24 14:06 00000000  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/
8
       0  Stored        0   0% 2019-06-24 14:15 00000000  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/
9
   58368  Defl:N    30622  48% 2019-06-24 14:15 008afab5  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/liblto_plugin-0.dll
10
  418304  Defl:N   204079  51% 2019-06-24 14:15 52a2102a  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/collect2.exe
11
       0  Stored        0   0% 2019-06-24 14:15 00000000  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/install-tools/
12
    3538  Defl:N     1467  59% 2019-06-24 14:06 8af40e04  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/install-tools/mkinstalldirs
13
    3273  Defl:N     1379  58% 2019-06-24 14:06 08ae3165  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/install-tools/mkheaders
14
   13940  Defl:N     4987  64% 2019-06-24 14:06 37a3e66c  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/install-tools/fixinc.sh
15
  112640  Defl:N    42539  62% 2019-06-24 14:15 c071f8ff  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/install-tools/fixincl.exe
16
10265088  Defl:N  4537285  56% 2019-06-24 14:15 f2454d72  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/cc1.exe
17
    1098  Defl:N      551  50% 2019-06-24 14:06 c818ce12  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/liblto_plugin.la
18
   49806  Defl:N     3645  93% 2019-06-24 14:15 6e6b7b77  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/liblto_plugin.dll.a
19
 9617920  Defl:N  4251801  56% 2019-06-24 14:15 2a5d0928  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/lto1.exe
20
11242496  Defl:N  5017188  55% 2019-06-24 14:15 d88d33f0  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/cc1plus.exe
21
  593408  Defl:N   246434  59% 2019-06-24 14:15 9d92c394  avr8-gnu-toolchain-win32_x86/libexec/gcc/avr/5.4.0/lto-wrapper.exe
22
       0  Stored        0   0% 2019-06-24 14:15 00000000  avr8-gnu-toolchain-win32_x86/bin/
23
  629760  Defl:N   317931  50% 2019-06-24 14:15 a95a62cd  avr8-gnu-toolchain-win32_x86/bin/avr-strip.exe
24
  730112  Defl:N   365491  50% 2019-06-24 14:15 64d39363  avr8-gnu-toolchain-win32_x86/bin/avr-objdump.exe
25
  393728  Defl:N   173600  56% 2019-06-24 14:15 ec55ab62  avr8-gnu-toolchain-win32_x86/bin/avr-readelf.exe
26
   49152  Defl:N    26530  46% 2019-06-24 14:15 4be40a1b  avr8-gnu-toolchain-win32_x86/bin/avr-gcc-ranlib.exe
27
   49152  Defl:N    26531  46% 2019-06-24 14:15 86f751a9  avr8-gnu-toolchain-win32_x86/bin/avr-gcc-nm.exe
28
  629760  Defl:N   317924  50% 2019-06-24 14:15 e09b5e96  avr8-gnu-toolchain-win32_x86/bin/avr-objcopy.exe
29
  736768  Defl:N   302746  59% 2019-06-24 14:15 40900450  avr8-gnu-toolchain-win32_x86/bin/avr-g++.exe
30
  943104  Defl:N   381359  60% 2019-06-24 14:15 cd1bd944  avr8-gnu-toolchain-win32_x86/bin/avr-ld.bfd.exe
31
    1899  Defl:N      954  50% 2019-06-24 13:27 befd0007  avr8-gnu-toolchain-win32_x86/bin/avr-man
32
  390656  Defl:N   191110  51% 2019-06-24 14:15 bc26eab6  avr8-gnu-toolchain-win32_x86/bin/avr-gcov.exe
33
  492544  Defl:N   252929  49% 2019-06-24 14:15 382a6fdd  avr8-gnu-toolchain-win32_x86/bin/avr-c++filt.exe
34
   31744  Defl:N    14972  53% 2019-06-24 14:15 778638cd  avr8-gnu-toolchain-win32_x86/bin/avr-elfedit.exe
35
 3988480  Defl:N  1459191  63% 2019-06-24 14:15 9bf88c86  avr8-gnu-toolchain-win32_x86/bin/avr-gdb-py.exe
36
  734208  Defl:N   300952  59% 2019-06-24 14:15 2dc913d4  avr8-gnu-toolchain-win32_x86/bin/avr-gcc-5.4.0.exe
37
  502272  Defl:N   255929  49% 2019-06-24 14:15 92edcc0a  avr8-gnu-toolchain-win32_x86/bin/avr-size.exe
38
 3831296  Defl:N  1406436  63% 2019-06-24 14:15 37ce948f  avr8-gnu-toolchain-win32_x86/bin/avr-gdb.exe
39
  735744  Defl:N   301639  59% 2019-06-24 14:15 fd2cc0ed  avr8-gnu-toolchain-win32_x86/bin/avr-cpp.exe
40
  502272  Defl:N   257041  49% 2019-06-24 14:15 0d8801e0  avr8-gnu-toolchain-win32_x86/bin/avr-nm.exe
41
  544256  Defl:N   274908  50% 2019-06-24 14:15 30683753  avr8-gnu-toolchain-win32_x86/bin/avr-gprof.exe
42
  494080  Defl:N   253585  49% 2019-06-24 14:15 53a6df94  avr8-gnu-toolchain-win32_x86/bin/avr-addr2line.exe
43
  495104  Defl:N   253868  49% 2019-06-24 14:15 48d51c47  avr8-gnu-toolchain-win32_x86/bin/avr-strings.exe
44
  380928  Defl:N   184749  52% 2019-06-24 14:15 36095436  avr8-gnu-toolchain-win32_x86/bin/avr-gcov-tool.exe
45
   49664  Defl:N    26558  47% 2019-06-24 14:15 b36f106f  avr8-gnu-toolchain-win32_x86/bin/avr-gcc-ar.exe
46
  514560  Defl:N   262545  49% 2019-06-24 14:15 39a5ff0b  avr8-gnu-toolchain-win32_x86/bin/avr-ranlib.exe
47
  943104  Defl:N   381359  60% 2019-06-24 14:15 cd1bd944  avr8-gnu-toolchain-win32_x86/bin/avr-ld.exe
48
  666112  Defl:N   339353  49% 2019-06-24 14:15 e41f80be  avr8-gnu-toolchain-win32_x86/bin/avr-as.exe
49
  734208  Defl:N   300952  59% 2019-06-24 14:15 2dc913d4  avr8-gnu-toolchain-win32_x86/bin/avr-gcc.exe
50
  514560  Defl:N   262395  49% 2019-06-24 14:15 c8de0db3  avr8-gnu-toolchain-win32_x86/bin/avr-ar.exe
51
  736768  Defl:N   302746  59% 2019-06-24 14:15 40900450  avr8-gnu-toolchain-win32_x86/bin/avr-c++.exe
52

von Lowlevel Programmierer (Gast)


Lesenswert?

Und das Bauen funktoniert jetzt anscheinend auch...endlich. :)

von jo mei (Gast)


Lesenswert?

Lowlevel Programmierer schrieb:
> Ich werd mal das aus dem Github-Link probieren

Ich lese hier die ganze Zeit mit ....

Bist du sicher dass du nicht doch eine der beiden IDEs für
AVR verwenden möchtest, nämlich AVR Studio 4.xx oder eben das
aktuellere Atmel Studio 7.xx?

Oder habe ich irgendwas verpasst warum du dich so herumplagst ...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

jo mei schrieb:
> Oder habe ich irgendwas verpasst warum du dich so herumplagst ...

Weil er ein fertiges LUFA-Projekt hat.

von Lowlevel Programmierer (Gast)


Lesenswert?

Jörg W. schrieb:
> Also in dem Zip-File, welches ich mir da runtergeladen habe, ist
> das
> nicht leer:
> ...

Ja, merkwürdig, ich hab grad auch nochmal nachgesehen, komischerweise 
ist das was ich heruntergeladen hab tatsächlich nicht leer. Im Ordner im 
Installationspfad war es das hingegen.

Keine Ahnung was da schiefgelaufen ist, eigentlich funktioniert das 
Kopieren eines Ordners am Stück ja recht gut.

Aber gut, ich freue mich darüber daß Cygwin meldet:
>  [INFO]    : Finished building project "Chameleon-RevG".
> touch uartcmd.c
> touch Terminal/Commands.c

Danke für den Hinweis mit dem leeren bin-Ordner. :)

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.