Hallo, ich möchte auf einem SMT32F4 mit FreeRTOS einen Webserver aufbauen, der 1-wire Daten einliest, auf SD-Karte speichert und diese dann auf einem Webserver zur Verfügung stellt. LCD-Anzeige kommt dazu. Dazu sind mehrere Tasks geplant: - Webserver mit IP-Stack - Datenerfassung - LCD-Anzeige mit Meüführung etc. Nun greifen alle 3 Tasks auf die SD-Karte zu. Kann das nicht Probleme geben? Sollte man eventuell einen 4. Task spendieren, der nur für die Kommunikation mit der SD-Karte zuständig ist und Lesen und Schreiben als Service zur Verfügung stellt? Leider kann ich keine frei verfügbare Dokumentation zum FreeRTOS finden, das macht die Einarbeitung nicht gerade einfach. VG, Pete
Pete K. schrieb: > Leider kann ich keine frei verfügbare Dokumentation zum FreeRTOS finden, Wie jetzt? http://www.freertos.org/RTOS.html Da gibt es doch einiges? Oder was meinst du jetzt mit Dokumentation? Pete K. schrieb: > Nun greifen alle 3 Tasks auf die SD-Karte zu. Kann das nicht Probleme > geben? Du solltest dich denke ich mit den Mitteln der Interprozesskommunikation und Prozesssynchronisation beschäftigen bevor du dich tiefergehend mit einem nebenläufigen OS beschäftigst. Stichwort Mutex / Semaphor
:
Bearbeitet durch User
Den Begriff den du suchst heißt "Thread safe". Die Frage ist also ob das FreeRTOS Dateisystem (welches ich nicht kenne) Thread safe ist. Kommerzielle Dateisysteme wie Segger emFile bieten das von Haus aus, sprich du kannst es einfach einschalten und kannst dann von mehreren Tasks aus Filesystem API Funktionen ohne Probleme aufrufen. Letzlich stecken dahinter natürlich Semaphoren, mit denen ein konkurriender Zugriff gelockt wird.
Dominik S. schrieb: > Da gibt es doch einiges? Oder was meinst du jetzt mit Dokumentation? Ich meinte so eine Art Tutorial "Erste Schritte", gerne auch in PDF-Form. Oder muss man die Bücher kaufen, damit man damit wirklich programmieren kann? Wenn dem so ist, dann muss ich mich wohl nach einem anderen RTOS umschauen, denn 50€ für Bücher wollte ich nicht ausgeben, dafür lohnt sich meine kleine Anwendung nicht.
Pete K. schrieb: > Dominik S. schrieb: >> Da gibt es doch einiges? Oder was meinst du jetzt mit Dokumentation? > > Ich meinte so eine Art Tutorial "Erste Schritte", gerne auch in > PDF-Form. Die Schwierigkeit ist, dass man Multitasking, was einem da so alles passieren kann und wie und warum man die Sachen dann korrekt angeht, nicht einfach so aus dem Ärmel schüttelt. Auf der Uni war das zu meiner Zeit eine komplette Semester-Vorlesung samt Übungen. > Wenn dem so ist, dann muss ich mich wohl nach einem anderen RTOS umschauen Die Frage ist eher, ob du überhaupt ein RTOS brauchst. Mit dem Multitasking des kleinen Mannes (Timer samt Interrupt), sowie grundlegenden Kentnissen in der Programmierung kann man auch vieles erreichen. Sicher, ein RTOS ist eine Hilfe, weil es den Routinekram erledigt. Aber man muss auch erst mal damit umgehen können. Und dann heißt es nicht mehr, ich mach mir das so wie ich es für richtig halte, sondern: ich muss nach den Regeln des RTOS spielen. Aber letzten Endes kannst du es drehen und wenden wie du willst: In der Informatik gibt es nichts 'for free'. Man muss, insbesondere auf den kleinen Systemen, die nicht so ausgefuchst wie Linux oder Windows sind, muss man schon zumindest ungefähr wissen, was da im Hintergrund abläuft, was sich daraus ergibt, und wie man die Problemstellen in den Griff kriegen kann. Auspacken - Einschalten - Geht. Das funktioniert bei Kühlschränken. Aber nicht in der Programmierung. Ein RTOS ist kein Allheilmittel für fehlendes Können.
:
Bearbeitet durch User
Karl Heinz schrieb: > Auf der Uni war das zu meiner > Zeit eine komplette Semester-Vorlesung samt Übungen. Ja, meine Vorlesung zu diesem Thema ist auch schon "etwas" länger her :-)
Pete K. schrieb: > Ich meinte so eine Art Tutorial "Erste Schritte", gerne auch in > PDF-Form. Ich finde, dass man mit dem "getting started" auf der Homepage in Kombination mit der Beispielapplikation ganz gut zurecht kommt, wenn man sich etwas einarbeitet. Wenn einem natürlich alle Grundlagen für RTOS / Multitasking fehlen ist das ganze, wie Karl Heinz, natürlich etwas komplizierter.
Karl Heinz schrieb: > Ein RTOS ist kein Allheilmittel für > fehlendes Können. Das "Können" möchte ich mir ja gerne aneignen. Das hier eine Lernkurve zu durchschreiten ist, ist mir bewusst. Macht ja auch Spaß.
Wenn du mit drei Taks auskommst, was spricht gegen eine Trial Version des embOS? http://segger.com/downloads.html?pid=27 Dokumentation gibt es hier: http://segger.com/admin/uploads/productDocs/UM01001_embOS_Generic.pdf Sooo schwer ist das jetzt auch nicht mit einem RTOS umzugehen, zumindest hat embOS bei mir immer out of the box funktioniert.
Ja, das embOS gefällt mir von der Doku her ganz gut. Gibt es eine Übersicht über die Beschränkung einer Eval-Licence? Ich habe auf der Homepage hierzu keine Angaben gefunden.
Die technische Beschränkung ist ganz einfach: Wenn du mehr als drei Tasks anlegst, läuft das embOS nur 12 Stunden nach einem Reset. Mit drei Tasks kann man aber schon eine Menge machen, weil man auch eine ganze Menge mit embOS Software Timern erschlagen kann. Wie das Lizenztechnisch aussieht, also ob du die Trial Version für dein Hobbyprojekt einfach so einsetzen kannst, weiß ich nicht. Kann mir aber nicht vorstellen das Segger jetzt damit ein großes Problem hat, im Zweifelsfall einfach mal kurz anrufen und fragen.
Guest schrieb: > Wie das Lizenztechnisch aussieht, also ob du die Trial Version für dein > Hobbyprojekt einfach so einsetzen kannst, weiß ich nicht. Kann mir aber > nicht vorstellen das Segger jetzt damit ein großes Problem hat, im > Zweifelsfall einfach mal kurz anrufen und fragen. Ok, habe gerade einfach mal mit jemanden von Segger gesprochen, ist kein Problem, solange es nicht kommerziell ist, kann man das gerne machen.
Hmm, wenn ich mal >3 Tasks brauche, dann ist mir das embOS zu teuer. Und dann wieder in ein neues RTOS einarbeiten macht auch keinen Sinn. Ist wohl eher etwas für Firmen. Ich schau mir jetzt mal chibios etwas genauer an.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.