PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Leseprobe



izaseba
22.11.2006, 22:09
Hallo,
nachdem Florian und ich in diesem (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=11488&highlight=assembler+tutorial) Thread versucht haben, einem User den AVR Assembler näher zu bringen, und daraus eine megagroße Sache wurde, wo keiner mehr durchgeblickt hat, und sicherlich kein Anfänger Lust hatte das ganze durchzukauen, haben wir beschlossen diesen Thread etwas aufzuräumen.
Naja dabei ist es geblieben 8-[
Heute habe ich meinen PC etwas aufgeräumt und es ist mir aufgefallen, daß ich da schon mit etwas angefangen bin und nicht weiter gemacht habe.
Ziel war es ein Assembler Tutorial zu erstellen, was wirklich an die Leute gerichtet ist, die komplett von Null anfangen.

Ich wollte damit, keine Konkurenz zu dem hier (http://www.avr-asm-tutorial.net/avr_de/beginner/index.html) oder diesem hier (http://www.mikrocontroller.net/articles/AVR-Tutorial)
machen sondern irgendwas schreiben, was noch davor passt.
Es ist mir nähmlich aufgefallen, daß manche Leute zwar Interesse an asm haben, aber trotzdem mit den obengenannten Tut's erstmal nicht klarkommen :-s

Ich hab es einfach hier hin (http://www.izaseba.roboterbastler.de/) kopiert.


Ich habe mich bemüht, alles sehr einfach zu halten, damit jeder es versteht, nur kommt hier die eigentliche Frage:
Meint Ihr hat es Sinn?
Könnte man anhand so einfacher Beispiele ein Tut machen ?
Besteht da Bedarf für sowas ?
Wenn ja würde ich es auch weiter schreiben, wenn nicht, vergessen wir das einfach.

Schon mal vielen Dank für die 5 Minuten, die Ihr für diese Leseprobe opfert.

Gruß Sebastian

EagleStar
23.11.2006, 08:36
Ich finde es eine super Idee, etwas für den Einstieg in ASM bereitzustellen bzw zu entwickeln.
Momentan reicht das vielleicht für einen kleinen Tut, aber um den Einsteigern (zähle ich mich auch mal mit rein) eine sauber Einführung zu bieten, sollte es noch etwas mehr Volumen und Optik bekommen.

Vorschlag:
Biete doch zum Bsp einen Wettbewerb an, bei denen sich die User gedanken machen sollen, was in so ein Tut rein sollte und dieses dann auch einreichen.
Sich das über eine Online-Maske einsenden zulassen, wäre hier wohl sinnvoll.
Die besten Beispiele werden aufbereitet, in eine ansprechende, gleiche und leicht zu überblickende Form gebracht und schon hast du eine super Tut!
Um den Wettbewerb anzuspornen könnte man einen Sponsor für Preise organisieren. Diese würden dann unter den besten Einsendungen ausgeschüttet.

Der Vorschlag ist mit Sicherheit noch ausbaufähig, aber fürs erste könnte es dir (deinen Usern) doch helfen.

Was hälst du davon?

MfG EagleStar

Florian
23.11.2006, 17:13
Hallo Sebastian!

nachdem Florian und ich in diesem Thread versucht haben

Naja dabei ist es geblieben
Ouch ... das habe ich völlig aus dem Blickwinkel verloren! *schäm*
Schön, dass Du es nicht vergessen hast!
Ich bin ja nun auch zu den Clern übergesiedelt, aber ich bin noch immer der Meinung, dass ASM der beste Einstieg ist.
Im Prinzip finde ich Deinen bisherigen Anfang nicht schlecht, allerdings würde ich noch weiter bei NULL anfangen und ein wenig mehr in die Tiefe gehen und wenn möglich auch ein wenig illustrieren (ich weiß, das ist schwierig).

Trotzdem von mir schonmal ein Lob, dass Du Dich dieser großen Aufgabe annimmst!

Viele Grüße
Florian

hacker
23.11.2006, 18:00
Also ich find das eigentlich recht gut. Schritt für Schritt...jeden Befehl. Vllt. könnte man auch irgentein Bezug zu den Bascom Statements herstellen, da es sicherlich auch einige gibt, die erst mit Bascom angefangen haben und nun zu ASM wechseln wollen.

MST_NRW
23.11.2006, 18:09
Hi,

erstmal'n Dankeschön für die Arbeit...

Die Idee, ein NOB Tutorial zu erstellen, würde ich sehr begrüssen.
Ich möchte irgendwann mal Komplett auf ASM umsteigen. Nur ist das lernen von ASM doch sehr Zeitintensiv und ne' richtige umstellung von C und Basic.

Über den Inhalt und der Gestaltung schliesse ich mich der Meinung von "EagleStar" an.

PicNick
23.11.2006, 18:44
Ich hab mal für Bascom-ler eine Assembler -Sache angefangen, vielleicht mag ja jemand da mitmachen ?

https://www.roboternetz.de/wissen/index.php/Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User

https://www.roboternetz.de/wissen/index.php/Bascom_Inside-Code

izaseba
23.11.2006, 19:36
Danke, für die Antworten,

naja, wie schon gesagt,
ich hab das mal vor über einem Jahr geschrieben und gestern wiedergefunden :-)


sollte es noch etwas mehr Volumen und Optik bekommen.


Über den Inhalt und der Gestaltung schliesse ich mich der Meinung von "EagleStar" an.

Ja, ich weiß, es muß da einiges gemacht werden, aber ich wollte erstmal testen, ob da überhaupt interesse besteht...


könnte man auch irgentein Bezug zu den Bascom Statements herstellen, da es sicherlich auch einige gibt, die erst mit Bascom angefangen haben und nun zu ASM wechseln wollen.

Schau Dir mal den zweiten Link von PicNick an, er hat das schon ganz gut gemacht.



Ich möchte irgendwann mal Komplett auf ASM umsteigen. Nur ist das lernen von ASM doch sehr Zeitintensiv und ne' richtige umstellung von C und Basic.

Naja, komplett auf Asm umzusteigen würd ich da nicht, aber es macht schon Sinn, da mal reizugucken um ein bischen zu verstehen was in so einem AVR intern abgeht.



Ich hab mal für Bascom-ler eine Assembler -Sache angefangen, vielleicht mag ja jemand da mitmachen ?

Ich muß Dir an dieser Stelle einen Lob aussprechen, das ist wirklich eine schöne Sache, die Du da gemacht hast.

Bascom ist allerdings absolut nicht mein Ding und ich weigere micht da irgendwas mit zu machen.

Am sonsten bedanke ich micht für Eure Antworten, das gibt einem doch Mut weiterzumachen.

Gruß Sebastian

EagleStar
24.11.2006, 09:26
Insgesamt scheint das Interesse ja nicht allzu klein zu sein.
Wenn mich jetzt nicht alles täuscht steht die LESEPROBE ja in ASM-Prog. Man könnte sich nun auch zusammen (globalere Ausschreibung) tun und sich erstmal auf ASM festlegen. Alle schreiben schöne Bsps und die werden gesammelt und zu einem Tut zusammengefasst. Dafür sollte allerdings ein eMail-Konto oder eine Maske angelegt werden. Wenn diese dann geschehen ist, könnte man sich auch mit BASCOM und GCC beschäfftigen. So schön Stück für Stück. Im ruhig bleiben.
Fachlich kann ich mit Sicherheit nicht viel beisteuern (selbst nob), aber bei der Illustration könnte ich behilflich sein!
Ach ja, schlecht wäre es auch sicher nicht einen Vorläufigen Termin für den Einsendeschluss zu bestimmen, um die Entwicklung des Tuts zeitlich kalkulierbar zu machen.

MfG EagleStar

EagleStar
24.11.2006, 09:33
Ach ja ich vergahs, da war doch noch was...

@izaseba
Du musst ja kein BASCOM schreiben, sondern einfach mal User ansprechen die belesene BASCOMleristen sind und sich den NOBs zuliebe an deinem Projekt zu beteiligen.
Dort kannst du dich ja administrativ beteiligen und deinen fachlichen Einsatz zurück stecken.

MfG EagleStar

olfi13
24.11.2006, 14:39
Schon ein nobles Vorhaben. Finde ich grundsätzlich sehr gut!

Da es sich an NOB's wenden soll möchte ich eine andere Vorgehensweise vorschlagen:

1. Ein lauffähiges kleines Programm wie LED ein/aus per Taster, das erstmal in den Controller bekommen. Wie viele scheitern an ihrem Adapter oder irgendwelchen Kleinigkeiten... Wenn das läuft gibt es ein schnelles Erfolgserlebnis.
2. Dieses Programm dann grob erklären (nur Blockweise: hier wird der Chip initialisiert, hier wird ..... und diese Schleife soll...)
3. Das Programm erweitern und immer weiter erklären, Stück für Stück.

So kann man herumspielen und muß sich nicht durch irgendwelche Grundlagen quälen von denen man nicht weiß wozu und ob man diese jemals braucht. Learning by doing.

Bei einem logischen Aufbau besteht immer die große Gefahr das man nicht bemerkt einmal etwas nicht richtig verstanden zu haben und ein paar Schritte später dann scheitert.

Viele Grüße, Olfi

EagleStar
24.11.2006, 17:34
Den Vorschlag von Olfi find ich ein sehr guten Einwand.

Wobei man trotzdem zuerst Grundlagen behandel muss, zumindest was die Hardware angeht. Denn wie bekomm ich denn Mein Programm in den µC.

Aber sonst an Hand von Olfis Vorschlag vorgehen ist, denke ich, sehr gut, denn ich lerne auch lieber an Bsps von Quelltext und modifiziere dann mein Ansprüche hinein.

In erster Linie soll das Tut an Nobs gerichtet sein, aber darauf würde ich nicht zwingend beschrenken. Wichtig hierbei ist, dass man absolut jungfreulich an diesem Tut etwas lernen kann, also ganz unten angefangen wird. Aber nach oben hin würde ich das Niveau nicht eingrenzen. So können die älteren Hasen, diesem Sammelsorium, vielleicht auch noch etwas neues abgewinnen.

Entscheidend wird das Tempo sein, mit dem das Niveau steigt.

------------------------------------------------------------------------------------

Des Weiteren, kann ich ein von mir im Eagle entworfenes Platinenlayout für einen seriellen ISP Adapter RS232 anbieten. Die Platine ist nur 34 x 54 mm groß. Den Schaltplan hab ich irgendwo im Netz gefunden, ich muss mal schauen wo das war...

MfG EagleStar

olfi13
24.11.2006, 18:44
...ich lerne auch lieber an Bsps von Quelltext und modifiziere dann mein Ansprüche hinein.


So hat die Kreativität mehr Raum, es ist Platz zum Spielen.



... Aber nach oben hin würde ich das Niveau nicht eingrenzen. So können die älteren Hasen, diesem Sammelsorium, vielleicht auch noch etwas neues abgewinnen.
...
MfG EagleStar

Ein (Lern-)ziel wäre wohl recht gut. Wenn dann noch Lust da ist kann ja ein Teil für Fortgeschrittene aufgrund der gewonnenen Erfahrungen entstehen.
Nun mal schauen was der Chef (izaseba) so sagt.

Gruß, olfi

izaseba
24.11.2006, 19:56
Hallo Leute,
Danke daß Ihr Euch so viele Gedanken gemacht habt, ich weiß es zu schätzen!


Wenn mich jetzt nicht alles täuscht steht die LESEPROBE ja in ASM-Prog.

Ja, es geht hier um Assembler und sonst nichts...
Wie ich am Anfang geschrieben habe, gibt es viele Leute, die sich gerne Assembler angucken würden, nur die Tutorials, die im Netz zu finden sind, sind für die zu kompliziert geschrieben (Aussage von Leuten hier im Forum, ich habe im Moment keine Lust die zu suchen).
Ich bin selber kein Guru, was asm angeht, trotzdem würde ich es gerne versuchen, solch ein "Assembler für Dummies" zu schreiben :-)


allerdings würde ich noch weiter bei NULL anfangen
Ich habe noch ein Kapitel über Bytes hinzugefügt.


Ein lauffähiges kleines Programm wie LED ein/aus per Taster, das erstmal in den Controller bekommen. Wie viele scheitern an ihrem Adapter oder irgendwelchen Kleinigkeiten... Wenn das läuft gibt es ein schnelles Erfolgserlebnis.
Aha, Du meinst man sollte ganz am Anfang, irgendwas größeres anbieten, was man sich einfach so in den AVR einspielt ?
Könnte man auch machen, ich wollte an sich so vorgehen:

1. Lektion -> LED einschalten, dabe lernt man ldi, out,rjmp und Labels kennen...
2. Lektion -> Programm von Lektion 1 abändern um sbi und cbi kennenzulernen, Unterschied zwischen Bitmaske (ldi) und einzelne Bits setzen(sbi)
3. Lektion -> Taster einlesen und auf LED ausgeben, vielleicht nocht logische Verknüpfungen um unterscheiden zu können, welcher Taster gedrückt wurde, dabei kämen schon die ersten Branches (bedingte Sprünge) zum Einsatz.
4. Lektion -> Blinki-Bunti mit hilfe von Warteschleifen, also irgendwie aus dem gegebenem Takt eine Wartezeit von einer Sekunde berechnen, dabei kommen die ersten Schleifen zum Einsatz, kurze Überlegung wie man an die gewollte Taktzahl kommt, die vernichtet werden soll (Stichwort Sprünge brauchen 1 oder 2 Takte usw.) vielleicht Bitschieberei (Shifting) um Lauflicht Effekte zu erzeugen...
5. Lektion -> sehe Lektion 4 allergings diesmal mit hilfe von einem Timer(8 Bit), die erste Interruptroutine kommt zum Einsatz, Gefahren und Fallstricke, die damit verbunden sind, Interruptvektoren, Zähler, RAM, Stack usw.
6. Lektion -> sehe Lektion 5 allerdings kommt hier ein 16 Bit Timer zum Einsatz ( ich meine das schwierigste Thema, für einen Anfänger) hierbei Darstellung und rechnen mit einer Zahl, die breiter als 8 Bit ist.

7. Lektion, soweit bin ich noch nicht...
spätestens hier sollte die von EagleStar vorgeschlagene Online-Maske fertig sein, damit die Leute auch mal ihre Wünsche äußern können,
denkbar wäre UART Ein und Ausgaben, PWM I2C(TWI), Ringpuffer wobei wenn einer bis hierher durchgehalten hat, sollte schon in der Lage sein sowas selber hinzubekommen. 8-[ .



Des Weiteren, kann ich ein von mir im Eagle entworfenes Platinenlayout für einen seriellen ISP Adapter RS232 anbieten. Die Platine ist nur 34 x 54 mm groß. Den Schaltplan hab ich irgendwo im Netz gefunden, ich muss mal schauen wo das war...


Danke, daß Du helfen möchtest, ich meine aber, daß ich die Hardwareseite ganz weglasse, dafür gibt es genug Seiten im Net, oder ?



...ich lerne auch lieber an Bsps von Quelltext und modifiziere dann mein Ansprüche hinein.

Ich weiß, Ich habe es schon mitgemacht(sehe mein erster Post) mit Beispielen geht es wirklich am einfachsten...
Ich habe die Sache auch zu Ende gebracht, wir haben per ICQ weiter gemacht, und der Kolege, war zum Schluß ziemlich gut :-)




Ein (Lern-)ziel wäre wohl recht gut. Wenn dann noch Lust da ist kann ja ein Teil für Fortgeschrittene aufgrund der gewonnenen Erfahrungen entstehen.
Naja, mein Plan habe ich oben niedergeschrieben, und wenn ich soweit bin, daß ich mir um das Design gedanken mache, werde ich auf Euch zurückkommen :wink:

Gruß Sebastian

olfi13
24.11.2006, 20:32
Ein lauffähiges kleines Programm wie LED ein/aus per Taster, das erstmal in den Controller bekommen. Wie viele scheitern an ihrem Adapter oder irgendwelchen Kleinigkeiten... Wenn das läuft gibt es ein schnelles Erfolgserlebnis.

Aha, Du meinst man sollte ganz am Anfang, irgendwas größeres anbieten, was man sich einfach so in den AVR einspielt ?



Jupp, mir geht es um das Erfolgserlebnis.

Die Gliederung:
ersteinmal Erfolgserlebnis, dann Erklärung: warum geht das?

dann wieder der nächste verdaubare Schritt mit

ersteinmal Erfolgserlebnis, dann Erklärung: warum geht das?
usw...

Nun habe ich mich oft genug wiederholt, ich hoffe, klarer geht es kaum noch.
Bin gerne bereit zu Probelesen, ich werde den Fred weiterverfolgen.

Viel Erfolg und viel Spaß!

Florian
24.11.2006, 21:37
N'Abend Sebastian!
Mir fällt gerade ein, es gibt ein sehr gutes Tutorial von Gerhard Paulus, das sich im Internet unter "Kennern" stark verbreitet hat.
Mir hat es damals sehr geholfen.
Vielleicht kannst Du ja diese Themen als Anregung nehmen und sie noch "anfängerfreundlicher" verpacken!?

Viele Grüße
Florian

izaseba
08.12.2006, 20:02
Ich bin heute auf eine werbungsfreie Seite umgezogen :-)

Wer interesse hat http://www.izaseba.roboterbastler.de/

Gruß Sebastian

RoBo-CoP
16.12.2006, 13:09
ich wäre an deinem Assambler tutorial sehr interesiert, nur leider funktioniert dein link nicht, wär schön wenn du mal danach schauen könntest.
Danke!

izaseba
16.12.2006, 15:25
nur leider funktioniert dein link nicht

Hallo RoBo-CoP.

Danke fürs Interesse an meiner Seite :-)

Nun, wird sie von ACU gehostet und er hat Heute hier (https://www.roboternetz.de/phpBB2/viewtopic.php?p=236510#236510) mitgeteilt, daß der Server zur Zeit offline ist :-(

Ich hoffe, die Jungs kriegen es bald hin :-k

Gruß Sebastian

cipoint
07.01.2007, 18:33
... Es ist mir nähmlich aufgefallen, daß manche Leute zwar Interesse an asm haben, aber trotzdem mit den obengenannten Tut's erstmal nicht klarkommen ...

Ja, das ist richtig. Ich als blutiger Anfänger in Assembler (wobei ich sehr gute Grundkenntnisse in Java und noch etwas mehr habe) fühle mich bei den genannten Tutorials einfach überfordert. Zwar bekomme ich ungefähr ein Bild davon, vorum es geht. Aber das Bild ist unscharf und ich weiß nicht, wo ich anfangen soll, wenn ich ein eigenes Programm schreiben möchte. Für Fortgeschrittene und Profis erscheinen diese Tutorials natürlich sehr passend für Anfänger zu sein. Aber ich als Anfänger bin da etwas anderer Meinung. Man darf nicht zu sehr ins Detail gehen und muss trotzdem wichtige Sachen klar machen, das ist macht ein echtes Anfänger-Tutorial aus. Nach und nach, wenn ein Anfänger endlich die ersten paar Zeilen Code selbst geschrieben hat (nicht abgeschrieben), kann es sich dann komplexeren Themen zuwenden, wofür dann die eben genannten Tutorials gut geeignet wären.

Ich finde deine Idee gut und bedanke mich dafür, was schon geschrieben wurde und was hoffentlich noch kommt!

ps: Da ist ein Fehler im Code auf der Seite http://www.izaseba.roboterbastler.de/index.php?popup=Tutorial&section=Lektion5
Da sollte der PORTB als Eingang definiert werden, oder?

Christopher1
08.01.2007, 15:12
Find ich Klasse das sich jemand die Mühe macht ein Tutorial zu schaffen das wirklich für Anfänger ist. Es gibt ja so einige die nicht schlecht sind, aber meistens steht schon in dem 2 Satz das Grungkenntnisse vorausgesetzt sind. Ich glaube das wäre das erste Tutorial das wirklich für Anfänger geeignet ist. Ich kann aber auch die verstehen, die ein Tutorial machen das vom Niveau her höher ist, weil ich glaube nicht das ich das könnte (wenn ich ein Profi wäre), mir mit irgendwelchem Éinsteigerzeugs abzugeben. Ich hoffe das du es schaffst so schnell wie möglich auszubauen (bin selber Anfänger).
MfG Christopher

izaseba
08.01.2007, 16:27
Da ist ein Fehler im Code auf der Seite

:oops:
In der Tat, hab ich ein copy/paste zu wenig gemacht ](*,) , danke für den Hinweis...

Gruß Sebastian