www.mikrocontroller.net

Forum: Compiler & IDEs avr-gcc-4.1.1 verweigert sich dem ATtiny13


Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

entgegen der Doku scheint meine Toolchain den ATtiny13 nicht zu wollen
(Fatal error: unknown MCU: attiny13).
Eine iotn13.h ist aber vorhanden und wird von der io.h aus auch
'included' (sofern die Defines stimmen).

Was könnte ich übersehen haben?

gcc=4.1.1
libc=1.4.5(19:43:11 13.10.2006)
binutils=2.15 (13:20:58 26.01.2007)

gcc --target-help:
Known MCU names:
  avr1 avr2 avr3 avr4 avr5 at90s1200 attiny10 attiny11 attiny12 attiny15
  attiny28 at90s2313 at90s2323 at90s2333 at90s2343 attiny22 attiny26
  at90s4433 at90s4414 at90s4434 at90s8515 at90s8535 at90c8534 at86rf401
  atmega603 atmega103 at43usb320 at43usb355 at76c711 atmega8 atmega83
  atmega85 atmega8515 atmega8535 atmega16 atmega161 atmega162 atmega163
  atmega169 atmega32 atmega323 atmega64 atmega128 at94k
  no emulation specific options.

avr-as --target-help
Known MCU names:
  avr1 avr2 avr3 avr4 avr5 at90s1200 attiny10 attiny11 attiny12 attiny15
  attiny28 at90s2313 at90s2323 at90s2333 at90s2343 attiny22 attiny26
  at90s4433 at90s4414 at90s4434 at90s8515 at90s8535 at90c8534 at86rf401
  atmega603 atmega103 at43usb320 at43usb355 at76c711 atmega8 atmega83
  atmega85 atmega8515 atmega8535 atmega16 atmega161 atmega162 atmega163
  atmega169 atmega32 atmega323 atmega64 atmega128 at94k

Grüße,
Freakazoid

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> entgegen der Doku scheint meine Toolchain den ATtiny13 nicht zu wollen
                            ^^^^^^^^^^^^^^^
Welche?

Autor: Verwirrter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
???
avr-gcc toolchain: avr-gcc, avr-binutils, avr-libc
Versionen: Hat er doch oben geschrieben.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das soll wirklich ein GCC 4.1.1 sein?  Der muss den ATtiny13 aber 
kennen.
Der derzeitige "newdevices" patch für 4.1.1 fügt dann zusätzlich noch
allerlei neuere Controller hinzu.

Die binutils solltest du dringlichst auf 2.17 oder 2.17.1 bringen.

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hatte mir schon gedacht daß Du früher oder später drauf antwortest. 
Danke dafür ;-)

> Das soll wirklich ein GCC 4.1.1 sein?
Using built-in specs.
Target: avr
Configured with: 
/var/tmp/cross/avr/portage/gcc-4.1.1/work/gcc-4.1.1/configure 
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/avr/gcc-bin/4.1.1 
--includedir=/usr/lib/gcc/avr/4.1.1/include 
--datadir=/usr/share/gcc-data/avr/4.1.1 
--mandir=/usr/share/gcc-data/avr/4.1.1/man 
--infodir=/usr/share/gcc-data/avr/4.1.1/info 
--with-gxx-include-dir=/usr/lib/gcc/avr/4.1.1/include/g++-v4 
--host=i686-pc-linux-gnu --target=avr --build=i686-pc-linux-gnu 
--disable-altivec --disable-nls --with-system-zlib --disable-checking 
--disable-werror --disable-libunwind-exceptions --disable-libmudflap 
--disable-libssp --disable-libgcj --enable-languages=c --enable-shared 
--disable-threads --enable-__cxa_atexit
Thread model: single
gcc version 4.1.1 (Gentoo 4.1.1)
 /usr/libexec/gcc/avr/4.1.1/cc1 -quiet -v help-dummy -quiet -dumpbase 
help-dummy -auxbase help-dummy -version --target-help -o /tmp/ccPETX2m.s

Target specific options:
 [Bla, Bla]
Known MCU names:
  avr1 avr2 avr3 avr4 avr5 at90s1200 attiny10 attiny11 attiny12 attiny15
  attiny28 at90s2313 at90s2323 at90s2333 at90s2343 attiny22 attiny26
  at90s4433 at90s4414 at90s4434 at90s8515 at90s8535 at90c8534 at86rf401
  atmega603 atmega103 at43usb320 at43usb355 at76c711 atmega8 atmega83
  atmega85 atmega8515 atmega8535 atmega16 atmega161 atmega162 atmega163
  atmega169 atmega32 atmega323 atmega64 atmega128 at94k

> Der muss den ATtiny13 aber kennen.
Seh ich auch so. Deswegen ja auch 'entgegen' der Doku.

> Die binutils solltest du dringlichst auf 2.17 oder 2.17.1 bringen.
Wieso? Die 2.15 würde es doch auch tun, oder? Ich kanns ja mal versuchen 
...

Grüße,
Freakazoid

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwirrter schrieb:
> ???
> avr-gcc toolchain: avr-gcc, avr-binutils, avr-libc
> Versionen: Hat er doch oben geschrieben.

Schon klar. Ich wollte wissen, wer die Toolchain übersetzt (und damit 
konfiguriert) hat bzw. um welche Toolchain es sich genau handelt.

Du kannst z.B. die AVR GCC Toolchain mit GCC 4.1.1 für Windows z.B. in 
der WinAVR Geschmacksrichtung bekommen oder als Atman AVR oder als ...

Ich entnehme der Antwort von Andre an Jörg, dass es sich wahrscheinlich 
um eine Selbstübersetzung unter Gentoo/Linux handelt.

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So. avr-binutils sind jetzt '2.17.50.0.12 20070128'

Klappt trotzdem nicht.

@Stefan:
> Ich entnehme der Antwort von Andre an Jörg, dass es sich wahrscheinlich
> um eine Selbstübersetzung unter Gentoo/Linux handelt.
Bestätigt. Bei den binutils isses ein 'emerge -uva 
=cross-avr/binutils-2.17.50.0.12' und bei dem gcc ein 'crossdev --target 
avr-unknown-linux-gnu'.
Könnte man den gcc denn so übersetzen, daß bestimmte Devices innerhalb 
eines Targets nicht unterstützt werden?

Grüße,
Freakazoid

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du nach der Neuübersetzung der binutils auch den gcc und die libc 
nochmal neu übersetzt?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Könnte man den gcc denn so übersetzen, daß bestimmte Devices innerhalb
> eines Targets nicht unterstützt werden?

Voraub: Bin Gentoo-Nichtkenner.

Aber mich macht das 'crossdev --target avr-unknown-linux-gnu' stutzig.

In unserem Wiki (allerdings bei gcc-3.4.6!) ist da ein anderer Aufruf: 
'crossdev --target avr'.
http://www.mikrocontroller.net/articles/AVR_Eclips...

Dito beim CCC-Zürich
'crossdev -t avr'
http://chaostreff-zh.tuners.ch/Geekclock_Workshop

Dito bei Arduino
'crossdev -t avr'
http://www.arduino.cc/playground/Linux/Gentoo

Deine Variante findet man aber auch. Wobei ich gemäß 
http://www.gentoo.org/proj/en/base/embedded/cross-... die 
Kombination avr-unknown-linux-gnu nicht wählen würde.

Ggf. müsste man noch tiefer ins Netz reinsuchen, wie das Crosscompile 
durchzuführen ist oder einfach mal die andere Variante probieren.

Die andere Aufgabe wäre natürlich die Sourcen und die crossdev Skripte 
zu kontrollieren, ob die aus dem aktuellen Branch stammen und speziell 
ob die avr25 Architektur, die mit gcc Revision 114758 eingeführt wurde, 
bekannt ist. 
http://gcc.gnu.org/viewcvs/trunk/gcc/config/avr/av... Deinem 
gcc/as fehlen ja noch mehr aus dieser speziellen avr25 Architektur sowie 
die avr25 MCU selbst.

Ich finde im Netz crossdev Skripte mit CROSS_CFLAGS="-mmcu=avr2", um die 
Library zu machen, aber keine mit avr25.

Autor: Freakazoid (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm. Plötzlich geht es ;-)))

Naja. Etwas habe ich schon gemacht:
crossdev --target avr --gcc 4.1.1 --binutils 2.17.50.0.12

Ein klein wenig rumgerödel (also zu kurz für eine Neuübersetzung. 
Vermutlich nur anpassen der Profile) und plötzlich ging es.

Laut dem avr-as und dem avr-gcc angeblichimmer noch kein Support, aber 
eine Beispieldatei wird mit -mmcu=attiny13 tadellos übersetzt und 
gelinkt.

Danke für die Hilfe.

Grüße,
Freakazoid

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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