Forum: Compiler & IDEs Welchen WINAVR nehmen ?


von peter dannegger (Gast)


Lesenswert?

Als ich mal wieder über den erzeugten Asembler schaute, ist mir nun doch
die Hutschnur geplatzt:


WinAVR 20040404
avr-gcc.exe -dumpversion
3.3.2

    if( (dc & 0x0800) == 0 )
 3d4:   93 ff           sbrs    r25, 3
      MAX7219_PORT &= ~(1<<MAX7219_DO);
 3d6:   c1 98           cbi     0x18, 1 ; 24


WinAVR 20050214
avr-gcc.exe -dumpversion
3.4.3

 3c8:   28 2f           mov     r18, r24
 3ca:   39 2f           mov     r19, r25
...
 3d6:   61 e0           ldi     r22, 0x01       ; 1
 3d8:   70 e0           ldi     r23, 0x00       ; 0
...
    if( (dc & 0x0800) == 0 )
 3de:   93 2f           mov     r25, r19
 3e0:   82 2f           mov     r24, r18
 3e2:   89 2f           mov     r24, r25
 3e4:   99 27           eor     r25, r25
 3e6:   86 95           lsr     r24
 3e8:   86 95           lsr     r24
 3ea:   86 95           lsr     r24
 3ec:   81 70           andi    r24, 0x01       ; 1
 3ee:   90 70           andi    r25, 0x00       ; 0
 3f0:   86 17           cp      r24, r22
 3f2:   97 07           cpc     r25, r23
 3f4:   09 f0           breq    .+2             ; 0x3f8
      MAX7219_PORT &= ~(1<<MAX7219_DO);
 3f6:   c1 98           cbi     0x18, 1 ; 24


Was soll denn das werden, die neue Version optimiert um Klassen
schlechter als die alte ?

Einfach mal so 30 Byte mehr für absolut nichts.

Ich will mich ja nicht beschweren, aber sollten nicht neue Versionen
mindestens gleichwertig sein.

Naja, ich hab jedenfalls erstmal wieder die alte Version aktiviert, die
hatte ja auch immer einwandfrei funktioniert. Man sollte eben nie
grundlos updaten.

Oder hat sich Atmel etwa beschwert, daß sie zu wenig ATMega128
verkaufen und zuviele ATMega8.


Peter

P.S.:
Das Programm ist für nen ATTiny26 und da tun 1,5% Verschwendung pro
Zeile schon richtig weh.

von Fritz G. (fritzg)


Lesenswert?

kannst mal ein größeres Codeschnipsel posten?

Ich hab auch gedacht, das der 4.01 schlechter optimiert, weil etwas
länger ausgesehen hat, aber wenn man die ganze Funktion betrachtet, war
es dann doch schneller.

Das zweite Assemblerlisting scheint mir aber nicht zum C zu passen.

Bei mir kommt raus (4.0.1 mit -O2):

 245:ultraschall.c **** dantest (uint16_t dc)
 246:ultraschall.c **** {
 217                 .LM15:
 218                 /* prologue: frame size=0 */
 219                 /* prologue end (size=0) */
 247:ultraschall.c ****   if ((dc & 0x0800) == 0)
 221                 .LM16:
 222 0064 93FF          sbrs r25,3
 248:ultraschall.c ****     PORTB &= ~_BV (1);
 224                 .LM17:
 225 0066 C198          cbi 56-0x20,1
 226                 .L14:
 227 0068 0895          ret
 228                 /* epilogue: frame size=0 */
 229                 /* epilogue: noreturn */
 230                 /* epilogue end (size=0) */
 231                 /* function dantest size 4 (4) */

von peter dannegger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Fritz,

anbei mal ein compilierbarer Source.


Peter

von peter dannegger (Gast)


Lesenswert?

P.S.:

Ich würde auch sagen, daß WinAVR 20040404 einen Tick länger braucht zum
compilieren, scheint also mehr zu machen (optimieren).


Peter

von Benedikt (Gast)


Lesenswert?

Dass Winavr liebend gerne 16 für die ganzen Operationen nimmt ist ja
bekannt. Und die ganzen Shifts habe ich ja auch schon beklagt...

Wo wir schon beim Thema schlechte Optimierung sind:

Ich habe eine Schleife in der steht in etwa
*pointer++=werte (z.B. Eingangs Port oder ADC)

In Assembler würde jeder den pointer Wert aus dem RAM laden, die
Schleife durchlaufen, und den Wert am Ende der Schleife
zurückschreiben.
Der Compiler liest in jedem Schleifendurchlauf den Wert aus dem RAM,
und schreibt ihn wieder zurück.
Kann man das irgendwie wegoptimieren ?
Ich dachte genau für sowas braucht man volatile, damit sooft wie
möglich der RAM Inhalt aktualisiert wird. Ohne volatile sind die
Aktualisierungen aber ungewünscht und nur lästig.

von Fritz Ganter (Gast)


Lesenswert?

Ob er Register nimmt oder nicht, hängt davon ab, ob er noch welche frei
hat und ob es ihm wichtig erscheint.
Du kannst die Variable aber z.b. als "register uint8_t" deklarieren,
dann nimmt er dafür eher ein Register.

Bei welcher Optimierungsstufe hast du das beobachtet? Wenigstens -Os
sollte schon sein. Ich schau mir meinen Code immer bei -O2 an, und da
seh ich grad bei Schleifen dass er immer die Register nimmt.
Noch ein Tip: Verwende wenn möglich immer lokale Variablen, die nimmt
er besonders gern als Register, wobei er die Variable auch gerne
mittendrin vergisst, wenn er sie später nicht mehr braucht und
verwendet das selbe Register für eine andere Variable.

von peter dannegger (Gast)


Lesenswert?

@Fritz,

ich nehme immer -Os, bei -O2 ist der Code insgesamt noch größer, nur
bei dem kleinen Ausschnitt im letzten Dateianhang gibt es keinen
Unterschied.
Hast Du ihn mal ausprobiert ?
Du hast scheints ne noch neuere Version, als der WINAVR.

Der Code scheint rein funktional noch richtig zu sein, aber eben 30
Bytes zu groß.

Muß halt bloß noch überlegen, wie ich der alten Version den ATTiny2313
unterjubeln kann, den kennt sie nämlich noch nicht.


Peter

von Fritz G. (fritzg)


Angehängte Dateien:

Lesenswert?

Sieht bei mir gut aus, ich hab das .lst mal drangehängt.

Ist mit -Os und gcc 4.01 für einen Tiny26 übersetzt.

von Fritz G. (fritzg)


Lesenswert?

Achja, natürlich gar kein WinAVR sondern unter Linux. Sollte aber am
Ergebnis nix ändern.

Windows ist doch nur zum zocken da, oder?

von peter dannegger (Gast)


Lesenswert?

"Windows ist doch nur zum zocken da, oder?"

Ich zocke nicht.
Auf dem Firmenrechner ist XP installiert, basta.
Wär ja auch Unsinn, teure Windows-Programme zu kaufen und dann Linux zu
installieren.

Ich bin auch nicht der Betriebssytem-Guru, d.h. auch mein Home-PC und
Notebook sind fix und fertig mit XP vorinstalliert gewesen.

Ich kann also nur GCC-Versionen benutzen, die als WINAVR verfügbar
sind.

Peter

P.S.:
Ich hatte mal die c't-Linux CD ins Notebook geschoben, Linux mag mein
Notebook nicht. Auch sämtliche Dienstprogramme sind ja nur für Windows.

von Ein Freund (Gast)


Lesenswert?

> Wär ja auch Unsinn, teure Windows-Programme zu kaufen

Stimmt.

> und dann Linux zu installieren.

Ach so... :-)

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


Lesenswert?

> Ich kann also nur GCC-Versionen benutzen, die als WINAVR verfügbar
> sind.

Kannst du natürlich nicht, schließlich hast du dich erwiesenermaßen
schon durch viel schlimmere Probleme hindurchgewurschtelt, aber es
bietet die eben mal eine bequeme Ausrede.

Selbstverständlich könntest du 1.) genauso gut wie alle anderen, die
das bislang erfolgreich getan haben, einen GCC auch auf deinem Windows
compilieren (da ist weniger Magie dabei als die Installation eines
Windows selbst bietet) oder <flamebait> 2.) das Windows genauso gut in
die Tonne kloppen -- aber dann wüsstest du vermutlich nichts mehr mit
der ganzen danach frei gewordenen Zeit anzufangen, die dann nicht mehr
fürs tägliche Händchenhalten von Windows draufgeht. :-) </flamebait>

99 % derjenigen, die heutzutage ein Linux oder NetBSD oder FreeBSD
installieren, sind wohl eher nicht die, die sich als Betriebssystem-
Gurus bezeichnen würden, sondern einfach reine Anwender...  Bei
FreeBSD könnte ich dir als Bonus bieten, dass ich die Ports der
einzelnen Tools deutlich flexibler und damit schneller aktualisieren
kann, als Eric das mit WinAVR möglich ist.

von peter dannegger (Gast)


Lesenswert?

@Jörg,

wenn der Leidensdruck groß genug ist, wird mir bestimmt ne Lösung
einfallen. Da war ja hier kürzlich mal ne unoffizielle WINAVR Version,
muß ich mal laden, wenn ich mal wieder Zugang zu ner Flatrate habe.

Ansonsten kann ich nicht klagen über XP, läuft wie dumm und kommt auch
beim Einschalten ordentlich schnell auf die Hufe.

Auf den Firmenrechner habe ich aber keinerlei Einfluß, da muß XP
laufen.
Ich könnte höchstens im Exceed-Fenster auf der Sun Solaris laufen
lassen.


Peter

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


Lesenswert?

> Auf den Firmenrechner habe ich aber keinerlei Einfluß, da muß XP
> laufen.

Steter Tropfen höhlt den Stein.  Es gibt wohl mittlerweile genug
Firmen, in denen die einstige eiserne Policy, dass nur Rotberg-
Weichware eingesetzt werden darf, gekippt worden ist.

Ich könnte mir jedenfalls nicht vorstellen, meine Produktivität
dauerhaft auf 50 % zu reduzieren, indem ich mir auf Arbeit
freiwillig ein Windows antun muss.

von Kai Klenovsek (Gast)


Lesenswert?

wir schweifen zwar hier vom Thema ab, aber ich kann mich über Windows XP
nicht beklagen. Es läuft alles einwandfrei.

Warum soll ich mich auf Linux einlassen wenn mein Windows
funktioniert?

Warum soll ich in der Shell rumbasteln wenn ich mit klicken doppelt so
schnell bin, vielleicht sogar dreifach?

Was ist an FreeBSD/Linux besser als bei Windows?
Der Preis ist halt unschlagbar aber das ist für mich kein Grund da ich
Windows bereits besitze.

Warum muss ich unter Linux bei Hardware Erweiterungen die Treiber so
komliziert einbauen wenn unter Windows Plug&Play funktioniert?

Mein Eindruck von Linux ist, dass ich mehr administriere als damit
arbeite. Mit einem Betriebssystem auf dem PC will ich arbeiten und ich
will nicht wissen wie es arbeitet.

Ciao,
Kai

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


Lesenswert?

> Warum soll ich mich auf Linux einlassen wenn mein Windows
> funktioniert?

Musst du nicht, aber ist eine von den Fragen, die ich sofort
umdrehen könnte.

> Warum soll ich in der Shell rumbasteln wenn ich mit klicken doppelt
so
> schnell bin, vielleicht sogar dreifach?

Hier genauso.

> Was ist an FreeBSD/Linux besser als bei Windows?

Naja, für mich vor allem opensource, zusammen damit, dass ich Bill
Gates nicht noch reicher machen muss.

Aber noch viel mehr eben für mich das Arbeiten damit.  Ich muss nicht
20mal für irgendwas klicken, wenn ich doch eigentlich ganz genau weiß,
wie das gerade heißt und wo ich es im Dateisystem finde.

> Warum muss ich unter Linux bei Hardware Erweiterungen die Treiber so
> komliziert einbauen wenn unter Windows Plug&Play funktioniert?

Weil PC-Hersteller nach wie vor nach der Methode arbeiten: ,,Windows
geht damit (irgendwie, den Rest repariert sich der Endkunde oder der
Händler), also raus damit, der Rest interessiert uns nicht!''?

Weiß ich aber nicht.  Ich musste bislang keine Treiber kompliziert in
mein FreeBSD einbauen außer denen, die ich selbst für irgendwas
geschrieben habe.

> Mein Eindruck von Linux ist, dass ich mehr administriere als damit
> arbeite. Mit einem Betriebssystem auf dem PC will ich arbeiten und
> ich will nicht wissen wie es arbeitet.

Genau das tu' ich mit meinen BSDs, Linuxen und Solarisen zu Hause und
in verschiedenerlei Jobs (davon abgesehen, dass in den Jobs die
Administration derselben oft Teil meines Jobs ist).  Von Windows habe
ich immer wieder den Eindruck, dass man damit viel zu viel
herum,administrieren' (sprich: trial & error herumklicken) muss, bis
es endlich das tut, was man will.

Du siehst: die Argumente gleichen sich. ;-)

von T.M. (Gast)


Lesenswert?

Wo Linux funzt ist es ne gute Sache. Es gibt aber noch genug Software,
grad in der Industrie, die unter Linux gar nicht oder nur mit
Tricksereien läuft. Dort fällt Linux schon aus dem Grund aus.

Grüße
T.M.

von Kai Klenovsek (Gast)


Lesenswert?

>> Warum soll ich in der Shell rumbasteln wenn ich mit klicken doppelt
>> so schnell bin, vielleicht sogar dreifach?

> Hier genauso.

Richtig, weils von Unix kommt. Für mich deswegen auch nicht zufrieden
stellent. Übrigens auch einer der Gründe warum sich nur wenige Leute
unter Windows an das Thema heran trauen. Es ist schliesslich ein
grosser Unterschied ob ich eine Auswahl an Paramtern per Fenster zu
Gesicht bekomme und mich entscheiden kann oder ich tausenden Parameter
in der Shell kennen muss ;-). An Windows ist das schöne, dass man nicht
alles wissen muss, sondern das OS einen leitet (Ich lasse mich gerne
leiten weil genau dies mir enorm Zeit spart).

Als Beweis führe ich mich einmal auf. Ich bin totales Windowskind.
Ich habe lange gebraucht um die Tool-Chain problemlos auf Windows
erstellen zu können. Fakt ist aber, dass ich mit der Tool-Chain meine
Zeit verschwenden will und nicht mit dem erstellen ;-).

Arbeitsprinzip Unix:
0. 8 Std lesen wie das überhaupt geht.
1. Tool-Chain downloaden
2. entpacken
3. entarchivieren
4. configurieren
5. erste Fehlermeldung
6. 2 Std. später Problem gelöst.
7. compilieren
8. zweite Fehlermeldung
9. 3 Std später Problem gelöst.
10. endlich darf ich arbeiten (HURRA).

Arbeitsprinzip Windows:
1. Knöpfchen drücken -> 5min warten (eben schnell nen Kaffe kochen)
   -> fertig
2. Arbeiten.

Ciao,
Kai

von Kai Klenovsek (Gast)


Lesenswert?

ps: Das Arbeitsprinzip von Unix welches oben steht gilt nicht für die
Tool-Chain sondern für jeden Teil der Chain.

1. Binutils
2. GCC
3. LibC
4. ... as much as you want.

von Fritz G. (fritzg)


Lesenswert?

>Warum muss ich unter Linux bei Hardware Erweiterungen die Treiber so
>komliziert einbauen wenn unter Windows Plug&Play funktioniert?

Ja, das sind die Urban Legends...
Es kann vorkommen, aber der Regelfall ist der: Gerät anschliessen,
fertig.

Beispiel in unserer Firma:
USB-RS485 Konverter gekauft, unter Linux eingesteckt, und war sofort
unter /dev/ttyUSB0 ansprechbar. Kein Treiber installieren, alles schon
im Kernel (als Modul) vorhanden.

Dann mit demselben zum Rechner auf der Anlage (XP). Windows will einen
Treiber. Rechner hat aus Sicherheitsgründen kein Netzwerk und auch kein
CD-ROM (mehr). Also CD-ROM einbauen, Treiber draufinstallieren.

Eine Woche später, einen anderen Konverter, gleiches Produkt aber ein
anderes Exemplar. Windows schreit nach einem Treiber. Und installiert
eine neue COM-Schnittstelle...

Ich kann mich nicht erinnern, dass ich in den letzten 2-3 Jahren einen
Treiber für Linux irgendwie installieren musste. Ausnahme: der NVIDIA
-Treiber. Da auch einfach runterladen, aufrufen, ein paar Mal Return
drücken und fertig.

Oder zu Hause: Acer Bluetooth Dongle eingesteckt, und konnte sofort vom
Handy Daten zum Rechner senden. Nix installieren, sogar die BT Software
wurde automatisch in die Iconleiste gepackt.

Windows: Will eine Treiber-CD. Hab ich nicht mehr.
Auf die Webseite von Acer: Da steht, man kann sie sich per Post
schicken lassen, also muss man ein Formular ausfüllen um sie zugesendet
zu bekommen. Hat man das ordentlich gemacht (mit den richtigen
Adressdaten, man will die CD auch bekommen) gabs dann plötzlich doch
einen Download-Link. Und die hatten meine Adresse.

Gut, eine avr-Umgebung aufzubauen geht nicht mit klicken. Aber mit Copy
& Paste aus der AVR-libc-Doku. Dafür in 10 Minuten (inklusive Download)
mit der Compilerversion deiner Wahl gebaut.

Mein Kollege hat von Linux Null Ahnung (von Windows auch nicht mehr),
arbeitet aber seit 1 Jahr ohne Probleme damit.

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


Lesenswert?

> Arbeitsprinzip Unix:
> 0. 8 Std lesen wie das überhaupt geht.
...
> 10. endlich darf ich arbeiten (HURRA).

Arbeitsprinzip Unix, wenn man statt einem AVR plötzlich einen MSP430
haben will: alles ganz genauso.  Man ist in 15 Minuten fertig (je nach
Geschwindigkeit des Downloads).

Arbeitsprinzip Windows, wenn man plötzlich was Anderes haben will: man
fängt alles von vorn an, bekommt einen anders mistigen Editor, der
genauswenig für die Suppe taugt, alles ist komplett woanders, voller
Einarbeitungsaufwand.

> Arbeitsprinzip Windows: 1. Knöpfchen drücken -> 5min warten (eben
> schnell nen Kaffe kochen) -> fertig

Wenn's geht.  Wenn nicht: finito.  Keine Selbsthilfe möglich. ;-)

von Kai Klenovsek (Gast)


Lesenswert?

ich seh schon, hier treffen zwei Welten aufeinander. Ein sinnvolles
Gespräch über den Bistr-O-Mat Antrieb würde ähnlich enden :-)

Ciao,
Kai

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


Lesenswert?

Ja. ;-)

von Hubert (Gast)


Lesenswert?

> Windows ist doch nur zum zocken da, oder?

Damit gehts wenigstens, bei Linux muß man vielleicht erst noch den
Kernel neu kompilieren; LOL.

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


Lesenswert?

> Damit gehts wenigstens, bei Linux muß man vielleicht erst noch den
> Kernel neu kompilieren; LOL.

Ja, und?  Mach das mal bei Windows. ;-)

Solange du den Kernel nicht selbst compilieren musst, sondern
einen Compiler hast...

von Rolf Magnus (Gast)


Lesenswert?

> Arbeitsprinzip Windows:
> 1. Knöpfchen drücken -> 5min warten (eben schnell nen Kaffe
> kochen)
>   -> fertig
> 2. Arbeiten.

http://diveintomark.org/archives/2003/08/04/xp

von Fritz G. (fritzg)


Lesenswert?


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


Lesenswert?

ROTFL

von Thomas Winkel (Gast)


Lesenswert?

hmm, mir scheint einige Vorurteile wird Linux nie los. Es ist schon (die
richtige Distribution vorausgesetzt) lange nicht mehr nötig irgendetwas
selber zu kompillieren, aber es ist wenigstens möglich!
aptitude install gcc-avr avr-libc
und ich bin schon die erste Zeile C Code am tippen wenn der Windowsler
gerade auf den Sourceforge Mirror weitergeleitet wird. Ich gebe gerne
zu, dass Win2000 & XP gelungene Betriebssysteme sind, an den komfort
eines Debian reichen sie aber nicht ran. Leider gibt es halt selbst im
wissenschaftlich / technischem Bereich immer noch zu wenig Software für
Linux, so ist mir zum beispiel kein brauchbarer Schaltungssimulator wie
PSPICE für Linux bekannt. Matlab gibt es zwar, aber kaum Toolboxen. So
bin ich im Moment gezwungen unter Windows zu arbeiten, weil es die
"Embedded Target for Motorola MPC555" Toolbox nicht für Linux gibt.
Mittlerweile hab ich mir sogar ne ganz brauchbare Arbeitsumgebung mit
LaTeX und allem was man so braucht unter Windows zusammengebastelt,
aber wenn ich dran denke das alles aktuell zu halten (aptitude
upgrade)...
Nur um verwendbare Matlab / Simulink Plots in EPS für meine
Ausarbeitung zu erstellen muss ich immer noch Linux booten.
Die nächste Windows Version wird übrigens einiges an Rechenpower für
Online-Verschlüsselung verschlingen nur um den Benutzer beim richtigen
Umgang mit seinen Multimedia Inhalten zu unterstützen. Tut mir leid,
aber ein Betriebssystem in das so viel Entwicklung mich zu beschränken
investiert wurde kommt bei mir nicht auf die Platte! Leider sehen die
meißten das anders, denn sonst könnte MS sich sowas nicht leisten.
Gruß, Thomas

von Hubert (Gast)


Lesenswert?

> Arbeitsprinzip Windows:
> 1. Knöpfchen drücken -> 5min warten (eben schnell nen Kaffe
> kochen)
>   -> fertig
> 2. Arbeiten.

Hmm, stimmt wenn man 4MB RAM hat, ansonsten ist es wie Peter gesagt
hat. Einschalten und los gehts mit der Arbeit.

> Ja, und?  Mach das mal bei Windows. ;-)

Wozu sollte ich unter Windows ein Kernel kompilieren, läuft doch alles
perfekt.

> Die nächste Windows Version wird übrigens einiges an Rechenpower für
> Online-Verschlüsselung verschlingen

Ja, ein typisches Rechnersystem wird mit 2GB Arbeitsspeicher angegeben.
Das halte ich nun wirklich etwas übertrieben. Aber wo wir gerade beim
Speicher sind. Ich hatte ein Red Hat Linux mal auf nem PC mit 384MB RAM
installiert. War ein Witz, die Kiste kam nicht in die Gänge. Für Windows
XP null Problemo, die rannte wies Lottchen.

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


Lesenswert?

> Ich hatte ein Red Hat Linux mal auf nem PC mit 384MB RAM
> installiert. War ein Witz, die Kiste kam nicht in die Gänge.

Meine normale FreeBSD-Kiste zu Hause hat 512 MB, und auf der
sind zwei Leute gleichzeitig mit voller grafischer Session
eingeloggt (wie macht man das eigentlich bei Windows? ;-).  Kein
Problem.

> so ist mir zum beispiel kein brauchbarer Schaltungssimulator wie
> PSPICE für Linux bekannt.

Das gute alte Spice selbst ist ein Unix-Programm.

von Daniel B. (khani)


Lesenswert?

Hallo ?!

Mal eine kleine Frage : Warum kann nicht jeder das System nehmen, was
ihm gefällt und womit sie zurecht kommt ?!

Ich bin sicher ein Windows-User, der sich mit dem Ding auskennt und
seine Strukturen da aufgebaut hat, kann genauso schnell, effektiv oder
sonstewie arbeiten, wie ein Linux-/Unix- oder sonstwas User, der eine
ähnliche Situation vorliegen hat.

Muss man immer gleich Glaubenskriege vom Zaun brechen ?!

Es sind doch alles Betriebssysteme und wenn diese halbwegs verbreitet
sind, dann existieren doch bestimmt auch Lösungen. Alle Betriebssysteme
haben spezifische Probleme und spezifische Vorteile. Wenn eines nur
Nachteile hätte dann wäre es schon wirtschaftlich ausgestorben.

Glaubenskriege (ob sie Betriebssysteme, Religionen oder
Lebenseinstellungen betreffen) ist ungefähr so sinnlos, wie darüber zu
diskutieren, ob Rechts- oder Linksverkehr besser ist.

Mann geht mir das auf den Nerv - ich würde so was auch mal
ausdiskutieren, aber nur wenn ich ein paar Bier dazu trinke und viel
Zeit habe.

So viel von mir, Daniel.

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


Lesenswert?

> Mann geht mir das auf den Nerv - ich würde so was auch mal
> ausdiskutieren, aber nur wenn ich ein paar Bier dazu trinke und viel
> Zeit habe.

Prost! :-)

von Hubert (Gast)


Lesenswert?

/*
Ich bin sicher ein Windows-User, der sich mit dem Ding auskennt und
seine Strukturen da aufgebaut hat, kann genauso schnell, effektiv oder
sonstewie arbeiten, wie ein Linux-/Unix- oder sonstwas User, der eine
ähnliche Situation vorliegen hat.
*/

Nein, ein Windows-User kann wesentlich schneller arbeiten.

von Daniel B. (khani)


Lesenswert?

Zum Wohl Jörg ! ;-)

Hubert, willst Du Dich als Brandbeschleuniger betätigen oder bist Du so
eine Art Forum-Anheiz-Elvira ?!

Das wäre überhaupt mal eine Idee - man könnte so was wie
flame-Anheiz-Programme schreiben. Das würde kaum eine merken ;-).

MfG, Daniel

von Thomas Winkel (Gast)


Lesenswert?

>Das gute alte Spice selbst ist ein Unix-Programm.
Das ist mir schon bewusst, deshalb schrieb ich ja auch "brauchbar"
;)
Ein "brauchbarer" Schaltungssimulator muss bei mir zumindest nen
guten Schaltplaneditor, alle wichtigen Bauteile und ne konfigurierbare
Simulationsanzeige mitbringen.

>Warum kann nicht jeder das System nehmen, was ihm gefällt?
hmm, zumindest hier im Thread hab ich noch keine Gewaltandrohung
gelesen, dafür aber ne menge Beiträge von Leuten die genau das nehmen
was ihnen gefällt und auch versuchen dieses zu begründen.

>kann genauso schnell, effektiv oder sonstewie arbeiten
klar, ich hab ja auch geschrieben, dass ichs mir ganz gemütlich unter
Windows eingerichtet hab, aber versuch doch mal so ein System aktuell
zu halten, unter Debian ist das nur ein Befehl, das nenn ich komfort!

>Muss man immer gleich Glaubenskriege vom Zaun brechen ?!
Bis jetzt verläuft diese Diskussion doch ganz sachlich, hat halt nur
nichts mehr mit dem Thema zu tun.

>Mann geht mir das auf den Nerv
Du hast es aber trotzdem gelesen und dich sogar genötigt gefühlt dich
hier einzuklinken.

>aber nur wenn ich ein paar Bier dazu trinke und viel Zeit habe.
Na dann, PROST! ;)

42,
Thomas

von Hubert (Gast)


Lesenswert?

Noch ein letzter Beitrag von mir:

> Ein "brauchbarer" Schaltungssimulator muss bei mir zumindest nen
> guten Schaltplaneditor [...] mitbringen.

Du erwartest also einen gewissen Komfort. Genau das ist das Problem,
Linux war nie komfortabel weil die Jungs (oder sehr viele), die es
benutzen, auf ihr Terminal stehen und grundsätzlich
Komandozeilenprogramme mögen; oder nicht? Deshalb wird es noch viele
viele Jahre dauern, bis Linux ernsthaft an den Komfort von Windows
herankommt. Eine echte Konkurenz braucht unser Bill in den nächsten 10
Jahren nicht zu fürchten.

von Fritz G. (fritzg)


Lesenswert?

Je nachdem was es für ein Programm ist.

Meine Linux-Navigationssoftware ist Klicki-Bunti, auch meine
Zugsteuerung.
Man kann sich die Konfiguration für Samba mit der Hand schreiben oder
sich per Klicki-Bunti zusammenklicken, geht beides.

Anderseits bräuchte ich ca. 10 Minuten um mit Excel usw. aus meiner
Messreihe die passende Grafik zu machen, in der Konsole ist das nur
ein

 grep Erg x |awk '{ print $2, $3,$4,$5}'>data1;./plotting3 |gnuplot

d.h. einmal Cursor nach oben und Enter, schon ist die neue Grafik mit
den neuen Daten da.

von Hubert (Gast)


Lesenswert?

Nun, ich hatte Stunden gebraucht um mit Protel 99 ein einigermaßen
brauchbares Layout zu erstellen. Nun beherrsche ich dieses Tool fast im
Schlaf und ich kann es bedienen ohne nachzudenken und ähnlich ist es
auch mit Excel. Wiederum würde ich ewig brauchen bis ich alle
Kommandozeilenschalter etc. im Kopf hätte :)

> grep Erg x |awk '{ print $2, $3,$4,$5}'>data1;./plotting3 |gnuplot

:)

In diesem Sinne, jedem das seine!

Macht's gut!

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


Lesenswert?

> Ein "brauchbarer" Schaltungssimulator muss bei mir zumindest nen
> guten Schaltplaneditor [...] mitbringen.

Warum das Bundle?  Das ist doch genau das, woran viele Windows-
Software (IMHO) krankt: das eigentliche Augenmerk der Entwickler lag
z.B. auf dem C-Compiler, aber da jeder eine ,,IDE'' erwartet statt
eines Compilers, wird ein mittelmäßig schlechter Editor mit gebundelt,
mit dem man eher schlecht als recht arbeiten kann.  GCC (um mal wieder
on-topic zu werden :) ist der reine Compiler, mit einem geeigneten
Editor zur Entwicklungsumgebung kann sich das dann jeder nach eigenem
Geschmack einrichten.  Ich würde ja nicht erwarten, dass jeder beim
Anblick meines Emacs ,,Hurra!'' ruft, aber ich bin damit um eine
Größenordnung schneller, als wenn ich z.B. die Arbeit mit AVR Studio
machen müsste.  (Ja, eine Größenordnung, das ist ernst gemeint.)

Schaltplaneditoren gibt's doch einige, und die können mehr oder
minder
geschickt auch spice-Netzlisten ausgeben.  Kommt noch der Aspekt dazu,
dass man sich in einen Schaltplaneditor ohnehin gut einarbeiten muss,
damit man damit flüssig arbeiten kann (wie letztlich bei allen
CAD-Programmen), und da man einen solchen auch für die
Platinenerstellung noch braucht -- warum nicht gleich einen derartigen
(der dann gut ist und alles kann, was man braucht) dafür nutzen und
die Simulation dranketten?

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Die Trennung Capture/Simulator klingt ja in der Theorie ganz gut, aber
bis ich unter Unix (in diesem Fall MacOS X) mit GSchem, Spice, gnuplot
usw. dazu komme eine Schaltung zu simulieren habe ich mir zehnmal
QemuX+Win98+SwitcherCAD installiert. Traurig, aber so erlebt.

Ich bin mittlerweile manchmal *fast* schon am überlegen wieder auf
Windows umzusteigen, da es so viele Software weder für MacOS noch für
Linux gibt. Aber wahrscheinlich liegt das daran dass ich inzwischen
viele der kleinen nervenden Probleme vergessen habe die den Alltag mit
Windows zur Hölle machen. Mal sehn, vielleicht bekommt Microsoft das
mit Longhorn ja hin.

von Thomas Winkel (Gast)


Lesenswert?

Hallo Jörg,
seh ich alles ganz genau so wie du, schön modular aufgebaut wäre
natürlich das beste, wenn denn alle Komponenten auch perfekt
zusammenarbeiten würden. Dann könnte sich jeder seine Umgebung selber
zusammenstellen. Der eine nimmt halt GEDA, der andere den Kschem Part
(fiktiv) und du emacs ;) und hinter den Kullissen läuft überall das
gleiche. Aber so ist es nunmal leider nicht. Ich hab schon einiges
unter Linux getestet (GEDA, Oregano, und irgendwelche KDE Sachen), aber
nichts war so richtig integriert und alles riesen Baustellen wovon
einige anscheinend schon nicht mehr weiterentwickelt werden. Und vor
allem gibt es keine Bauteile, bis auf die idealen Standartkomponenten
(R L C Diode Transistor). Ich will auch nicht für jede Simulation auf
die Console wechseln müssen und meine Analysen per
Kommandozeilenparameter könfigurieren. Hast du schon mal mit PSPICE
gearbeitet? Ich meine, da leg ich einige Profile für meine Analysen an
(Zeitbereich, Frequenzbereich, Parametric,...), simuliere und schau mir
dann in aller Ruhe die Ergebnisse an, mache Berechnungen damit, lass mir
villeicht nen Bode oder Nyquist Plot erstellen u.s.w.
GCC ist natürlich vorbildlich in tausende Umgebungen integriert, ist ja
auch die Grundlage von allem, aber ein ernsthaftes Equivalent zu PSPICE
hab ich leider noch nicht gefunden (für Linux).

P.S.
Orcad ist auch nicht perfekt, Layout find ich grausam!

von Malte _. (malte) Benutzerseite


Lesenswert?

Ich bin der Ansicht dass die Benutzerfreundlichkeit unter Linux in
vielen Bereichen Windows inzwischen überlegen ist. Als Beispiel wollte
meine Schwester(16) auch gerne Linux (zusammen mit Windows 9x für
Spiele) haben. Ok, Kubuntu CD eingelegt, partitioniert, noch drei mal
Enter gedrückt, Benutzername mit Passwort ausgewählt einmal neu
gestartet und nach dem Einloggen konnte sie los surfen. Einzig bei der
Soundkarte war Handarbeit angesagt. Aber mit einer Step-by-Step
Anleitung im Netz ging auch diese.
Dos findet hingegen keine primäre Partition (fdisk* schon) und lässt
sich somit nicht mehr installieren. Schon lustig wenn dass CD Laufwerk
den Laufwerksbuchstaben "C" erhält...

*fdisk: Plattengröße: 40GB, laut fdisk aber nur 12 GB. Dafür
ist die Primäre Partition 2GB groß und belegt 5% der angeblichen
12GB...

Ach und hier noch eine kleine Liste was bei mir (Debian seit gut einem
Jahr) nicht geht:
-Die Treiber von ATI (unter Knoppix aber schon)
-Für Scanner des Netzwerk-multifunktionsgerätes gibt es keine
Linuxtreiber

Und das vermisse ich unter Linux:
-Spiele
-Mit Delphi vergleichbare Entwicklungsumgebung (Lazarus ist noch zu
stark eine Beta)

Was ich nicht vermisse:
-Die Abstürze von Windows9x und die beleidigende Erklärung beim
Scandisk danach man möge den PC doch bitte ordentlich herunterfahren.
-die Treiberorgien für Netzwerk, Grafik, TV, SCSI, Sound, USB Stick,
Kartenleser.
-Die Neustarts
-Den einzelnen Desktop
-Die Neubelegung der Laufwerksbuchstaben von erweiterten Partitionen
beim Einbau/Entfernen einer weiten Platte.
-das plötzliche Wiederauftreten von Fehlern die man längst behoben
glaubte
-Das Hilfesystem bei welchem ich stets zu dem Punkt kam dass das
Problem mit dem Ratgeber nicht lösbar sei.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

.
  "Und das vermisse ich unter Linux:
  -Mit Delphi vergleichbare Entwicklungsumgebung"

Von den Machern von Delphi höchstselbst: Kylix.

von Malte _. (malte) Benutzerseite


Lesenswert?

Die erste Kylix Version hatte ich damals mal ausprobiert. Was mich am
meisten störte war, dass die fertigen Programme irgend welche Librarys
benötigen, die auf normalen Rechnern nicht vorhanden sind. Wohingegen
die mit Delphi erstellten Programme (mit WINE) fast alle problemlos
funktionieren. Auch sonst fehlten einzelne Komponenten der Windows
Version.
Aber vielleicht sollte ich die aktuelle Version doch mal wieder
ausprobieren eventuell hat sich da ja was gebessert.

von Hubert (Gast)


Lesenswert?

> -Die Abstürze von Windows9x und die beleidigende Erklärung
> beim Scandisk danach man möge den PC doch bitte ordentlich
> herunterfahren.

Abstürze unter XP gehören der Vergangenheit an. Ich benutze seit 2
Jahren XP und hatte eigentlich nur Abstürze beim ausprobieren eines
selbst geschriebenen Kernelmode Treibers.

> -die Treiberorgien für Netzwerk, Grafik, TV, SCSI, Sound,
> USB Stick, Kartenleser.

I. d. R. auch kein Problem unter XP.

> -Den einzelnen Desktop

Dafür gibt es Tools sogar von Microsoft, wenn man denn soetwas zwingend
braucht.

> -Die Neubelegung der Laufwerksbuchstaben von erweiterten
> Partitionen beim Einbau/Entfernen einer weiten Platte.

Dies ist in der Tat sehr nervig.

> -Das Hilfesystem bei welchem ich stets zu dem Punkt kam
> dass das Problem mit dem Ratgeber nicht lösbar sei.

Unter XP ist die Hilfe sehr gut gelungen.

Fazit: du solltest von Win9x Abstand nehmen, diese Systeme waren in der
Tat nicht besonders gut.

von Rolf Magnus (Gast)


Lesenswert?

> Ach und hier noch eine kleine Liste was bei mir (Debian seit gut
> einem Jahr) nicht geht:
> -Die Treiber von ATI (unter Knoppix aber schon)

Das ist natürlich primär die Schuld von ATI. Die haben sich lange Zeit
gar nicht um Linux gekümmert und hinken deshalb mit ihren Treibern
gegenüber NVidia (*) weit hinterher. Da sie auch keine Informationen
über die Programmierung der Hardware rausgeben, kann auch kein anderer
vernünftige Treiber schreiben.

* Die NVIdia-Treiber waren anfangs auch nicht so arg stabil, zumindest
auf AMD-Systemen, sind aber seit einer ganzen Weile sehr gut und
unterstützen auch bei 3D-Grafik alles, was die Karte hergibt.

> -Für Scanner des Netzwerk-multifunktionsgerätes gibt es keine
> Linuxtreiber

Bei Sane ist nix dabei?

> Und das vermisse ich unter Linux:
> -Spiele

Daran teilen sich die Spielehersteller und Microsoft die Schuld.
Erstere, weil sie sich gößtenteils um Linux kaum kümmern, letzere, weil
sie haufenweise APIs raushauen, die zu nix außer Windows kompatibel
sind. Wenn die dann umfassend genutzt werden, wird die Portierung
extrem erschwert. Und mit Longhorn wird's noch schlimmer, denn da hat
Microsoft jetzt endlich einen Weg gefunden, OpenGL unter Windows
nutzlos zu machen. Der Grund ist zwar hanebüchen, aber das hat
Microsoft ja noch nie aufgehalten.

von Hubert (Gast)


Lesenswert?

Naja den Spieleherstellern kann man keinen Vorwurf machen. Ich würde
auch für das Betriebssystem entwickeln, das am meißten verbreitet ist.
Linux ist nunmal nicht sehr weit verbreitet.

von Rolf Magnus (Gast)


Lesenswert?

> Naja den Spieleherstellern kann man keinen Vorwurf machen. Ich
> würde auch für das Betriebssystem entwickeln, das am meißten
> verbreitet ist.

Ich würde es so entwickeln, daß es mit möglichst plattformunabhängig
ist und sich one große Änderungen auf beiden Systemen compilieren
lässt. Daß das durchaus geht, sieht man an ID-Soft. Die haben seit eh
und je ihre Spiele für Windows und Linux rausgebracht. Teilweise wurden
die sogar unter Linux entwickelt und dann nach Windows portiert.

von Fritz G. (fritzg)


Lesenswert?

Sogar die amerikanische Armee schafft das, AAO gibts für Windows, Linux
und Mac OSX.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

und es ist auch nicht wirklich schwierig wie Projekte wie
http://www.ogre3d.org/ beweisen. Die 3D-Engine nutzt entweder auf
openGL oder D3D unter diversen Betriebsystemen auf. Für ein paar simple
Klassen die OS spezifische Dinge (Zeichenflächen, Benutzereingaben,
Datei-Handling) abstrahieren dürfte nicht mehr als ein paar Manntage zu
investieren sein.

Aber wo kein Markt da keine Produkte und wo keine Produkte da kein
Markt. Ist leider so, und M$ tut sein Möglichstes openGL soweit als
möglich gegenüber D3D niederzuhalten.

Matthias

von Joline (Gast)


Lesenswert?

Ich werfe einfach einmal ein paar Fische in die Runde an alle, die sich
wieder an dem sinnlosen Flamewar beteiligt haben und will nun zur
eigentlichen Frage zurückkommen:

Welche Version von WinAVR kann man nun bedenkenlos einsetzen?

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


Lesenswert?

Keine.

Oder die neueste.

Oder was auch immer: guck dir doch an, was generiert wird.

von Joline (Gast)


Lesenswert?

Ja sicher könnte ich jetzt beginnen, alle Versionen seit ...
nacheinander zu installieren und dann den erzeugten Code zu
analysieren. Schade, dass ich im Moment die Zeit dazu nicht habe.  :(

Ich hatte gehofft, die Erfahrung hätte schon ein anderer gemacht und
könnte mir (und anderen) sein Ergebnis mitteilen.

von Daniel B. (khani)


Lesenswert?

Also,

wir fassen kurz zusammen - alle möglichen Versionen von WinAVR kann man
bezgl. Funktion - also der generierte Code macht das, was programmiert
wurde - bedenkenlos einsetzen.
Welche Version eine gute und welche eine weniger gute Größenoptimierung
ist nicht klar.
Daneben scheint es immer angezeigt, die neueste freigegebene Version zu
verwenden, da diese auf dem neuesten Stand ist, was Erweiterungen und
Bugfixes angeht.

Habe ich das so weit richtig verstanden ?

Für den Hobby-Anwender wird das wahrscheinlich eh schnurz sein, ob die
Größenoptimierung jetzt mal um 10 % rauf oder runter geht, da
Hobby-Anwender eh meist wesentlich mehr Speicherplatz einplanen
(zumindest sollten). Das ist ja auch kein Problem, wenn man seinen Code
eben nicht mehr in einen ATmega16 hineinbekommt, dann nimmt man eben
einen 32er. Ist ja egal, solange man keine Stückzahlen produziert.
Blöde ist das natürlich, wenn man ein altes Projekt noch einmal
aufbauen will und die Source kompiliert so groß, dass man die Hardware
ändern muss.

MfG, Daniel

von Joline (Gast)


Lesenswert?

@Khani,

so habe ich das bisher auch gehalten.  ;)

von Eumel (Gast)


Lesenswert?

> Blöde ist das natürlich, wenn man ein altes Projekt noch einmal
> aufbauen will und die Source kompiliert so groß, dass man die
> Hardware ändern muss.

Eben, und was lernen wir daraus? WINAVR bzw. dessen Äquivalent für die
Pinguinklickibuntiwelt ist definitiv nicht für professionelle
Anwendungen geeignet sondern ist eher nur als Spielzeug anzusehen,
welches aus dem Drang einiger Freaks entstand, die meinten, mal
unbedingt was portieren zu müssen statt etwas mehr Zeit mit ihrer
Familie zu verbringen.

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

DFTT

von Eumel (Gast)


Lesenswert?

But i'm hungry...

von Fritz G. (fritzg)


Lesenswert?

Anscheinend im Heise-Forum nix los.

Also, dann nehmen wir doch den guten und professionelen AVR-Compiler
von  Mikrosoft!

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


Lesenswert?

Visual-AVR++

von Hubert (Gast)


Lesenswert?

Gar nicht unmöglich, man kann durchaus die IDE von Visual C++ so
konfigurieren, das sie mit AVR und WinAVR klar kommt, selbst der
Debugger (AVR-Studio) läßt sich aus der IDE aufrufen. Selbst
absolute MS-Ignoranten sollten wissen, daß der Editor nicht schlecht
ist.

von Fritz G. (fritzg)


Lesenswert?

Gut, und welcher Compiler wird dann von der IDE aufgerufen? Wohl wieder
dieser Hobby-Frickel-gcc.

:-)

von Hubert (Gast)


Lesenswert?

nein, du rufst einfach Dein normale make (und stellst dort Deinen
Compiler ein) auf, wenn Du gut bist, dann läßt sich der Editor so
konfigurieren, daß er auch zur Stelle im Code springt, wo zB. ein
Syntaxfehler vorliegt.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

so toll ist der VS Editor auch wieder nicht. Da gibts in der OSS-Ecke
durchaus vergleichbare.

Mit dem Plugin VisualAssistX wird er aber zum Besten mit dem ich bisher
gearbietet habe. Da kommt kein mir bekannter freier Editor dran. Leider
kostet allein das Plugin knapp 100 Dollar.

Matthias

von Hubert (Gast)


Lesenswert?

Jo, VisualAssist 10 ist sein Geld wert, obwohl man die Tools auch alle
einzeln bekommen oder selber machen kann. Ich habe das Teil sogar in
der Firma durchsetzen können...

Kleine Werbung, für die ich nix bezahlt bekomme:

http://www.wholetomato.com/

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.