mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR delay loop generator für linux


Autor: Jonas Diemer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Da Tjabo's Loop generator leider nicht (mehr) unter  linux läuft (er hat 
den link entfernt), habe ich einfach mal ein solches programm 
geschrieben.

In einigen fällen liefert es sogar kürzeren asm code als das 
originalprogramm.

Es benutzt GTK+ als toolkit, sollte also auch unter windows kompilieren. 
Ich habe leider kein windows (und auch keinen crosscompiler), wenn's 
jemand für win hinbekommt wäre ich über eine mail dankbar.

Im anhang natürlich das programm im Quellcode.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jonas,

leider habe ich im Moment kein Linux installiert, so dass ich es nicht 
ausprobieren konnte. Habe es aber spaßeshalber mal auf Javascript 
portiert (noch nicht ganz fehlerfrei):
http://www.mikrocontroller.net/delayloop.html
Bis 500000 Zyklen ist die Geschwindigkeit Ok, darüber dauert es SEHR 
lange. Hast du eine Idee, wie man das Script noch optimieren könnte?

MfG
Andreas

Autor: Niki Hammler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch Sekundeneingabe ermöglichen ;))

Meiner Meinung nach nützlicher, hab ich schon x-mal so gebraucht, sonst 
wär das aber echt eine gute Idee.

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Andreas!

Mensch, gut zu sehen, das es was bringt, programme als open source zu 
veröffentlichen. sollte sich der tajo mal ein beispiel dran nehmen, der 
wollt den code zur windows version nämlich nicht rausrücken... :-)

die java version läut grad bei mir nicht. habe mozilla 0.9.7, vielleicht 
liegts an mir. wenn ich auf calc clicke passiert gar nix.

die geschwindigkeit ließe sich bestimmt optimieren. momentan probiert 
das programm alle möglichen kombinationen von registern aus, und nimmt 
dann das beste. also quasi brute-force. deshalb liefert das programm 
auch bessere resultate als die windows version (z.B. bei 24000000 macht 
das windows programm noch ne extra schleife für 48 rest zyklen. meiner 
macht nur eine 3er schleife).

Optimieren könnte man:
 a) abbruchkrieterien, die die rekursive funktion eher abbrechen.
 b) nicht-rekursiver ansatz. eigentlich muss man nur eine gleichung mit 
n unbekannten lösen, wobei n die anzahl der benötigten register ist (im 
programm max_regs) ist.


bis dann

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

geht jetzt auch mit Mozilla.

Ich hab mir noch nicht die Mühe gemacht, die rekursive Funktion 
verstehen zu wollen, werd ich mir aber bei Gelegenheit mal anschaun.

MfG
Andreas

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

yo, fuktioniert! Kannste ja auf deiner seite anbieten. wäre nett, wenn 
ich und natürlich auch der ideen-vater tijo Kloppenburg und unsere 
jeweiligen programme erwähnt würden :-)

Mfg

Jonas

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Hab rasch noch ein paar sachen verbessert und eine heimseite 
zusammengekleistert. die neuste version könnt ihr herunterlaten:

http://diemer.it-pc.de

cu

jonas

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

dass du erwähnt wirst ist selbstverständlich! Aber erstmal muss das 
Script vervollständigt und optimiert werden, dann wird es 
veröffentlicht.
Ein Link zu deiner Seite ist in der Linkliste.

MfG
Andreas

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cool, danke :-)

schau dir mal version 0.3 an, die sollte in einigen fällen besseren code 
liefern (d.h. kürzeren/weniger register)

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, ich hab das ding nun auch unter Windows kompilieren können (bin 
leider momentan gezwungen, windows zu verwenden, weil mein internes 
Laptop Modem nicht unter Linux läuft :-( ).

Interessierte können sich die Window-Binary unter diemer.it-pc.de 
runterladen. Zum ausführen benötigt man noch die GTK+ libraries in der 
version 2.0.

Wenn jemand interessiert ist, kann ich auch noch die DevC++ dateien 
(damit hab ich's unter win kompiliert) bereitstellen. Braucht man nur, 
wenn man das programm selbst kompilieren will.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.