Forum: Mikrocontroller und Digitale Elektronik "AVR-Studio" für Linux?


von Stefan (Gast)


Lesenswert?

Hallo,

gibt es eigentlich irgendwelche AVR-Studio- und avr-gcc-ähnlichen
Programme für Linux?
Würde mich mal interessieren, da man dann wohl ganz auf
Windows verzichten könnte.


Danke

Stefan

von Clemens H. (sum)


Lesenswert?

Hallo Stefan,

für Linux gibt es z.B. Kate als Editor, den avr-gcc und die avr-libc
als  Compiler oder tavrasm oder avra als Assembler.

apt-get install kate avr-gcc avr-libc avra

tavrasm musst du noch selber kompilieren.

Google einfach mal nach den Stichworten, sollte was geben.

Grüße, Clemens

von let (Gast)


Lesenswert?

Noch 'integrierter' (so von wegen IDE) ist KDevelop für KDE.
Eclipse gibt es auch für Linux.
Du wirst aber wohl so einiges 'zu Fuß' installieren und einrichten
müssen.

Suche doch mal mit Google nach 'avr-gcc linux toolchain'. Doch
erwarte keine 'Setup.exe'.

 - Michael

PS: Der GCC kommt aus der Unix-Welt. Er wurde lediglich nach Windows
portiert.

von Thomas (Gast)


Lesenswert?

Das ersetzt alles kein AVR-Studio ;-)

Eine 3er Version vom Studio kann man auch per Wine laufen lassen. Mit
einer frühen 4er hab ich es mal probiert, da ging es nicht. Evtl.
einfach mal probieren...

von let (Gast)


Lesenswert?

^ Falls ein Parallelport Programmer verwendet werden soll, könnte das in
der Tat erforderlich sein ;).

Dann funktioniert es aber auch. Mein STK200 Nachbau will nicht unter XP
sp2, trotz giveio und co.

Ätsch! ;)

von usul27 (Gast)


Lesenswert?

Also ich arbeite mit avr-gcc und Eclipse. Zwar unter Windows, aber das
sollte problemlos unter Linux laufen.

von yalu (Gast)


Lesenswert?

Ich bin glücklich mit folgendes Tools:

  Editor: vim
  Compiler: GCC (mit AVR-Option kompiliert)
  Assembler, Linker etc.: GNU binutils (dto.)
  Standardbibliothek: avr-libc
  Programmiersoftware: avrdude
  "Programmiergerät": Parallelport
  Build-Tool: GNU make
  Versionsverwaltung: Subversion

Einen Simulator benutze ich nicht, aber auch davon gibt's mindestens
zwei für Linux.

Eine integrierte Entwicklungsumgebung (IDE) verwende ich ebenfalls
nicht. IDEs eignen sich hervorragend für Programmieranfänger, da man
damit die Funktionsweise und das Zusammenwirken der einzelnen Tools
nicht im Detail verstehen muss. Später stellen IDEs eher eine
Effizienzbremse beim Programmieren dar.

Hier ist eine gute Anleitung, wie die einzelnen Tools installiert
werden:

  http://tuxgraphics.org/electronics/200411/article352.shtml

Von der darin empfohlenen Programmiersoftware uisp bin ich irgendwann
auf den avrdude umgestiegen, da uisp wohl nicht mehr gepflegt wird und
für neuere AVR-Typen jedesmal der Sourcecode angepasst werden muss.
avrdude ist aktueller, und die Anpassung an neue AVR-Typen ist leicht
über eine Konfigurationsdatei möglich.

Auf meinem PC läuft seit ca. 7 Jahren kein Windows mehr.

von usul27 (Gast)


Lesenswert?

Also dass IDEs eine Effizienzbremse darstellen, ist schon eine sehr
skurile Aussage...

von Bri (Gast)


Lesenswert?

@yalu

vim als Editor? Das ist ja der Brüller. Du ziehst dir bestimmt auch
deine Hosen mit der Kneifzange an. LOL

@Stefan

Nimm Eclipse oder KDevelop.

von SiO2 (Gast)


Lesenswert?


von vim-fan (Gast)


Lesenswert?

tja, wer vim einmal bedienen kann, der kann über euch mausschubser nur
muede lächeln. nur weil ihr damit nicht in der lage seid, auch nur eine
einzige zeile zu schreiben, heisst das nämlich noch lange nicht, dass
man damit nicht extrem effizient arbeiten kann.

von yalu (Gast)


Lesenswert?

@Bri

Du hast recht: Vim ist tatsächlich der Brüller unter den Editoren.
Aber Emacs ist auch nicht schlecht.


@usul27

Das war vielleicht etwas provokativ und verallgemeinernd (neudeutsch:
trollig) formuliert, was aber nicht in meiner Absicht lag. Welche
Tools für wen letztendlich effizientes Arbeiten erlauben, hängt
sicherlich von der persönlichen Arbeitsweise ab.

Für mich persönlich ist das im Vordergrund stehende Entwicklungstool
immer der Texteditor (egal ob stand-alone oder ins IDE integriert), da
das Eingeben und Ändern von Quellcode einen Großteil der
Entwicklungsarbeit ausmacht.

Deswegen sollte der Editor in erster Linie leistungsfähig sein (d.h.
Tipp- und Klickarbeit abnehmen) und erst in zweiter Linie leicht zu
bedienen sein (die Bedienung kann ich lernen, beim schnellen Tippen
versagen mir jedoch aus physikalischen Gründen die Finger :-)). Die
Kombination beider Eigenschaften in einem Editor habe ich leider
noch nirgends gesehen.

Die in IDEs integrierten (mir bekannten) Editoren sind zwar intuitiv
bedienbar, aber nur wenig (MS Visual Studio, KDevelop) bis mittelmäßig
(Eclipse für Java) leistungsfähig.

Deswegen habe ich Zeit in die Einarbeitung in einen Editor investiert,
die sich dadurch amortisiert, dass ich diesen und immer den gleichen
in allen Entwicklungsprojekten (PC-Software, uC-Software, beides
gemischt, unterschiedliche Programmiersprachen, FPGA-Design,
Dokumentation (mit LaTeX, bitte nicht hauen ;-)) gewinnbringend nutzen
kann. Für die genannten Projekttypen bräuchte ich mindestens drei
unterschiedliche IDEs, die in Summe ebenfalls einiges an
Einarbeitungszeit verschlingen.

Was mich an vielen IDEs weiterhin stört, ist die Unmenge an
Verzeichnissen, Projekt- und Konfigurationsdateien, die - unabhängig
von der Komplexität des Projekts - immer angelegt werden. Und vorher
stellt ein Wizard - selbst für ein einfaches Hello-World-Projekt -
eine Unzahl von Fragen zum Projekt, auf die ich in den meisten Fällen
sowieso immer die gleichen Antworten gebe, weil ich, was verwendete
Libraries, Compiler-Optionen u.ä. betrifft, mich irgendwann einmal für
mich günstige Standardeinstellungen entschieden habe, die sich dieser
Wizard aber leider nicht bis zum nächsten Projekt merkt. Zudem muss
beim erstmaligen Einsatz einer IDE analysiert werden, welche der
Projekt- und Konfigurationsdateien meine eingegebenen Informationen
enthalten (das sind diejenigen, die versionsverwaltet werden müssen)
und welche aus den Inhalten anderer Dateien generiert werden und damit
redundant sind.

Viel schneller ist meines Erachtens ein einmal geschriebenes
Muster-Makefile angepasst (in den meisten Fällen müssen lediglich die
Namen der zu verwendenden Quellcodemodule in eine Zeile eingetragen
werden). Dann werden nur noch ein paar Funktionsblöcke aus bestehenden
Projekten zusammenkopiert und nach dem Aufruf von make (natürlich aus
dem Editor über eine Funktionstaste :-)) steht schon der erste
Programmrumpf, der nun z.B. auf einen uC upgeloadet (natürlich
ebenfalls durch das Makefile gesteuert) und nach und nach erweitert
werden kann. Und bei der Entwicklung eines FPGA-Designs ist das
Vorgehen genau das gleiche, nur dass ein anderes Muster-Makefile und
eine andere Sprache verwendet wird.

So, das ist es, weswegen für mich die Arbeit mit IDEs bremsend
wirkt.

Ich kenne allerdings jemanden, der tippt und klickt so unglaublich
schnell, dass man anstelle der Klappergeräusche nur noch weißes
Rauschen hört. Für diesen Menschen wäre jeglicher Lernaufwand, der zur
Reduzierung der Tipparbeit führt, nicht zu rechtfertigen. Folglich ist
für ihn der Einsatz intuitiv bedienbarer Entwicklungssoftware, also
einer IDE, die ideale Lösung, da nur damit sein Tastatur- und
Mausrauschen und damit seine Produktivität bereits zum Zeitpunkt t=0
beginnen kann.

Interessanterweise ist er trotzdem kein großer Freund von IDEs.

Immerhin bewegen im Laufe der Zeit Stand-Alone-Editoren und IDEs in
ihrer Funktionalität langsam aufeinander zu. Während IDEs immer
leistungsfähigere Editierfunktionen verpasst bekommen, gibt es für
viele Editoren bereits Erweiterungen für typische IDE-Funktionen wie
integriertes Debuggen oder eine Versionsverwaltungsschnittstelle. Des
Weiteren werden IDEs durch Konfigurations- und
Erweiterungsmöglichkeiten immer vielseitiger, im Gegensatz zu früher,
wo sie meist auf einen spezifischen Projekttyp (z.B. C-Programme für
eine bestimmte Plattform) zugeschnitten waren. Am fortschrittlichsten
in dieser Hinsicht ist sicher Eclipse, KDevelop zeigt zumindest schon
ein paar gute Ansätze und Visual Studio ... naja, dort erwartet so
etwas auch niemand :-)

Hoffentlich zieht jetzt kein Böser aus der Uhrzeit dieses Posts
Rückschlüsse auf die Leistungsfähigkeit meines Editors :D :D :D

von max.p (Gast)


Lesenswert?

Hallo

Bei mir leuft das aktuelle AVR-Studio im Wine ohne Probleme, benutze es
allerdings nur zum steuern des STK500. Ansonsten gibt es genugent
anleitungen im Netz.

http://www.mikrocontroller.net/articles/AVR_und_Linux
http://www.roboternetz.de/wissen/index.php/Avr-gcc_und_avrdude_installieren

@yalu
Du hast recht, Emacs ist ein echt tolles Betriebssystem aber ein mieser
Editor ;)

mfg
Max

von Bri (Gast)


Lesenswert?

@yalu & vim_fan & Konsorten

Es geht nicht darum, dass ich der Meinung bin, man könnte mit vim oder 
emacs nicht programmieren. Ich glaub euch ja, dass ihr auch mit ed eure 
Programme schreiben könntet. Echte Männer codieren sowieso nur mit dd 
Hex Codes direkt auf der Platte. ;-) Auch ich war früher vor 10 Jahren 
einer von euch. Nichts ging bei mir über joe und ein Makefile. Aber 
effektives arbeiten sieht anders aus. Und ich glaub auch nicht, dass 
Stefan über ssh programmieren will, wo vim vielleicht noch Sinn machen 
würde. (Obwohl auch da joe eindeutig besser wäre, nach meiner Meinung.)

Er hat nach etwas vergleichbaren zum AVR Studio gefragt und ihr kommt 
ihm mit einem der schlimmsten Texteditoren, dessen Bedienphilosophie 30 
Jahre alt ist und wo er erstmal ein Jahr lang lernen muss, wie dieses 
Mistding zu bedienen ist. Mit Eclipse und KDevelop ist er eindeutig 
besser bedient.

von T.v.B. (Gast)


Lesenswert?

Hallo zusammen,

ich bin im Besitz eines selbstgebauten JTAG-ICE. Den würde ich gerne 
unter Linux zum debuggen benutzen. Gibt es da etwas? Hat da jemand 
Erfahrungen oder Tipps?

Gruß
T.v.B.

von Frank W. (Firma: DB1FW) (frankw) Benutzerseite


Lesenswert?

Aber sicher - schau mal unter "AVaRICE" nach.
Mit AVaRICE und avr-gdb geht das.

von T.v.B. (Gast)


Lesenswert?

Jau,

genau das wollte ich hören. ;-)

Thanx
T.v.B.

von ajax (Gast)


Lesenswert?

Der große Vorteil von AVR-Studio ist der eingebaute Simulator.

Für Linux gibt es keine vernünftige Entwicklungsumgebung mit Simulator ( 
der funktioniert ).

Gruss,
ajax

von Sascha (Gast)


Lesenswert?

Wer dem Emacs vertraut, aber doch manchmal neidisch auf die IDEs 
schielt, wo man mit wenig Aufwand Dateien in CVS ein und ausschecken 
kann, oder alle benutzten Funktionen, Variablen in einem Blick sieht der 
sollte sich mal folgendes angucken:
http://ecb.sourceforge.net/screenshots/1.png
http://ecb.sourceforge.net/

Sascha

von Stefan (Gast)


Lesenswert?

Danke für die Info Jungs

gruss Stefan

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.