Wo steht das er Multithreading unterstützt? Controller unterstützen das doch eigentlich nie, höchstens ein Betriebsystem kann das unterstützen.
Moin,
da ich von den AVRs noch nicht so die Ahnung habe, aber demnächst damit anfangen möchte, hier eine Interessefrage:
Wie ich gelesen habe, unterstützt der AVRco Multithreading. Soweit ich das kenne ist dafür aber normalerweise ein Betriebsystem auf dem Chip nötig. Wieso ist das bei den AVRs nicht so? Wird da der Code direkt so "zusammengewurschtelt", dass eine Art Multithreading dabei herauskommt?
Gruß
Johannes
relaunched: http://www.mindrobots.de algorithms for intelligent robots
Wo steht das er Multithreading unterstützt? Controller unterstützen das doch eigentlich nie, höchstens ein Betriebsystem kann das unterstützen.
Das steht in der Anleitung zum AVRco:
Was kann der AVRco? Ein Überblick
[...]
Multitasking: Der Compiler ist in der Lage bis zu 15 Tasks und Prozesse zu verwalten. Zur Kommunikation zwischen den Tasks oder Prozessen
stehen Semaphoren und Pipes zur Verfügung.
relaunched: http://www.mindrobots.de algorithms for intelligent robots
Was ist denn "AVRco" überhaupt?
Das ist ein Pascal-Compiler für AVRs.
relaunched: http://www.mindrobots.de algorithms for intelligent robots
Ach so! Dachte du redest von reinem AVR Controller. Ein Compiler kann natürlich richtiges Multithreading unterstützen. Er produziert halt zusätzlichen Code eine Art MiniBetriebsystem was er in das generierte Programm einbaut. Dadurch ist normales Multithreading denkbar. Wie sinnvoll das ist, hängt von der Qualität des Compilers ab.
Ein "Nicht Multithreading Programm" kann durchaus effizienter sein
>Wie ich gelesen habe, unterstützt der AVRco Multithreading.
Ok, danke. Hatte mich doch gewundert, wie du ja auch eben
Gruß
Johannes
relaunched: http://www.mindrobots.de algorithms for intelligent robots
hier wird multithreading mit multiasking verwechselt.
multithreading: alle prozesse werden GLEICHZEITIG verarbeitet. normalerweise nimmt man dafuer mehrere prozessoren (fuer jeden prozess einen)
multiasking: ein prozessor verarbeitet mehrere prozesse scheinbar gleichzeitig, dies wird daduerch erreicht, dass zwischen den prozessen schnell abgewechselt wird ohne dass der anwender das merkt (kann trozdem stoeren).
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen daraus nicht abgeleitet werden.
Besonders VDE und die geltenden Gesetze beachten sowie einen gesunden Menschenverstand walten lassen!
Seit ihr euch sicher, dass mit AVRs nicht auch Multithreating möglich ist?
Leider finde ich die entsprechende ct grade nicht aber ich hab dieses Jahr erst(, da ich es nicht auf den Archiv-CDs finde) was zu diesem Thema gelesen, wie man selbst ein multithreating realisieren kann. Das war zwar mit einem anderen Mikrocontroller, aber das müsste auch mit nem AVR klappen.
Ich glaub man unterbricht mit nem Timer per Interrupts immer den aktuellen Thread und ruft den neuen in der Liste auf, auf diese weise kann man sogar Thread-Prioritäten realisieren.
Tja ich weiß es nicht.
Aber das mit Multithreading und Multitasking stimmt so nicht, jedenfalls wäre es mir sehr neu.
Auf Desktop PCs (mit normalerweise einer CPU) wird bei verschiedenen "Programmen" von Tasks gesprochen. Einzelne Threads sind denen untergeordnet. Das hat doch gar nichts damit zu tun, ob sie wirklich gleichzeitig oder nur scheinbar gleichzeitig ausgeführt werden.
Gruß
Johannes
relaunched: http://www.mindrobots.de algorithms for intelligent robots
Lesezeichen