Forum: Compiler & IDEs AVR-install-skript?


von DeLux (Gast)


Lesenswert?

hallo ihr fleißigen!

könnt ihr mir sagen, ob, und wenn ja, wo es ein Skript für den avr-gcc
gibt, das wie das hier im forum für den msp430 verwendet wird und alles
benötigte für linux aus dem netz zieht und installiert?

ich dachte da an simulavr, gcc, avr-libc, avr-gdb, uisp,... in
möglichst der aktuellsten version.

ich bin ja nicht ganz so firm im erzeugen von compiler-systemen...

vielen dank schonmal :-)

von KoF (Gast)


Angehängte Dateien:

Lesenswert?

ich hab mal eben was "zusammengeklatsch", es ist nicht gerade schön
und ob es funktioniert ist eine andere frage!

man braucht:
- linux ( wer hätte das gedacht ;-)
- flex ( aktuelle version aus dem ubuntu rep)
- bison ( " )
- byacc ( " )
- gcc ( in version 4.0.2 (auch aus dem rep )

---------------------------------

zum starten einfach ein verzeichnis erzeugen (z.b.
/home/<usr>/avr-gcc)
in das verzeichnis wechseln
sudo sh <pfad/zum/skript>

und dann warten ...

---------------------------------

wenn das funktioniert hat, hat man:
binutils > ver 2.16.1
avr-gcc -> ver 4.0.2
avr-libc -> ver 1.4.4
uisp -> 20050207
avr-gdb -> ver 6.4

leider habe ich es bis jetzt nicht geschaft simulavr einzubinden

---------------------------------

bitte testen, erweitern und fehler melden!!!


mfg
KoF

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


Lesenswert?

Warum eigentlich bison und byacc?

> uisp -> 20050207

Bitte besser durch avrdude ersetzen.  Das kann inzwischen alles,
was uips jemals konnte, und noch viel mehr.

avarice fehlt noch.  avr-gdb braucht wenigstens eins von beiden,
avarice (+ JTAG ICE) oder simulavr.

von Patrick S. (kof)


Lesenswert?

bison und byacc weil da compiler gebaut werden ;-)
ok, ich gebe zu, ich bin jetzt einfach mal davon ausgegangen, das sie
gebraucht werden und bin mir nicht 100%`ig sicher. sorry.

mit avarice hab ich zwar noch nicht gearbeitet, aber ich werde es
versuchen einzubauen, sobald ich zeit habe!
auch simulavr und ggf das eclipse plugin von vier würde ich auch gerne
einbauen... auch ddd oder insight würde ich eventuell mit einpflegen,
oder zumindest ein config-skript, da sich ja auch da viele mit schwer
tun

dachte auch schon dran, nen tcl/tk skript statt nem schnöden
konsolensript zu schreiben, so das man noch etwas auswahl hat.

hilfe und ideen sind gerne gesehen!!!
aber leider gibt es ja nur wenig resonanz (jörg, du bist ausgenommen
;-)
ich geb ja zu, das das skript wirklich nicht sehr toll ist, aber es
nimmt viel arbeit ab ;-)

aja, sind die versionen ok? ich habe mal aus verdacht den gcc4
genommen! hab aber bislang immer nur 3er versionen gesehen...


wie gesagt, hilfe ist gerne gesehen!!!

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


Lesenswert?

> bison und byacc weil da compiler gebaut werden ;-)

Da du für den GCC den bison ohnehin brauchst, sollten eigentlich
alle anderen aber auch damit klar kommen, byacc dürfte dann nicht
zwingend nötig sein.  Beide Tools erledigen die gleiche Aufgabe
und sind Clones des ,,klassischen'' yacc ("yet another compiler
compiler").  Da yacc seinerzeit closed source war, wurde er im
Rahmen des BSD-Projekts an der Universität Berkeley neu geschrieben
und hat in dieser Form in der Linux-Gemeinde den Namen byacc
bekommen (BSD nennt ihn einfach nur yacc).  bison ist das GNU
Pendant, das hat (wie bei GNU üblich :) creaping featurism, ist
also letztlich eine Übermenge des yacc.

> aja, sind die versionen ok? ich habe mal aus verdacht den gcc4
> genommen!

Nimm eine neuere Version des GCC, die Optimierung ist dort für
den AVR deutlich besser geworden.  Ich mache meine Projekte auf
Arbeit nunmehr mit GCC 4.1.0.

Wenn du latest+greatest new device support haben willst, solltest
du dir die Patches meiner FreeBSD-Ports ansehen.  Die sind
mittlerweile so 'ne Art Standard geworden...

von KoF (Gast)


Lesenswert?

ohh, der meister persönlich :-)

dann kann ich ja auch mal meine simulavr-frage stellen :-)
ich bekomme follgende fehlermeldung
> cc1: warnings being treated as errors
> disp.c: In Funktion »disp_parse_packet«:
> disp.c:818: Warnung: »areg« könnte in dieser Funktion uninitialisiert
verwendet werden
> make[3]: *** [disp.o] Fehler 1

kann man eventuell eine aktuelle binary irgendwo bekommen?

auch fehlt mir irgendwie eine liste mit den supported devices ;-) wird
z.b. der attiny2313 unterstützt?

>> die Patches meiner FreeBSD-Ports

hmm... wo bekomme ich die denn? (ich weiß, dumme frage, aber mit
avr-gcc beschäftige ich mich auch noch nicht so lange ...)

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


Lesenswert?

> cc1: warnings being treated as errors

Das solltest du abschalten.

> disp.c: In Funktion »disp_parse_packet«:
> disp.c:818: Warnung: »areg« könnte in dieser Funktion uninitialisiert
verwendet werden
> make[3]: *** [disp.o] Fehler 1

Ist eine Warnung, aber infolge des -Werror wird sie halt als Fehler
behandelt.  Guck dir an, ob an der Warnung was dran ist, entweder
initialisiert du areg halt (mehr oder weniger passend), oder du
schaltest das -Werror aus.

> kann man eventuell eine aktuelle binary irgendwo bekommen?

simulavr wird nicht mehr weiter entwickelt (leider).

> auch fehlt mir irgendwie eine liste mit den supported devices ;-)
> wird z.b. der attiny2313 unterstützt?

Sicherlich nicht, der ist deutlich neuer als das Ende der
Entwicklungsarbeiten an simulavr:

% simulavr --help

Usage: simulavr [OPTIONS]... [flash_image]
...
Currently available device types:
  at90s1200
  at90s2313
  at90s4414
  at90s8515
  atmega8
  atmega16
  atmega103
  atmega128
  at43usb351
  at43usb353
  at43usb355
  at43usb320
  at43usb325
  at43usb326

Andererseits hatte simulavr sowieso nur minimale Unterstützung für die
Simulation von Peripheriegeräten, insofern müsstest du mit einem
AT90S2313 doch hinkommen.

>> die Patches meiner FreeBSD-Ports

> hmm... wo bekomme ich die denn? (ich weiß, dumme frage, aber mit
> avr-gcc beschäftige ich mich auch noch nicht so lange ...)

http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/avr-binutils/files/
http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/avr-gcc/files/
http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/avr-gcc-devel/files/

Ich habe auch eine Mini-Mailingliste, an die ich eine kurze Info
schicke, wenn ich in den Ports was aktualisiert habe.  Da kannst du
dich gern eintragen lassen -> mail me, please.

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.