Forum: Compiler & IDEs Umstieg auf GCC / Ubuntu von WIN?


von a. b. (andreb)


Lesenswert?

Moinsen!

In den den letzten 3 Monaten habe ich es halbwegs geschafft, mich 
beruflich von Windows/Bascom auf Ubuntu/GCC einzuarbeiten.
Allerdings geht es mir als in den letzten 20 Jahren GUI verwöhnter 
Mensch extrem auf den Senkel ständig zwischen Editor und Terminalfenster 
nebst Kommandozeileninterpretern und Ellenlangen kryptischen Parametern 
umherzuspringen um ein einfaches Programm zu kompilieren und auf den AVR 
zu übertragen.
AVR Studio gibt es ja lustigerweise nur für Windows.

Was für Alternativen die mehr oder weniger an bekannte integrierte Tools
zur Programmierung und Kompilierung von AVRs unter Win heranreichen gibt 
es, die unter Linux benutzt werden können?

Prima - ich bin auch mit CP/M, Cobol, Turbo-Pascal, DOS, ED etc. in den 
80er Jahren aufgewachsen und habe mein Geld damit verdient aber 
mittlerweile sind 30 Jahre vergangen und ein WENIG MEHR an Komfort 
dürfte man als mittlerweile in Ehren ergrauter Programmierer mit 
Sehschwäche, Rheuma und Internetbasiertem Altersstarsinn doch erwarten 
dürfen, wenn man nicht gerade unbedingt an religiös-fanatische 
Kommandozeilen-Dschihadisten der 90er Jahre Generation gerät ;-)

Any hints?

von mullwark (Gast)


Lesenswert?

eclipse

von Oliver (Gast)


Lesenswert?

Ellenlange Parameterlisten nehmen einem eigentlich makefile ab.

Ansonsten gibt es z.B. Eclipse mit AVR-Plugin. Das kann fast alles 
besser als die fürchterlichen Studios, nur den vollwertigen Simulator 
gibt es da nicht.

Oliver

von Walter (Gast)


Lesenswert?

Codeblocks

von Oliver S. (oliverso)


Lesenswert?

Ach ja, ums nicht zu vergessen: wine, oder 'ne virtuelle Maschine mit 
richtigen Windows drin.

Man kann über Windows schimpfen, wie man will, aber ganz ohne ist 
manchmal auch blöd.

Oliver

von Rolf Magnus (Gast)


Lesenswert?

Oliver S. schrieb:
> Ach ja, ums nicht zu vergessen: wine, oder 'ne virtuelle Maschine mit
> richtigen Windows drin.

Das fühlt sich dann aber schon irgendwie merkwürdig an. Da hat man die 
ganzen GNU-Tools gcc, make u.s.w., die eigentlich aus dem Linux-Umfeld 
kommen und führt dann unter Linux eine nach Windows portierte Version 
davon in einer VM aus...

Oliver S. schrieb:
> Man kann über Windows schimpfen, wie man will, aber ganz ohne ist
> manchmal auch blöd.

Gerade deshalb schimpft man ja drüber.
Gäbe es nicht ein paar Programme, für die ich es halt brauche, dann 
hätte ich keinen Kontakt damit, und es gäbe nichts zu schimpfen. ;-)

von Simon S. (-schumi-)


Lesenswert?

Hier ist die Einrichtung einer Entwicklungsumgebung erklärt:

http://wiki.ubuntuusers.de/AVR

von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

Ich empfinde »make program« als nicht allzu kompliziert auf der 
Kommandozeile, zumal ich mit dem passenden Makefile gleich die 
Optimierungsstufen, Zielsysteme usw. vorlagenartig ablegen kann.

Siehe http://www.mikrocontroller.net/articles/Beispiel_Makefile, 
http://www.mikrocontroller.net/articles/AVR_und_Linux#Makefile resp. 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Exkurs_Makefiles 
Die im AVR-Studio enthaltenen Beispiel-Makefiles kann man auch gut 
räubern, wenn es um komfortable Listen der Controller geht.

von Max B. (theeye)


Lesenswert?

Bin privat umgestiegen mit dieser Lösung

Oliver schrieb:
> Eclipse mit AVR-Plugin

Gruß Max

von Marc P. (marcvonwindscooting)


Lesenswert?

a. b. schrieb:
> Was für Alternativen die mehr oder weniger an bekannte integrierte Tools
> zur Programmierung und Kompilierung von AVRs unter Win heranreichen gibt
> es, die unter Linux benutzt werden können?

Also ich benutze VIM (das volle Programm, also schon die Erweiterungen 
drin!). Und meistens auf der Linux-Konsole (Text/Framebuffer)!
Antiquiert? Vielleicht, aber super lesbar, f"ur die schlechter werdenden 
Augen, immer Vollbild, 170x48 Zeichen mit exzellent lesbarem Font und 10 
Konsolen parallel, von denen ich typisch 7 in Benutzung hab.

Um mein Program zu compilieren, auf'm uC ins RAM zu schiessen und 
auszuf"uhren muss ich tippen:

<ESC> :make ramloader
(was beim 2. Mal sich schon auf <ESC> : <Pfeil nach oben> reduziert).

In der Zeit, haben die meisten IDE-Power-User noch nicht mal den 
Mauszeiger wiedergefunden. (Ich empfehle hier zur Leistungssteigerung 
ca. 12 xeyes, rings um die IDE anzuordnen)

a. b. schrieb:
> religiös-fanatische Kommandozeilen-Dschihadisten
Ups...erwischt! Nix wie weg hier.... :(

von Oliver S. (oliverso)


Lesenswert?

Marc P. schrieb:
> Um mein Program zu compilieren, auf'm uC ins RAM zu schiessen und
> auszuf"uhren muss ich tippen:
>
> <ESC> :make ramloader
> (was beim 2. Mal sich schon auf <ESC> : <Pfeil nach oben> reduziert).

Na ja, in den alleremisten IDE's geht das durch einen einzigen 
Tastendruck per F<irgendwas>. 1:0 für die IDEs ;)

Oliver

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


Lesenswert?

Oliver S. schrieb:
> Na ja, in den alleremisten IDE's geht das durch einen einzigen
> Tastendruck per F<irgendwas>. 1:0 für die IDEs ;)

Was ist, wenn du alle Tasten bis F50 dann belegt hast?

Davon abgesehen, auch wenn ich Vim nicht so gut kenne, man kann diese
Befehlsfolge garantiert auch auf F<irgendwas> zuweisen, wenn man merkt,
dass man genau das häufig braucht.  Im Emacs habe ich mir zumindest
ein paar derartige Funktionen auf F-Tasten gelegt, aber die sind seit
Jahrzehnten ziemlich stabil geblieben.

von Rolf Magnus (Gast)


Lesenswert?

Oliver S. schrieb:
> Marc P. schrieb:
>> Um mein Program zu compilieren, auf'm uC ins RAM zu schiessen und
>> auszuf"uhren muss ich tippen:
>>
>> <ESC> :make ramloader
>> (was beim 2. Mal sich schon auf <ESC> : <Pfeil nach oben> reduziert).
>
> Na ja, in den alleremisten IDE's geht das durch einen einzigen
> Tastendruck per F<irgendwas>. 1:0 für die IDEs ;)

Das geht in meinem vim auch. Ok, nicht per Default, aber es reicht, sich 
ein
1
map <F9> :make<CR>
in die .vimrc einzutragen.

von Oliver S. (oliverso)


Lesenswert?

Nun ja, gut 30 Jahre nach Turbo-Pascal sollte das eigentlich überall 
möglich sein ;)

Oliver

von andy (Gast)


Lesenswert?

ich verstehe eins nicht, wieso Leute mit Linux arbeiten wollen und über 
die Shell jammern. Die Shell gehört nun mal  zu Linux und die 
Fähigkeiten der Shell haben zur ausbreitung von Linux enorm beigetragen, 
oder meint jemand, dass es möglich wäre Linux mit Klicki-Bunti auf einem 
Router zu installieren. Eben nicht. Ich nutze seit knapp 3 Jahren nur 
Linux und bin größtenteils mit Klicki-Bunti unterwegs (das geht 
wirklich), aber ich weiss auch die Shell zu schätzen. Also, reißt euch 
zusammen und laßt euch auf Linux ein. Ihr werdet merken, wenn die 
Eingewöhnungsphase vorbei ist (bei mir waren es so ca. 6-8 Wochen), dann 
will man nichts mehr anders haben.

von Marc P. (marcvonwindscooting)


Lesenswert?

andy schrieb:
> ich verstehe eins nicht, wieso Leute mit Linux arbeiten wollen und über
> die Shell jammern.

Jetzt echt?
Dann sag ich's dir: weil sie 'free beer' kapieren, aber 'free speech' 
nicht.
Sie wollen ein Windows ohne 'licence agreement' mit weniger Fehlern, 
aber bitte umsonst. Und ohne (mentale) Eigenleistung natuerlich.

Daf"ur versteh ich nicht, dass den meisten Leuten nicht klar ist, dass 
mit dem Gehirn/Verstand das gleiche passiert, wie mit einem Muskel:
Nicht benutzen => verkuemmern.

von W.S. (Gast)


Lesenswert?

a. b. schrieb:
> Allerdings geht es mir als in den letzten 20 Jahren GUI verwöhnter
> Mensch extrem auf den Senkel ständig zwischen Editor und Terminalfenster
> nebst Kommandozeileninterpretern und Ellenlangen kryptischen Parametern
> umherzuspringen um ein einfaches Programm zu kompilieren

Ach ja. Ich kann dich ja verstehen, aber warum tust du sowas?
Mal abgesehen davon, daß man derzeit Win7 Scheiben nebst Lizenzen für 
ca. 30 Euro kriegt - ist deutlich billiger als einmal mit der Frau Essen 
gehen - sollte man sich ja auch unter Linux irgendeinen Text-Editor 
ausgesucht haben und sowas wie den MC oder Krusader installiert haben. 
Dann schreibt man sich einmal ne Batchdatei respektive Scriptdatei und 
braucht fürderhin nur noch mit dem modernen Faustkeil (Maus) 
draufzuhauen und fertig ist es.

Wozu also die Aufregung?

W.S.

P.S.: Ich hab seit 1994 immer mal wieder mit unterschiedlichsten 
Distributionen versucht, mir Linux schönzureden, aber es hat bislang 
IMMER damit geendet, daß ich es frustriert wieder von der Platte geputzt 
hab. Inzwischen erwartet man auch mehr vom PC als ne dürre Kommandozeile 
oder stümperhafte GUI's.

von Marc P. (marcvonwindscooting)


Lesenswert?

W.S. schrieb:
> hab. Inzwischen erwartet man auch mehr vom PC als ne dürre Kommandozeile
> oder stümperhafte GUI's.

Das ist hart, aber mit den stümperhafte GUI's muss ich dir wirklich 
recht geben. Ich hab ca. vor 'nem halben Jahr auf einem Laptop Ubuntu 
installiert und der Desktop ist so ein Produktivit"atskiller. 
Unglaublich! Man kommt nie mit einem Klick oder einem Tastendruck dahin 
wo man will. NIEMALS. Und das nervt!
Framebuffer-Konsole kann's auch nicht vern"unftig und die Prozessliste 
ist voller Schrott, von dem ich keine Ahnung hab, was der Schund soll, 
ausser 4GHz Rechenleistung in W"arme und sonst nix umzuwandeln.
Nachdem man mit unn"utzen Prozessen die Leistung nicht weit genug 
gesenkt bekam, musste man auch am GUI feilen, damit sich auch die 
Benutzereingabe verlangsamt. Ich sch"atze, in 5 Jahren ist die Tastatur 
auch noch weg.

Leider kann man eigentlich keine g"angige Distri mehr empfehlen.
Gentoo ist das beste was ich kenn, aber das ist leider echt Hardcore, 
wenn man einsteigt. Daf"ur kommt am Ende ein System raus mit dem man 
tatsaechlich arbeiten kann. Aber ein Tag reicht da nicht f"ur ein 
komplett neues System mit (wieder) allen Features, die der Programmierer 
braucht: 
C,C++,Java,Haskell,Perl,Subversion,PostScript,LateX,Octave,Doku,Cross-Co 
mpiler,Eagle,Systemwerkzeuge  (Drucker, strace, mtrace, lsof, netstat, 
wireshark, ).

von Rolf Magnus (Gast)


Lesenswert?

W.S. schrieb:
> Inzwischen erwartet man auch mehr vom PC als ne dürre Kommandozeile
> oder stümperhafte GUI's.

Genau das denke ich mir immer, wenn ich Windows benutze. Die 
Kommandozeile dort ist sehr dürr im Vergleich zu der von Linux. Ich 
nutze die Kommandozeile gerne, weil ich bei einigen Sachen dort 
schneller bin als mit einer GUI. Und genau die Dinge tue ich dann eben 
auch dort, was aber unter Windows leider kaum sinnvoll möglich ist.
Und bei der GUI fühle ich mich unter Windows immer, als ob ich mit 
angezogener Handbremse fahre. Es ist dabei nicht das eine große Feature, 
was mir fehlt, sondern viele Kleinigkeiten, die ich täglich nutze und 
die mir die Bedienung erleichtern. Das sind so Sachen wie virtuelle 
Desktops, oder daß ich im KDE einfach Alt+F2 drücken kann, dann 
gg:Blafasel tippe und Return drücke, und es öffnet sich ein 
Browser-Fenster mit dem Ergebnis der Google-Suche nach Blafasel, u.s.w.

Marc P. schrieb:
> Ich hab ca. vor 'nem halben Jahr auf einem Laptop Ubuntu
> installiert und der Desktop ist so ein Produktivit"atskiller.

Nun, dieser komische Unity-Desktop ist nicht jedermanns Sache.

Marc P. schrieb:
> Framebuffer-Konsole kann's auch nicht vern"unftig

Damit hatte ich bisher nur Probleme, wenn ich den proprietären 
NVidia-Treiber installiert hab. Der ist zwar stabilitäts- und 
funktionsmäßig sehr gut, fügt sich aber nicht so 100%ig ins System ein.

> und die Prozessliste ist voller Schrott, von dem ich keine Ahnung hab,
> was der Schund soll,

Ein großer Teil davon sind Kernelthreads und Systemprozese. Da stehen 
halt auch so Sachen dabei, wie der Thread, der regelmäßig den Filecache 
auf die Platte synct oder den (einmal pro Kern benötigten) Thread, der 
sich um die lastabhängige Migration von Prozessen zwischen den Kernen 
kümmert. Sowas gibt's unter Windows sicherlich auch, nur sind die da 
halt vor dem Benutzer versteckt.

> ausser 4GHz Rechenleistung in W"arme und sonst nix umzuwandeln.

Hmm, dann stimmt da bei dir irgendwas nicht. Ich habe im Idle-Betrieb 
eine gesamte Auslastung von weit unter 1% von einem meiner 8 virtuellen 
Kerne. Von den aktuell insgesamt 267 Tasks auf dem System, von dem aus 
ich das poste, schlafen 264 fast immer. Die restlichen drei sind top 
sowie die Konsole und der X-Server, die die Ausgabe von top anzeigen 
müssen. Die "load average" ist 0,01%. Und ich habe 10 Konsolen, 30 
Browsertabs, Mail und noch diverses anderes offen.

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


Lesenswert?

Marc P. schrieb:
> und die Prozessliste ist voller Schrott

Ach, das ist bei anderen Systemen anders?  Wenn man einen aufgeblasenen
Fensterladen betreiben will, egal ob nun Unity, Windows 7 oder OSX Aqua,
dann werkelt da zwangsläufig ein Haufen Prozesse.  Schließlich muss es
ja jemanden geben, der dir die ganze Zeit hinterherschnüffelt, damit
er auch weiß, was du besonders gern tust, um dir das beim nächsten Mal
möglichst weit oben im Ranking darstellen zu können.

Kann sein, dass es bei Windows ein paar weniger sind.  Mit Prozessen
haben die sich schon immer schwer getan, stattdessen stehen sie dort
halt mehr auf Threads.  Unter unixoiden Systemen sind Threads und
Prozesse dagegen praktisch dasselbe (laufen intern im Kernel über das
gleiche zentrale API), damit ist das oft wurscht, welchen von beiden
man dann nimmt.

Wenn man das nicht will, kann man sich aber unter unixoiden Systemen
eine leichtgewichtigere GUI installieren.  Die braucht dann weniger
Ressourcen, aber man fummelt mehr mit der Hand herum.  Wird gerade
einen Windows-Umsteiger eher nicht begeistern.

Rolf Magnus schrieb:
> Und bei der GUI fühle ich mich unter Windows immer, als ob ich mit
> angezogener Handbremse fahre.

Geht mir auch so. :)

von TriHexagon (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Wenn man das nicht will, kann man sich aber unter unixoiden Systemen
> eine leichtgewichtigere GUI installieren.  Die braucht dann weniger
> Ressourcen, aber man fummelt mehr mit der Hand herum.  Wird gerade
> einen Windows-Umsteiger eher nicht begeistern.

Eben. Mein Laptop von 2005, der allerdings schon damals nicht der 
Leistungsstärkste war, läuft hier hervorragend mit XUbuntu (GUI XFCE). 
Windows 7 kannste damit vergessen (sehr schwache SiS Grafik) und Windows 
XP ist heute, wie ich finde, ungenießbar, von der Sicherheit ganz zu 
schweigen. Vorallem wenn der Support eingestellt wird, wird XP zu einem 
kritischen Sicherheitsrisiko. Also ist Windows nicht mal eine 
Alternative.

Klar Linux/Unix ist nicht perfekt. Der WLAN-Treiber hat zunächst auch 
seinen Dienst verweigert, sowie der SiS Treiber. Im Internet 
recherchiert, Probleme gelöst und wenn Linux erst mal läuft, dann läufts 
und das auch noch ziemlich schnell.

von Marc P. (marcvonwindscooting)


Angehängte Dateien:

Lesenswert?

Ha, da hab ich paar herausgefordert, hehe.
Hier mal die Prozessliste von der Gentoo-Buechse. Schlank genug?
Leider hab ich keinen Zugriff auf die Ubuntu-Maschine, aber man muss ja 
auch nicht jeden Tag schreckliche Dinge sehen, nicht wahr?

Rolf Magnus schrieb:
> Hmm, dann stimmt da bei dir irgendwas nicht. Ich habe im Idle-Betrieb...

Ja, ist natuerlich uebertrieben gewesen. Sobald der Plunder gestartet 
ist, nimmt der nur Platz vom Swapspace oder von den File-Caches weg.

von Marc P. (marcvonwindscooting)


Angehängte Dateien:

Lesenswert?

Oder wie waers mit:
netstat -l ?

DAS muesst ihr euch mal unter Windows reinziehen, aber ich glaub man 
braucht einen anderen Buchstaben als Option - es geht um die 
Server-Sockets, auf die von aussen verbunden werden kann.

Danach werdet ihr nie wieder Homebanking machen.... .-)

von Lars H. (hufnala)


Lesenswert?

Hi andreb,

habe mich auch zu WIN-freier Zone entschlossen nachdem der Update-Dienst 
vom XP letztes Jahr  innerhalb von 3 Monaten 3* den Dienst versagt 
hatte... :-(

Kann mich auch nicht beklagen, mein "alter" läuft auch Super unter 
Opensuse. Toolchain ist AVR-GCC + Eclipse Plugin. Mit der Toolchain 
gab's bei der Installation etwas trouble kann aber auch vor dem 
Bildschirm gesessen haben bzw. an alten / doppelt installierten AVR 
Tools aus den RPMs gelegen haben, aber seitedem läuft das alles.

Nur Mut, das wird schon ...

//hufnala

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.