Forum: Compiler & IDEs Pedant für Linux zu WinAVR


von Andre (Gast)


Lesenswert?

Hallo,

habe seit ein paar Tagen erfolgreich den Umstieg auf SUSE Linux gewagt. 
Mein Handling läßt aber noch einiges zu Wünsche übrig, gerade bei der 
Installation  neuer Programm.  Für meinen Mikrocontroller fehlt mir 
allerdings noch eine Entwicklungsumgebung für Linux. Unter Windos hatte 
ich WinAVR im Einsatz. Gibt es dieses Packet auch für Linux (am Besten 
als komplettes Installationspacket, so dass ich es über Yast einfach 
installieren kann) ?

Danke schon für Eure Hilfe

Andre

von Michael H. (micktnt)


Lesenswert?

Moin,
gcc-avr, avra und avr-libc... nur mitm Brennen musst du halt dann 
schauen...

von Gast (Gast)


Lesenswert?


von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Schau lieber mal ob Suse die Pakete schon mitbringt. Einfach nach 
Paketen mit "avr" im Namen suchen.

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


Lesenswert?

Meiner Erfahrung nach sind die Linux-Pakete sehr oft schlecht
gepflegt.  Besser kommst du, wenn du das selbst baust, siehe
Bingo600's Script hier:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=42631

von Rolf Magnus (Gast)


Lesenswert?

> nur mitm Brennen musst du halt dann schauen...

Dazu bietet sich avrdude, uisp oder ponyprog an.

von yalu (Gast)


Lesenswert?

> Dazu bietet sich avrdude, uisp oder ponyprog an.

... wobei uisp nicht mehr ganz frisch ist (letztes Update: Februar
2005). Funktionieren tut er trotzdem, aber nicht mit den neueren
AVR-Typen.

Avrdude ist ok, mit Ponyprog habe ich keine Erfahrung.

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


Lesenswert?

Ja, UISP wird nicht mehr gepflegt.  Alle Funktionalität, die UISP
kann und konnte, ist mittlerweile auch in AVRDUDE vorhanden.

von Ralf B. (rotator0815)


Lesenswert?

Schau dir doch mal "KontrollerLab" an.
Bin zwar Neueinsteiger bei der AVR-Programmierung aber das Programm 
macht einen sehr guten Eindruck!

--> www.cadmaniac.org

von Kersten Vollmers (Gast)


Lesenswert?

Heisst das nicht "Pendant" ?

(ein Pedant)

von roboterheld (Gast)


Lesenswert?

....SUSE Linux....

nimm das wieder runter und bau debian-linux auf den rechner.

suse hat so seine macken.

von (Gast)


Lesenswert?

Na wenn dann gleich Ubuntu. Hat den Debian Unterbau ist aber viel 
komfortabler.

von Malte _. (malte) Benutzerseite


Lesenswert?

Welche Distribution du nimmst ist erstmal nebensache ;-)
und ich würde es erstmal mit den bereitgestellten Pakete probieren, auch 
wenn die meist nicht die aller neuste avr-libc Version beinhalten.

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


Lesenswert?

Malte __ wrote:

> Welche Distribution du nimmst ist erstmal nebensache ;-)
> und ich würde es erstmal mit den bereitgestellten Pakete probieren, auch
> wenn die meist nicht die aller neuste avr-libc Version beinhalten.

Leider fehlen den bereitgestellten Versionen sehr oft Patches,
insbesondere für neuere AVRs.  Gentoo Linux war lange Zeit die
Ausnahme, aber der Maintainer hat die dortigen Grabenkämpfe
irgendwann nicht mehr ausgehalten und ist nun bei FreeBSD.

Alle anderen liefern mehr oder weniger ungepatchte Versionen der
Tools mit, die man nicht für die neuesten AVRs benutzen kann, weil
(naturgemäß) die Release-Zyklen von binutils und GCC dafür zu
langsam sind.

von Werner Hoch (Gast)


Lesenswert?

Schaut euch mal die Pakete aus dem openSUSE buildservice an:
ftp://ftp-1.gwdg.de/pub/opensuse/repositories/CrossToolchain%3A/avr

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


Lesenswert?

Werner Hoch wrote:

> Schaut euch mal die Pakete aus dem openSUSE buildservice an:

Was sagt denn avr-gcc --target-help?  Welche MCU types sind da alles
dabei?  Mir ist bislang nicht bekannt, dass sich aus dem Umfeld von
(Open)SuSE irgendwann jemand gekümmert hätte, was man alles an Patches
für einen sinnvollen AVR-GCC braucht.

von Malte _. (malte) Benutzerseite


Lesenswert?

Also von den Versionen bei OpenSuse sind die neuer, als das was bei mir 
mit Kubuntu 7.10 ausgeliefert wurde. Und gerade als Anfänger braucht man 
zuerst wohl kaum  Unterstützung für die aller neusten AVRs, sondern man 
ist froh wenn man erstmal überhaupt ein einfaches Programm zum laufen 
gebracht hat.

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


Lesenswert?

Malte __ wrote:

> Und gerade als Anfänger braucht man
> zuerst wohl kaum  Unterstützung für die aller neusten AVRs, sondern man
> ist froh wenn man erstmal überhaupt ein einfaches Programm zum laufen
> gebracht hat.

It depends.  Die Release-Zyklen insbesondere des GCC, aber auch der
binutils sind teilweise so schwerfällig, dass oft genug auch AVRs, die
es schon lange am Markt gibt, noch nicht unterstützt werden.  Kommen
noch andere Dinge dazu, wie der Patch für AVR-COFF (falls jemand VMLAB
nehmen will), der für 0b-Konstanten (Kompatibilität mit WinAVR-Quellen,
wird offiziell erst bei GCC 4.3 dabei sein), mit dem aktuellen WinAVR
wird sich vermutlich auch langsame rumsprechen, dass man main() am
besten als

int main(void) __attribute__((OS_task));

deklariert.  Ich würde es sehr begrüßen, wenn die Maintainer der
jeweiligen Linux-Pakete hier dem de-facto-Standard von WinAVR,
Bingo600's build script, MacAVR (?) und FreeBSD folgen würden, statt
ihre faule Version zu fahren.  Dann hätten alle AVR-Anwender nämlich
ein einheitliches Bild, was sich ihnen auf der Tool-Seite bietet.  Bis
das der Fall ist, kann ich den Linux-Anwendern stattdessen nur
empfehlen, selbst Bingo600's Script zu nehmen.  Am Ende ist das
Selbstcompilieren der Tools damit ja praktisch kein Aufwand, und Bingo
liegt typischerweise weniger als eine Woche hinter WinAVR und FreeBSD
hinterher (er nimmt ja die FreeBSD-Patches).

von Werner Hoch (Gast)


Lesenswert?

Hallo Jörg,

> /opt/cross/bin/avr-gcc --version
avr-gcc (SUSE Linux) 4.3.0 20071129 (experimental) [trunk revision 
130511]
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.


/opt/cross/bin/avr-gcc --target-help

Known MCU names:
  avr1 avr2 avr3 avr4 avr5 avr6 at90s1200 attiny10 attiny11 attiny12
  attiny15 attiny28 at90s2313 at90s2323 at90s2333 at90s2343 attiny22
  attiny26 at90s4433 at90s4414 at90s4434 at90s8515 at90s8535 at90c8534
  at86rf401 attiny13 attiny2313 attiny261 attiny461 attiny861 attiny24
  attiny44 attiny84 attiny25 attiny45 attiny85 atmega603 atmega103
  at43usb320 at43usb355 at76c711 atmega48 atmega8 atmega83 atmega85
  atmega88 atmega8515 atmega8535 atmega8hva at90pwm1 at90pwm2 at90pwm3
  atmega16 atmega161 atmega162 atmega163 atmega164p atmega165 atmega165p
  atmega168 atmega169 atmega169p atmega32 atmega323 atmega324p atmega325
  atmega325p atmega329 atmega329p atmega3250 atmega3250p atmega3290
  atmega3290p atmega406 atmega64 atmega640 atmega644 atmega644p 
atmega128
  atmega1280 atmega1281 atmega645 atmega649 atmega6450 atmega6490
  atmega16hva at90can32 at90can64 at90can128 at90usb82 at90usb162
  at90usb646 at90usb647 at90usb1286 at90usb1287 at94k atmega2560
  atmega2561

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


Lesenswert?

Wenigstens sind atmega256x schon dabei.  Ist also ungefähr der Stand
vom Frühjahr 2007.

von Pete K. (pete77)


Lesenswert?

Ist dort auch ein Tool dabei, was das Makefile erzeugt sowie ein 
Programmer, der meinen AVRISP bedient ?

Ich würde auch gerne vom AVRStudio umsteigen ...

Ein bischen GUI sollte doch schon sein :-)

von Manfred B. (vorbeigeschlendert)


Lesenswert?

Pete K. wrote:
> Ist dort auch ein Tool dabei, was das Makefile erzeugt sowie ein
> Programmer, der meinen AVRISP bedient ?

das Makefile erstellst du einmal mit Jörgs Mfile, für weitere Projekte 
nimmst du das als Vorlage die Änderungen sind meist minimal
als Programmer avrdude...

>
> Ich würde auch gerne vom AVRStudio umsteigen ...
>
> Ein bischen GUI sollte doch schon sein :-)

gnome, kde  ;-)

von neuer (Gast)


Lesenswert?

ich glaube, das dieses linux bei dir nicht in den richtigen händen 
liegt.

bevor du damit irgend etwas mit dem linux herstellen kannst wie unter 
winavr, wirst du hunder jahre alt, kannst dann linux , aber dein roboter 
läuft immer noch nicht mit dem atmega.

von vorbeigeschlendert (Gast)


Lesenswert?

@ neuer (Gast) :
wovon spricht (schreibt) er ?

von Malte _. (malte) Benutzerseite


Lesenswert?

Ist wohl ein Troll der aus dem Heise Forum ausgebrochen ist ;-)

von vorbeigeschlendert (Gast)


Lesenswert?

und ich dachte die sind da 'safe' ;-)

von Pete K. (pete77)


Lesenswert?

Linux habe ich zuerst in der Version 0.11 kennengelernt, das waren die 
ersten Versionen, wo man nur 3 Buchstaben auf dem (monochromen) 
Bildschirm sehen konnte und im Wesentlichen die Umschaltung des 
Protected Mode geübt wurde. Natürlich alles auf einem 386er mit 25Mhz 
:-)

Das muss so ca. 1989/90 gewesen sein.

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.