Hallo radbruch,
femtoos kannte ich noch nicht, gefällt mir aber ganz gut auf dem ersten Blick. AvrX ist mir als Assemblersource zu schlecht zu pflegen - was aber an meinen eingerosteten Kentnissen liegt. Das soll keine Wertung gegen AvrX sein.Zitat von radbruch
Da fällt mir ein.. man kann den mega32 auf dem rp6 doch sicherlich hochtakten oder? Ich hab mir das noch nicht angesehen weil ich 8 Mips für eine recht ordentliche Leistung halte. Aber sollte das zu einem Problem werden, wäre das sicher schnell zu beheben. Natürlich müsste man den UART anpassen usw... keine Ahnung... das Datenblatt des mega32 ist mir jetzt zu lang um das zu erforschen...Zitat von radbruch
Arm64? hihi. Ich überlege schon, mir eine LPC2138 Stamp auf das Experimentierboard zu löten. Leider nur ARM7 und nicht ARM9Zitat von radbruch
Aber langsam... da muss man eh genauer hinsehen. Auch OS'e wie rtos und femtos haben ISRs...und auf die kann man auch nicht verzichten wenn es um zeitkritische Dinge oder eben interne Interruptquellen geht. Das ist auch genau der Punkt wo ich sage, das die RP6Lib quasi unverzichtbar ist. Ich hab jedenfalls nicht vor alles am RP6 neu zu schreiben...
Man kann einen hardwarenahen Treiber wie z.B. für TWI oder Odometrie nicht nur mit "tasks" bauen. Und dafür reicht die cpu sicherlich aus denn sonst würde sie auch jetzt schon nicht reichen. Bei einem Footprint in der CPU Last von max 20% im schlechtesten Fall - und unter 1% im besten - reichen 16 Tasks auch dicke. Man braucht ja nicht für jeden adc Port ein eigenen Task. Ich schätze mal das man mit 4-8 Systemtasks satt hin kommt, da bleiben noch min. 8 als Usertasks...
Vielleicht ist das so.. ja.Zitat von radbruch
Wenn man von 30KB Flash auf einem M32 Modul noch 5 kb für eigene Programme Platz hat, ist es definitiv beschränkt sinnvoll. Die RP6Lib belegt aber allein auch schon einige kbs.. wenn man mit 2 zusätzlichen Kbs Multitasking hätte - wie es sich wohl mit femtos anbietet - lohnt sich das.. finde ich wenigstens.
Ausserdem wenn man ein 2.ten Prozessor wie die M32 auf dem RP6 hat, ist die Base eh als dummer i2c-slave kaum zu mehr in der Lage als die i2c-Befehle auszuführen. Auf der M32 braucht man aber viele der RP6Lib Geschichten nicht mehr und genau hier macht sich ein preemptives Multitasking perfekt. Da hat man dann nämlich nur 2 von 30Kb mit dem Femtos belegt und kann mit 16 tasks hantieren.. wenn man die denn auch alle braucht.
Ob das femtos auf der base was nutzt... naja.. keine Ahnung.. aber auf einer M32 nutzt es sicherlich!
hrhr .. naja jeder Prozessor ist hardwarenah... es kommt halt immer auf die Relation und letztlich auf die Umsetzung an. So wie du Tasks ablehnst, so lehne ich sleep und msleep ab... weil in der Zeit könnte auch ein anderer Task was leisten statt Prozesorzyklen zu verbrennen.Zitat von radbruch
Danke, Du ich bin da nicht festgelegt... wenn sich femtos als praktisch erweisen sollte, nehm ich auch dasZitat von radbruch
Es scheint mir schlanker als RTOS zu sein aber genau sowas wäre mal eingehender zu prüfen. Für mich spielt dabei z.B. auch eine Rolle ob das OS fehlerfrei compiliert wird, ich hab keine Lust OS-Bugs zu suchen und RTOS geht ohne Warnings mit gcc. hab ich eben schon mal probiert. Daran muss sich femtos z.B. auch messen lassen. Ich werds in jedem Fall mal testen.
LG Rolf
Lesezeichen