Wir möchten deine Tutorials nicht kritisieren oder so, sondern nur weitere Anregungen geben
Ich bin auch ein wenig vorbelastet, weil "echtes" preämptives Multitasking ein wichtiger Teil meiner Diplomarbeit war. Ich weiß wie schwierig das ist - ich habe meine Flüche nicht gezählt *g*
Was auch oft gemacht wird ist kooperatives Multitasking, wo die einzelnen Tasks nur eine kleinigkeit machen und danach ihren Status speichern und die Kontrolle abgegeben - dann kann die CPU schlafen, bis der Timer wieder zuschlägt. Gerade bei Tasks, die nicht viel rechnen, sondern hauptsächlich kontrollieren und so möchten ist das ziemlich effizient.
dunkels.com/adam/pt/ klingt relativ gut - verwendet kein preämptives Multitasking, hat aber sehr wenig Overhead
www.avrfreaks.net/modules/FreaksArticles/files/14/Multitasking%20on%20an%20AVR.pdf - eine ganz gute Beschreibung, wie man preämptives Multitasking in 99% C hinbekommt
Man muss da glaube ich nur in wenig mit dem Tick aufpassen. Das kritischte, der Kontextwechsel an sich, kann man aber so übernehmen - und der ist der einzige Teil, der in Assembler geschrieben ist
www.mikrocontroller.net/topic/74026 - gefällt mir persönlich am besten. Das sollte einfach so laufen, und macht nichts anderes als präemptives Taskwechseln. Die Signalimplementierung finde ich auch schön. Dabei kann sich ein Task schlafenlegen, bis er von einem anderen Task (oder IRQ) aufgeweckt wird. Weiter unten gibts auch eine zip-Datei zum herunterladen, man muss sich also nicht registrieren. Da muss man höchstens noch der avr atmega1284 eingetragen werden.