Einfach nur OberAffenG... das Teil.
Demnächst möchte ich mir noch das GIGA Display Shield
zulegen und hoffe das es auch so problemlos läuft.
Begeistert bin ich von dem Gesamt-Konzept, wo doch
endlich auch an die Gesamt-Nutzung gedacht wurde.
Es passt alles direkt zusammen und blockiert nicht die
anderen Komponenten und die Möglichkeiten durch
das Paralel-Prozessing der beiden Kerne sind ja auch
extem.
Nun aber meine Frage zum GIGA-Board und seinen 2 Kernen.
Wie sieht es mit dem parallelen Zugriff der Kerne
auf die I-Os aus?
Muß man da programm-technisch aufpassen oder wird das intern ohne mein Zutun gemanaged?
Mir schwebt z.B. mein Super-Datalogger-Projekt vor,
wo der eine schnelle Task die Daten-Aufzeichnung und
Ablage auf Medium (USB oder SD) macht.
Den anderen langsameren Task würde ich gerne zur externen Kommunikation (Display-Handling, WLAN, BT oder Ethernet) nutzen.
Damit andere Geräte auch die Daten erhalten können.
Das kann ruhig "gemächlicher" ablaufen, sollte aber den
schnellen Prozess nicht beeinflussen.
Ebenso die Display-Verwaltung.
Sicherlich gibt es da viele Wege, das zu realisieren,
aber es geht erstmal um die Möglichkeiten, die zur Verfügung
stehen.
Danach möchte ich die Grundstruktur des Gesamten sinnvoll
planen.
Für Anregungen, wie ihr die Aufgaben-Verteilung
machen würdet, bin ich natürlich auch dankbar.
Allen ein Gruß und einen guten Rutsch ins neue Jahr.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
du mußt dich da selber drum kümmern wenn Task auf Core 1 auf gleiche HW wie ein weiterer Task auf Core 2 zugreifen soll. Mit Kernen hat das weniger zu tun als mit Multithread. Das Problem hast also auch mit Tasks am gleichen Core.
Ich rate Dir weitere Fragen auf englisch im für den GIGA zuständigen Forumsteil zu posten.
Versteh mich nicht falsch, ich mag Dich hier nicht verjagen, aber dort tummeln sich halt die User, die Fragen zum Teil haben und die, die das Teil kennen um Fragen zu beantworten.
solange sich der Programmcode nicht Gegenseitig ins Gehege kommt, sprich voneinander wirklich unabhängig arbeiten kann, sollte es relativ einfach sein. Doku lesen
Falls es jedoch los geht mit Ressourcenteilung von was auch immer, ja dann ...
@ardu_1394 freut mich sehr, dass dir das Board so gut gefällt! In der von @Doc_Arduino geteilten Dokumentation steht alles, was du zum programmieren der beiden cores brauchst.
Kurz gesagt bootest du den M4 core innerhalb des M7 core Programms mit:
Aber, kannst du mir deinen letzten Satz etwas genauer erläutern?
"Bezüglich den I-Os können beide Cores auf alle Pins zugreifen, nur wenn beide auf den selben Pin zugreifen ist es letztlich zufällig welcher gewinnt."
Meine Vorstellungen über die Rangfolge wären:
Inputs: Es steht nicht fest welche Abfrage von beiden zu erst liest.
Dann würde die andere Abfrage lesen. Folgt also: beide Abfragen lesen nicht unbedingt den selben Wert,
bekommen aber Werte.
Outputs: Es steht nicht fest welcher Ausgabewert von beiden zu erst gilt.
Danach würde der andere Ausgabewert gesetzt,
der letztendlich bleibt bis zum nächsten Schreibvorgang. Folgt also: Der eine kommt nur ganz kurz oder garnicht an der Peripherie an,
der andere bleibt dann bestehen,
man kann aber nicht vorhersagen welcher das ist.
Bitte um Entschuldigung,
das Fettschrift als Schreien gilt, war mir nicht bewusst.
Merke ich mir für die Zukunft und gelobe Besserung.
Ich wollte damit nur besser verdeutlichen, was Sinngemäß zusammen gehört.
Mir geht es nur darum, zu wissen, wie der Datensalat ausehen könnte.
Schreibzugriffe würde ich sowieso nur von einer Stelle aus machen.
Und bei meinem Data-Logger geht es mehr um das Einlesen.
Der Logger soll eh vorwiegend für Langzeit-Dokumentation von sich langsam ändernden
Meßwerten dienen(die Abweichung der Lesewerte wären gering oder nicht vorhanden).
Ich hoffe ihr versteht, was ich meine.