Ich habe mir mal den Code hier angeschaut
https://github.com/kcuzner/kos-avr/blob/master/src/kos.c
Und mal versucht auf meinem Xmega zum laufen zu bringen.
sollten ja die gleiche Cores sein ?
Der Code schien mir simpel um mal einen Einstieg in Scheuleder zu haben
dabei bin ich auf einem Problem gestoßen er funktioniert bei mir nicht.
Genaugenommen habe ich den verdacht das der Controller nach
kos_dispatch(task);
abstürzt.
Mache ich mal darauf fest das er immer wieder die selben Zeichen per
UART ausgibt und Zeichen nach der dispatch dann Gehtnichtmehr.
selben test mit einer LED einschalten gemacht. Vor dispatch bekomme ich
sie immer ran, nach dispatch nicht mehr.
leider bin ich absolut kein Assembler Profi, bin aber den kos_dispatch
mal durchgegangen (auch mit dem LED test) und es sieht aus als ob der
Rücksprung den Crash verursacht.
MFG Matthias
EDIT: Meine main
Matthias T. schrieb:> Ich habe mir mal den Code hier angeschaut>> https://github.com/kcuzner/kos-avr/blob/master/src/kos.c> Genaugenommen habe ich den verdacht das der Controller nach> kos_dispatch(task);> abstürzt.
Nö. Der landet einfach im Idle-Task des "OS" und dreht dort endlos seine
Runden...
Weil: es gibt in deinem Programm nix, was ihn davon wieder abbringen
könnte...
Dazu wäre eine ISR nötig, die deinen Semaphor signalisiert. Dann würde
the_task mal wieder zum Zuge kommen...
Kurzfassung: Du hast einfach nicht verstanden, was die Scheiße
eigentlich tut (und vor allem: was sie NICHT tut...).
Da dich der Code offensichtlich überfordert: Wie wäre es, erstmal das
README zu lesen? Da wird erklärt, wie das System funktioniert.
Im übrigen ist es nicht sehr gut. Es benutzt das T-Flag für eigene
Zwecke. Damit kann kein Task-Code sauber laufen, der das seinerseits
benutzt.
Solange aber kein Task mit dem T-Flag hantiert, läuft der Kram. Mehr
oder weniger... Entsprechend der Beschreibung im README.
Aber insgesamt ist dieser Scheduler ein schönes Beispiel für völlig
nutzlosen, absolut sinnbefreiten Code. Viele Bytes Ram und Flash
benutzt, um letztlich praktisch nix nützliches zu tun. Sieht mir nach
einer akademischen Übung aus, nicht nach etwas, was irgendwie für einen
praktischen Einsatz gedacht ist.
naja das er nur im Idel ist kann nicht stimmen!
Denn wie gesagt er gibt das LOOL immer wieder in einer schleife aus.
und das nicht mal vollständig !
Meine Erwartung währe gewesen da es für testzwecke ist das er einmal das
LOOL
ausgibt und dann eben im Idel landet, tut er aber nicht ! wenn ich den
LED code in den muster Task einfüge gehen sie auch nicht an. D:H der
Task wird gar nicht angesprochen ! bzw wie gesagt der MCU crasht! ist
der LED code hinter dem KOS run passiert auch nix, da die uart Zeichen
immer kommen muss er also das Programm von vorne abspielen.
Schade das du nicht auf normaler und un beleidigende ebene kommunizieren
kannst!
MFG
Matthias
my2ct schrieb im Beitrag #6136018:
> Schade, dass manche die Wahrheit nicht vertragen können und dann> plötzlich vom eigentlichen Problem auf ein Thema überwechseln, dass eher> in den Kommunikationswissenschaften einzuordnen ist.
Jedes Posting hat meist/immer fachliche und soziale Aspekte.
Unvermeidbar.
Und, dass unser C-Hasser irgendeine neurotische Fehlanpassung mit sich
rum trägt, ist ja nun wirklich nix neues.
In Sachen sozialer Kompetenz bewegt er sich bestenfalls auf der Höhe
einer Bordsteinkante.
PS:
> Wenn irgendwo eine Schraube locker ist,> liegt es meist an der Mutter.
Naja da ich gerne Hilfe will und nicht nur still rumsitze .... und
raum-jaule. oder Probleme in der Kommunikationswissenschafte suche ...
Rein mal so was hat es mit Wahrheit verkraften zutun wenn man probiert
und spielt um zu lernen und an gewissen punkten mal nachfrag.....
Egal für die die noch mitlesen und Sinnvolles posten wollen.
Ich habe auch mal folgenden Scheuleder probiert.
https://github.com/kuro68k/xmultitasking
Der ist auch für Xmegas ausgeschrieben und lief out auf The box.
D.H scheint es im AVR cote zwischen den Generationen doch unterscheide
zu geben.
Die man auf die schnelle als Anfänger nicht sieht!
Arduino Fanboy D. schrieb:> In Sachen sozialer Kompetenz bewegt er sich bestenfalls auf der Höhe> einer Bordsteinkante.
Also etwa so wie deine fachliche...
Na schau'n wir mal, was dem TO bei seinem Problem mehr hilft, die harten
Fakten oder die sozialkompetenten Wattebällchen auf seiner
verletztlichen Seele...
Also ich würde doch ganz stark auf ersteres tippen...
Hügo schrieb im Beitrag #6136020:
> Genau! Frag dort nach! Hier wirst eh nur dumm angelabert...
Mit Dumm kennst Du Dich wohl aus.
Mein Hinweis war durchaus ernst gemeint. Wenn Matthias ein "RTOS" nutzen
will, von dem der Entwickler schreibt:
"... There are many other options available which are likely better
written and easier to use, but I'm going to have more fun doing it this
way. ..."
dann soll er bei Problemen halt dort nachfragen. Wer soll sich denn hier
mit einem Exoten auskennen? Der Entwickler hat eine eigene Homepage und
ist dort auch aktiv.
Hugo H. schrieb:> Wer soll sich denn hier> mit einem Exoten auskennen?
Natürlich niemand, einschließlich meiner Wenigkeit.
Aber: der Code ist so kurz und das README erklärt seine Funktion so
treffend, dass jeder Nicht-Vollidiot den Kram zum Laufen bekommen
sollte.
Und übrigens: Nein, es hat exakt nix mit "classic AVR8 cores" vs. "XMega
cores" zu tun. Es gibt natürlich Unterschiede zwischen diesen Cores,
aber keiner davon hat bezüglich dieses Codes IRGENDEINE Relevanz. Wenn
man mal davon absieht, dass der Code auf den ganz kleinen klassischen
Tinys mit nur 16 Registern natürlich nicht lauffähig ist. Aber das würde
schon beim Compilieren mit den entsprechenden Fehlermeldungen quittiert
werden, weil halt R0..R15 dort nicht existieren. Außerdem würde auf
diesen Teilen auch der RAM nicht reichen und es gäbe keinen
Stackpointer. All das würde auch bereits zur Compilezeit gemeldet
werden.
Fakt ist: der Code ist so, wie er ist auf jedem AVR8 mit dem vollen
Registersatz lauffähig. Wenn man weiß, wie er zu verwenden ist. Ende der
Ansage.
Issue ist schon offen. Mir ist auch durchaus klar was der Autor
geschrieben hat, soll ja nicht gleich ins produktive wandern, aber um es
mal zu probieren spielen testen warum nicht.
Wie will man denn sonst Erfahrung und ein Gefühl dafür bekommen.
Sind ja nicht alle mit Fachwissen vom himmel gefallen.
Matthias T. schrieb:> Issue ist schon offen.
OMG
Genau deswegen vermeide ich es weitestgehend, Code zu publizieren...
Jeder grenzdebile Vollidiot, der nur zu doof ist, zu begreifen, wie der
Code zu nutzen ist, weil er einfach nicht versteht, was der Code tut,
macht einen "Bug"-Report...
Es ist praktisch unmöglich (jedenfalls mit akzeptablem Zeitaufwand) aus
dieser Flut von Reports die rauszufischen, die einen tatsächlichen
Fehler melden...
Deswegen ist auch meine Hochachtung vor jenen, die sich diesen
Widrigkeiten freiwillig aussetzen, sehr hoch.
Bombing for Peace bekommt in diesem Forum einen völlig neuen
Zusammenhang. Vielleicht sollten die USA mal die Mikrocontroller-Server
zerbomben.
Anders ist das Klima hier nicht mehr auszuhalten.
c-hater schrieb:> Es ist praktisch unmöglich (jedenfalls mit akzeptablem Zeitaufwand) aus> dieser Flut von Reports die rauszufischen, die einen tatsächlichen> Fehler melden..
Es geht hier nicht um Fehler - es geht um Fragen zur Anwendung. Mir
persönlich ist diese Entwicklung vollkommen egal - aber wenn ich Fragen
hätte würde ich die dort stellen - und nicht hier.
Bombing for piece schrieb:> Bombing for Peace bekommt in diesem Forum einen völlig neuen> Zusammenhang. Vielleicht sollten die USA mal die Mikrocontroller-Server> zerbomben.>> Anders ist das Klima hier nicht mehr auszuhalten.
Schade um das Forum war mal anders.
Liegt aber auch nicht an den mods, obwohl da mal ein Machtwort fallen
könnte. (die es wohl auch schon leid sind)
Liegt an so Menschen!
Matthias T. schrieb:> schade um das Forum war mal anders.
Ja. Damals(tm) waren die Leute mit weniger Ahnung noch bereit zum
Lernen...
Heute herrscht Anspruchsdenken vor: Keinen eigenen Gehirnschmalz
investieren zu müssen und am Besten den benötigten Code für das konkrete
Problem von irgendwem anders für lau zu bekommen. Am besten dann auch
noch sofort, sonst wird die Anfrage hochgepusht...
Danke ! machst du ja quasi dann für mich die letzten 24 Stunden fleißig
!
PS : ich hab nirgends Code verlangt das war ne Frage auf den Crash.
Wo du ohne Praktisch mal versucht hast zu probieren ob es wirklich auf
nen Xmega läuft einfach meine Intelligenz angreifst und das gegenteil
behauptest.
Danke fürs das (nicht)lesen.
Matthias T. schrieb:> Wo du ohne Praktisch mal versucht hast zu probieren ob es wirklich auf> nen Xmega läuft einfach meine Intelligenz angreifst und das gegenteil> behauptest.
Warum sollte es irgendjemand probieren wollen? Du willst das - dann
frage doch den, der es entwickelt hat. Bist Du der englischen Sprache
nicht mächtig? Google translate hilft da schon (radebrechend - aber
immerhin).
wie gesagt ist schon erledigt, ich gebe zu es ging mir auch darum Leute
wie c-hater etwas in die schranken zu weißen, so ein Umgang geht einfach
gar nicht und erschreckt bestimmt viele die gerade erst anfangen!
Matthias T. schrieb:> Der Code schien mir simpel um mal einen Einstieg in Scheuleder zu habenMatthias T. schrieb:> ich gebe zu es ging mir auch darum Leute> wie c-hater etwas in die schranken zu weißen, so ein Umgang geht einfach> gar nicht und erschreckt bestimmt viele die gerade erst anfangen!
Passt für mich nicht zusammen. Sorry.
Kann auch nicht zusammenpassen sind ja zwei verschiedene Dinge.
Das eine war der eigentliche zweck, das andere hat er selber
heraufbeschworen.
Mach ich schon schon die ganze Zeit du Troll ich amüsiere mich über
dich, was erwartet du denn sonst das ich dir drohe ? und dich beleidige.
Sorry dann wäre ich ja auf deiner Ebene da wollte ich die nächsten 99
Jahre eigentlich nicht hin.
Matthias T. schrieb:> Und was meinst du da kommt nix mehr, ich arbeite halt nebenbei und schau> nicht alle 5 Minuten nach dem Troll :)
Wenn du dermaßen abgelenkt bist, verstehe ich auch, dass du auf den
kleinen Unterschied zwischen Scheuklappen und Scheduler keinen
besonderen Wert legst.
Sorry
sorry Wolfgang das hat mit Scheuklappen nichts zutun von c-hater kam
nicht verwertbares oder getestetes, Hugo hat mir den guten Tipp gegeben
mich an den Entwickler zu wenden was ich inzwischen auch getan habe.
eine Email und ein Issue ist halt kein Schlagabtausch wie beim Boxen ...
und dauert
Und klar bin ich angelenkt ich mache eben sinnvolle Dinge und spiele mit
dem neuen Scheduler Code den ich verlinkt habe ....
Matthias T. schrieb:> Und klar bin ich angelenkt ich mache eben sinnvolle Dinge und spiele mit> dem neuen Scheduler Code den ich verlinkt habe ....
Dann sollte man den Thread doch wohl schließen.