- 3D-Druck Einstieg und Tipps         
Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 69

Thema: Intel Galileo Board

  1. #11
    HaWe
    Gast
    Anzeige

    LiFePo4 Akku selber bauen - Video
    hi,
    alles klar, danke für die Info!

    Ganz wichtig wäre für mich noch zu wissen, wie das Teil mit Timer-IRQs zurecht kommt.
    Beim Mega verwende ich AVR-Timer IRQs,
    beim Due die DueTimer lib.
    Beides brauche ich, um im 250µs-Rhytmus in Echtzeit 12-18 DPins für die Quadraturencoderstellungen abzufragen.

    Wie geht das mit den IRQ-Timern aber beim Galileo?

    Anderes Thema ist Multitasking.
    Beim Due verwende ich die Scheduler lib, weil sie einfach konfigurierbar und steuerbar ist, leider ist das MT nur kooperativ (für die geringen Anforderungen aber ausreichend).
    Bei gpp C für Linux (EV3) habe ich auch schon POSIX pthread benutzt, ist auch recht einfach zu handhaben und sogar preemptiv, hier kann man über die Zeitscheiben dann auch sehr langwierige Berechnungen pseudo-parallel und trotzdem quasi in Echtzeit durchführen (parallele Mustererkennungen über FFT und Neuronale Netze oder auch Routen-Neuplanung über Astar, die jeweils ein paar Sekunden dauern können, und trotzdem Echtzeit-Navigation per Odometrie und Sensor-Fusioning mit Kalman bei derweil fahrenden Robotern).

    Wie ist also MT bei Galileo-Sketch geregelt?
    Geändert von HaWe (10.12.2014 um 09:25 Uhr)

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Das Ding ist ein Pentium, kein Mikrocontroller. Timer IRQs wie beim AVR gibt es da wahrscheinlich gar nicht. Die Arduino-Software für den Galileo implementiert meines Wissens nach gar keine Timer. Aber einige andere Dinge, wie ein Ethernet-Shield, werden simuliert.

    Wenn er unter Windows läuft, geht natürlich Windows Multithreading. Aber mit Echtzeit ist unter Windows nicht viel zu machen.

  3. #13
    HaWe
    Gast
    zu den Timer IRQs: auch der Due ist kein AVR, sondern ein 32-bit ARM Cortex, und auch der hat Sketch Timer-IRQ-Libs!
    (#include <DueTimer.h> )
    Also müsste man doch auch für den Galileo Timer-IRQs erwarten dürfen!

    zum MT: was gibt es da fürs Galileo-Sketch? Galileo ist ja Linux-basiert und Sketch verwendet auch (verdeckt) gpp C/C++, und für Linux gibt es POSIX-Libs, die man per gpp C #includen kann -
    (#include <pthread.h>)
    was geht also hier beim Galileo mit Sketch?
    Geändert von HaWe (10.12.2014 um 09:51 Uhr)

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Lade die Arduino IDE runter und probiere es
    https://communities.intel.com/docs/DOC-22226

  5. #15
    HaWe
    Gast
    ich habe doch gar keinen Galileo, was soll ich da installieren?
    Was ich bräuchte, wäre eher eine Art doxygen-help-files oder ein Programmer's Guide, wo man per Schlagwortsuche entsprechende Programmierbeispiele findet mit Querverweisen etc, ähnlich wie hier für den NXT:
    http://bricxcc.sourceforge.net/nbc/n...30af5ddd145b75

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    In der Arduino IDE gibt es einen Button um das Programm zu checken, ohne es zu übertragen. Damit kannst du zumindest prüfen, ob Sachen wie pthread im Prinzip gehen.

    Die IDE wird auch, wie die Zip-Version der normalen Arduino 1.5.x, nur entpackt nicht installiert.

    Doku ist auch wieder bei MS besser:
    http://ms-iot.github.io/content/SampleApps.htm
    http://msdn.microsoft.com/en-us/libr.../bg126469.aspx

  7. #17
    HaWe
    Gast
    ach so ist das! Danke, gucke sofort nach!

    - - - Aktualisiert - - -

    hmmh...
    kann da nichts zu Timer-IRQs und Multitasking per Sketch 1.5.3 finden
    ps,
    pthread müsste sich ja auch bereits auf dem Linux-Image befinden, wenn es nicht schon dort ist, geht es nicht (ist iwie ein kernel-Modul oder so, kenne mich damit aber nicht aus).

    Was man also bräuchte, wäre eine ganz klare und eindeutige Beschreibung und Anleitung mit Beispiel-Sketchen, wie man IRQs und MT per Galileo-C-Sketch impementiert!
    Geändert von HaWe (10.12.2014 um 12:09 Uhr)

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo,
    Zitat Zitat von Mxt Beitrag anzeigen
    Das Ding ist ein Pentium, kein Mikrocontroller. Timer IRQs wie beim AVR gibt es da wahrscheinlich gar nicht. Die Arduino-Software für den Galileo implementiert meines Wissens nach gar keine Timer.
    Das Eine hat mit dem Anderen nichts zu tun.

    - Beim Mikrocontroller ist einfach alles auf einem Chip, CPU, RAM, ROM, Und die ganze Peripherie (Ports, Timer, UART usw.).
    Der Mikrocontroller ist ein, ohne zusätzliche externe Chips, voll funktionsfähiger Computer.

    - Bei der klassische CPU ist nur die CPU auf dem Chip, evtl. noch die Takterzeugung, Memory Management, DMA und Cache. An Eingängen gibts es nur Reset, NMI, IRQ und noch welche um den Bus Freizuschalten und für WAITs.
    Hier benötigt man noch jede Menge zusätzliche Hardware um einen Computer zu haben.

    - Die Intel Quark sind SoC (Systen on Chip).
    Da ist ein ganzer PC auf dem Chip, also fast alles was sich normalerweise auf dem Mainboard befindet.
    Allerdings benötigt man noch externen Speicher um einen funktionierenden Computer zu erhalten.
    Beim Intel Galileo wird ein Intel Quark SoC X1000 verwendet.

    Welche CPU bei den 3 Varianten verwendet wird, ist grundsätzlich egal.

    Praktisch ist das Ganze nur eine Kostenfrage. Kosten verursacht hauptsächlich die Chipfläche und der verwendete Prozess. Je nach Strukturgrösse bekommt man eine bestimmte Anzahl Transistoren auf 1mm2 unter.
    Nun muss man halt entscheiden ob man mit den Transistoren lieber RAM und ROM macht und eine einfache CPU oder halt umgekehrt.

    Bei der RISC-Idee ging es eigentlich darum, eine CPU mit wenig Transistoren zu haben. Mit einem Teil der gesparten Transistoren konnte man dann noch zusätzliche Register spendieren.
    Bei der Analyse von RISC-Programmen hatte sich gezeigt, dass viele der komplexen Befehle nur selten gebraucht werden, aber natürlich jede Menge Transistoren zur Implementierung benötigen. Um Transistoren bei CISC einzusparen, verwendete man µCode. Jeder CPU-Befehl wurde als kleines internes Programm auf der CPU ausgeführt, was natürlich mehrere Taktzyklen zur Ausführung benötigt. Bei RISC werden die meisten Befehle in einem Takt ausgeführt.


    Der erste RISC-µP war eigentlich der 6502.Die Idee der ehemaligen 6801-Entwickler war es, mit möglichst wenigen Transistoren, und somit kleinem Chip, einen günstigeren Prozessor zu entwickeln. Es gab anfänglich einen 6501, welcher pinkompatibel zum 6801 war, der wurde dann aber gerichtlich verboten.
    Der 6502 brauchte dann im allgemeinen für die Befehlsabarbeitung einen Takt pro Speicherzugriff. Da die Adressberechnung nur mit 8-Bit durchgeführt wurde, musste ein interner Takt eingefügt werden, wenn sich ein Übertrag vom LSB zum MSB ergab. Wegen der einfacheren Logik, machte die CPU einfach einen Dummy-Lesezugriff mit dem Zwischenresultat der Adressberechnung.

    Dieses Verhalten bedingte dann ein Umdenken bei den Peripherie-Bausteinen. Bis dahin war es üblich, beim lesen eines Statusregisters, dieses dabei gleich zurück zusetzen. Beim 6502 konnte dies dann aber durch einen Dummy-Zugriff versehentlich geschehen
    Also musste man zum Zurücksetzen extra einen Schreibzyklus verwenden.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  9. #19
    HaWe
    Gast
    nochmal zurück zu meiner Frage, denn das ist der eigentliche Knackpunkt:

    zu den Timer IRQs: auch der Due ist kein AVR, sondern ein 32-bit ARM Cortex, und auch der Due hat Sketch Timer-Interrupt -Libs!
    (#include <DueTimer.h> )
    Also müsste man doch auch für den Galileo Timer-Interrupts erwarten dürfen- wie geht das also genau (z.B. alle 250µs) ?

    zum MT: was gibt es da fürs Galileo-Sketch? Galileo ist ja Linux-basiert und Sketch verwendet auch (verdeckt) gpp C/C++, und für Linux gibt es POSIX-Libs, die man per gpp C #includen kann -
    (#include <pthread.h>)
    was geht also hier beim Galileo mit Sketch für Multitasking?

    Was man also bräuchte, wäre eine ganz klare und eindeutige Beschreibung und Anleitung mit Beispiel-Sketchen, wie man Zimer-Interrupts und MT per Galileo-C-Sketch impementiert!

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Vielleicht habe ich mich ungünstig ausgedrückt. Das Ding ist ein PC mit Pentium Prozessor. Deshalb läuft auch Windows drauf. PCs haben keine solchen Timer wie AVRs.

    @HaWe Eine pthread.h müsste aber in der Arduino IDE sein. Dort ist ja auch der g++ mit seinen Headerdateien. Es wird ja nur die fertig übersetzte Datei ins Linux kopiert.

    Das Linux kommt übrigens in eine Datei (!) auf der SD-Karte. Da die Karte mit Fat32 formatiert ist, kann die Datei und damit der Speicherplatz des Linux nie größer werden als 4 GB. Unter Windows stehen dagegen die ganzen maximalen 32 GB einer SDHC-Karte zur Verfügung. SXDC-Karten kann die Hardware nicht verwenden.

Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte

Ähnliche Themen

  1. Intel Galileo
    Von Mxt im Forum Arduino -Plattform
    Antworten: 4
    Letzter Beitrag: 23.08.2014, 20:47
  2. Intel Galileo: Generation 2 im August
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 15.07.2014, 16:40
  3. Poster von Intels Galileo-Board
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 13.01.2014, 17:00
  4. Test: Intels Galileo-Board
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 09.12.2013, 18:00
  5. Intel MCS-96 Board
    Von TheDarkRose im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 21.04.2011, 08:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress