Hallo zusammen, mich interessiert grundsätzlich die Funktion solcher ARM Boards. Als großes Vorbild finde ich da den Raspberry Pi. Meine Frage: Was braucht man alles, um ein ARM Board a la Raspberry zu verwirklichen (außer ein großes Budget)? Dabei geht es mir nur um theoretisches, Ich habe nicht vor einen Raspberry "nachzubauen", das ist ja nicht mal eben gemacht. Wobei ich finde, dass beim Beispiel Arduino (kein ARM, klar) weniger die Hardware, sondern das Konzept die Entwickler, besser gesagt das Projekt "Arduino" berühmt gemacht hat. Finde ich. Hätte die Raspberry Pi Foundation nicht so ein "gutes" (sieht jeder anders) Konzept gehabt, wären die heute noch lange nicht da, wo sie jetzt sind. Was ich damit meine, dass oft das Konzept und weniger die Hardware, das eigentliche "wichtige", die Firma nach vorne bringt. Aber das ist was anderes und hat eigentlich gar nichts mit meiner Frage zu tun ;) Also was sind die Grundbausteine für so ein System? Der Prozessor mit der MMU, usw. Gibt es da zu empfehlende Lektüre? Danke! Gruß Max
1. Marketing 2. Marketing 3. Marketing 4. Preis Der Pi ist nicht wirklich technisch gut und war bei weitem nicht der erste seiner Art. Die Macher haben wirklich gutes Marketing gemacht, hatten eine gute Bauteilequelle (Beziehungen) und konnten damit einen Niedrigstpreis machen. Von der Technik her ist das Zeugs relativ altbacken.
schau dir doch die Referenzdesigns der Hersteller an, sowie deren Developer-Boards. Dann weißt du, wie die in der Regel aufgebaut sind;-)
Z.B. Cubieboard3 alias Cubietruck ( http://docs.cubieboard.org/tutorials/cb3/start ) oder OLinuxIno A20 ( https://www.olimex.com/Products/OLinuXino/A20/ ) ist möglicherweise interessanter, auch wenn das Raspberry-Marketing einfach besser ist ...
Max N. schrieb: > Also was sind die Grundbausteine für so ein System? Der Prozessor mit > der MMU, usw. Du hast da m.E. etwas komische Ansichten. Der allererste Grundbaustein für irgend ein Mikrocontroller-System ist die beabsichtigte Anwendung. Bei den üblichen Eval-Boards besteht die darin, irgend einen Chip zu präsentieren, um damit potentielle Kunden für diesen Chip zu gewinnen. Bei all den kleineren und größeren Einplatinen-Rechnern sieht das anders aus, da besteht das Ziel darin, diese Platinen zu verkaufen - und dazu müssen diese als möglichst universelle Baugruppen in Geräte oder Anlagen hinein passen, von denen der Platinenhersteller garnix weiß. Deshalb haben solche Platinen zumeist eine ganze Breitseite an unterschiedlichster Peripherie an Bord, einschließlich möglichst vieler einzelner I/O's, aber eben auch einschließlich solcher Peripherie wie Einbau-Display, Touch usw., wo sich viele Leute eher schwer tun, wenn sie sowas selbst entwickeln müßten. Bei Fertigplatinen sieht das noch viel anders aus, sowas landet in Navis, Tablets, Telefonen usw. Deshalb findet man hier zwar auch einiges an Standard-Schnittstellen, aber eher nichts an universellen I/O's. Solche Dinger sind für ihren Verwendungszweck die allerbesten Lösungen - aber eben wirklich nur für ihren gedachten Zweck. Deshalb ist so ein Gedanke an ein möglichst gutes ARM-Board schon vom Ansatz her verkehrt. Das Raspberry hatte mächtig Furore gemacht, mit Werbesprüchen a la "kompletter PC im Scheckkartenformat", aber im Grunde ist es überhaupt nicht großartig, sondern lediglich ein eher lausiges Spielzeug ohne Chance auf eine echte tragfähige Anwendung. Das fängt mit der praktisch nicht vorhandenen Befestigung an, geht über die für Geräte- und Anlagen-Bau völlig unzureichende Peripherie weiter und setzt sich fort bis in ein für praktische Zwecke unbrauchbares Betriebssystem, was ewig zum Booten braucht und nebenher die SD-Karten durch viel zu viele Schreibvorgänge ruiniert. Dagegen nehmen sich solche Teile wie die Colibri's von Toradex oder die Armstone & Co. von F&S geradezu grandios aus, mit nennenswerten I/O's, mit LCD-Schnittstellen, mit Windows CE im ROM (jaja, WinCe ist für sowas besser, da explizit für derartige Geräte entwickelt) und geringen Bootzeiten. Habe selber schon gesehen, daß so ein Colibri binnen 0.5 Sekunden gebootet hat. Sowas ist für Geräteentwicklungen brauchbar - hingegen Linux-Bootzeiten von 40 Sekunden und mehr eben nicht. So. Der Rest, also was für eine Prozessorbasis, wieviel RAM und dergleichen richtet sich nach der Anwendung und BS. Ich hab Organizer gesehen, die mit 8 MB RAM und Symbian funktionabel waren, solche mit 32 MB RAM, auf denen ein WinCe bereits ordentlich läuft, Navis die mit 128 MB RAM auch für aktuelle Navisoft geeignet sind, und Tablets, bei denen 256 MB RAM bereits zu wenig ist, um die Android-Version einer Navisoft ordentlich laufen zu lassen. Es ist wie die Büchse de Pandora: alles drin, vom Champion bis zum Versager. W.S.
W.S. schrieb: > Deshalb ist so ein Gedanke an ein möglichst gutes ARM-Board schon vom > Ansatz her verkehrt. Das Raspberry hatte mächtig Furore gemacht, mit > Werbesprüchen a la "kompletter PC im Scheckkartenformat", aber im Grunde > ist es überhaupt nicht großartig, sondern lediglich ein eher lausiges > Spielzeug ohne Chance auf eine echte tragfähige Anwendung. Das fängt mit > der praktisch nicht vorhandenen Befestigung an, geht über die für > Geräte- und Anlagen-Bau völlig unzureichende Peripherie weiter und setzt > sich fort bis in ein für praktische Zwecke unbrauchbares Betriebssystem, > was ewig zum Booten braucht und nebenher die SD-Karten durch viel zu > viele Schreibvorgänge ruiniert. Nun, für die Anwendungszwecke, für die du ihn dir vorstellst, ist der Raspi auch nie konzipiert gewesen. Die Idee war, einen Bastelcomputer für Kinder und Jugendliche zu bauen, da es etwas flexibles wie den C64 heute so nicht mehr gibt - weder beim PC, noch bei Handy/Tablet. Damit sich jeder so ein Ding leisten kann, sollte das ganze so billig wie möglich sein, auch wenn das Einschränkungen bezüglich der Leistungsfähigkeit bedeutet. Die Software dazu sollte von einer entsprechenden Community kommen. Daß heute die meisten Anwender völlig falsche Vorstelleungen haben und glauben, das Ding für seine Maschinensteuerung als vollwertige industrietaugliche SPS mit Bootzeiten von 100ms und jedem erdenklichen Bussystem und hunderten von I/O-Pins missbrauchen zu können, dafür können die Macher des Raspi ja nichts. Wer glaubt, so eine Hardware für 30 Euro bekommen zu können, hat eh einen an der Waffel.
Der Witz ist, dass so ein Raspberry Pi für Kinder gar nicht günstiger ist, als ein Netbook. Ich schreib mal grobe Preise auf: Raspberry Pi: 40 Euro Gehäuse: 10 Euro Netzteil: 10 Euro Speicherkarte: 10 Euro Monitor: 100 Euro Tastaur: 10 Euro Maus: 10 Euro Macht zusammen: 190 Euro Ab 10 Euro mehr bekomme ich ein Netbook mit WLAN und ordentlicher Festplatte und mobiler Nutzbarkeit. Für 90 Euro weniger bekomme ich ein Tablet. Damit kann man auch Basteln und Programmieren lernen. I/O Schnittstellen rüste ich per USB nach. Entsprechende Interface-Module gibts ab 10 Euro. Um zur eigentlichen Frage zurück zu kommen: Soweit ch mich erinnere benötigt Linux im Minimalfall nur eine 32-Bit CPU mit MMU, sowie RAM und einen Programmspeicher (Flash, Rom). Sämtliche Peripherie ist optional.
Stefan us schrieb: > Ab 10 Euro mehr bekomme ich ein Netbook mit WLAN und ordentlicher > Festplatte und mobiler Nutzbarkeit. Und mit I/O-Ports, I2C, ADC und so weiter? Stefan us schrieb: > Raspberry Pi: 40 Euro Mdell B gibt's bei Reichelt für 28,90. > Gehäuse: 10 Euro Braucht man nicht zwingend. Alternativ gibt's auch einen "Bauplan zum selber bauen aus Karton. > Netzteil: 10 Euro 6,50, ebenfalls bei Reichelt. Wobei es auch nicht zwingen benötigt wird, wenn's in der Familie jemanden mit einem Handy gibt, das per µUSB geladen wird. Dann kann man auch dessen Netzteil nehmen. > Speicherkarte: 10 Euro 8,50 mit vorinstalliertem Betriebssystem. > Monitor: 100 Euro Braucht man für den RPi nicht unbedingt. Einen Fernseher hat eigentlich so gut wie jeder zuhause rumstehen. Der RPi kann sowohl FBAS, als auch HDMI, kann also an nahezu jeden (alten oder neuen) Fernseher angeschlossen werden. > Tastaur: 10 Euro > Maus: 10 Euro Ok, die braucht man, bekommt man aber zur Not auch irgendwo geschenkt. Stefan us schrieb: > Macht zusammen: 190 Euro Mit meiner Rechnung (vorhandener Fernseher, Tastatur und Maus geschenkt, kein Gehäuse) komme ich auf 44 Euro. Stefan us schrieb: > Um zur eigentlichen Frage zurück zu kommen: Soweit ch mich erinnere > benötigt Linux im Minimalfall nur eine 32-Bit CPU mit MMU, sowie RAM und > einen Programmspeicher (Flash, Rom). Sämtliche Peripherie ist optional. µClinux kommt sogar ohne MMU aus.
W.S. schrieb: > Habe selber schon gesehen, daß so ein Colibri binnen 0.5 Sekunden > gebootet hat. Sowas ist für Geräteentwicklungen brauchbar - hingegen > Linux-Bootzeiten von 40 Sekunden und mehr eben nicht. Und was hat Linux mit 40s Bootzeit zu tun? Solche Bootzeiten liegen nicht an Linux im speziellen sondern am Systemdesign im Allgemeinen. Auch Linux kann in 0,5s booten wenn es sein muss. Viele Anwendungen benötigen das nicht aber wenn es nötig wird kann man das erreichen. 5s sind "out of the box" kein Ding wenn die Hardware es hergibt. http://www.makelinux.com/emb/fastboot/omap Matthias
Μαtthias W. schrieb: > Auch Linux kann in 0,5s booten wenn es sein muss. Siehe z.B.: https://www.youtube.com/watch?v=747XLVbTgA4 https://www.youtube.com/watch?v=rhjS8ZONE74
Hi Max, vor 10 Jahren haben wir mal ein Embedded Linux Board namens www.centipad.de gebaut. Ich selbst bin Hardwareentwickler und habe damals das Design um den AT91RM9100 herum als "High-End" empfunden. Da wir die Dinger immer nur wenige-hunderterweise haben bauen lassen, waren wir immer recht teuer (mein Einkauf so 120€@200Stück). Gleichzeitig war es immer ein Kampf, dem Linux-Kern hinterherzurennen. Kaum hatte ich meine Treiber für 2.4, kam der Kernel 2.6. Der war natürlich viel besser, aber ich stand wieder vor einer Wand. Der gute Klaus Wachtler hatte ein Erbarmen und war hier im Forum sehr rührig. Er hat das Entwicklungssystem vor ein paar Jahren auf irgendwas modernes portiert und Einsteiger bei der Installation unterstützt. Siehe diverse Threads. Zurück zu Deiner Frage: im Anhang findest Du unser Programmers-Model (Centipad Schaltplan ohne die EMV-Magie) und den BreakOutBoard-Schaltplan. Das ganze Projekt war für mich sehr lehrreich. Ich habe eine Menge Geld hineinversenkt und vor allem entschieden, dass ich kein Hardwarehändler sein will. Dieser Trend hat sich in den letzten 10 Jahren verstärkt. Die Chinesen unterbieten auf Ebay in Einzelstückzahlen unsere 1000er Einkaufsstückzahlen oftmals um den Faktor 5..10. Aus der letzten Charge habe ich immer noch eine Kiste mit CentiPads (aber keine CentiBOBs). Falls es jemandem weiterhilft, würde ich die Teile für 20€/Stück zzgl. Porto abgeben. Die letzte Doku, erweitert um die kompletten EAGLE-Schaltpläne würde ich dazulegen. Grüße, Marcus
Hallo zusammen, vielen Dank. Mehr wollte ich eigentlich gar nicht wissen. Die Pläne von mahpong haben mir auch sehr weiter geholfen! Danke!
Rolf Magnus schrieb: > Nun, für die Anwendungszwecke, für die du ihn dir vorstellst, Ich habe überhaupt nicht irgendwelche eigenen Anwendungszwecke mir/hier vorgestellt. Dieses RPI ist trotzdem kein "PC im Scheckkartenformat", wie es die zugehörige Werbung suggerieren wollte. Genau DAS ist es. Μαtthias W. schrieb: > Und was hat Linux mit 40s Bootzeit zu tun? Solche Bootzeiten liegen > nicht an Linux im speziellen sondern am Systemdesign im Allgemeinen. Es hat mit dem Raspberry zu tun, denn dort finden so lange Bootzeiten statt. Woran das nun OS-intern liegt, ist mir eigentlich schnuppe. Das wäre der Job der Entwickler gewesen. W.S.
Komisch, ich nutze den Raspi schon mal zur Entwicklung von Prototypen. Hat doch lecker viele Schnittstellen seien es serielle oder i2C oder SPI. Zur Zeit verwende ich PipaOS als Debian-Installation, das bootet in ca 10 Sekunden mit Webserver und SSH-Zugang. So schlecht ist das nicht. Wenn du Baremetal programmierst, bleibst du eh meist unter 1 Sekunde, mit Buildroot und einem angepassten Bootloader kommst du aber auch schon recht nahe an 1-2 Sekunden, wenn du es drauf anlegst. Willst du dein Debian komplett auf Speed trimmen, bau es dir selbst zusammen mit Raspian Netboot https://github.com/debian-pi/raspbian-ua-netinst/releases/latest Ansonsten kannst du dir dein persönliches Linux gestalten wie du willst, andere embedded Linux-Systeme sind jedoch nicht schneller. Ich finde den Raspi übrigens höllisch schnell. Die meisten üblichen Linuxboards sind nur halb so schnell, wenn überhaupt. So ein Board wird meist headless verwendet, und dafür reicht das Ding allemal, wenn nicht gerade eine riesige Datenbank mit 1000 Nutzern hinten-dran hängt.
Ich verstehe das Gemecker über das RPi nicht. Das Ding ist wirklich günstig und für viele Anwendungen sehr cool. Es gibt eine ganze Reihe von Leuten, die irgendwas Media-Center-mäßiges damit machen (gut, interessiert mich jetzt nicht so) und als Entwicklungsplatform ist es wirklich super praktisch. Die Liste mit den Preisen ist völliger Unsinn. Ich habe nur das Board gekauft und alles andere aus Sachen die jeder sowieso daheim hat zusammengeklaubt (man wird ja wohl ein USB-Kabel haben). Zumal ich sowieso keinen Bildschirm anschließe sondern das Ding nur über ssh benutze. Die Möglichkeit schnell mal irgendwelches SPI / I2C-Zeug mit einem Python-Skript zu testen oder auch nur ein paar Pins an- und auszuschalten, ohne dafür ein uC-Programm schreiben zu müssen ist für mich Gold wert. Ich habe das Board auch schon als Programmer für einen LPC ARM benutzt (man kann sogar ohne Cross-Compiler dafür kompilieren, höhö). Klar liegt die größte Stärke des Pi im Marketing; die Hardware ist nicht so unglaublich. Aber das Marketing heißt halt, dass es sehr viel Software und Erfahrungen zu dem Ding gibt, die im Internet auch gut dokumentiert sind. Und das ist oft (möchte nicht sagen, meist) wichtiger als gute Hardware. (C ist auch eine Kack-Sprache, und trotzdem benutzt sie jeder -- und warum? weil sie alle anderen schon benutzen) Wie schnell dein System bootet ist dein Problem, das ist ein ganz normaler Computer -- du kannst ja ein anderes installieren.
:
Bearbeitet durch User
Sven B. schrieb: > Das Ding ist wirklich > günstig und für viele Anwendungen sehr cool. Na dann schreib doch mal, WAS für Anwendungen du meinst. Mir fällt nicht eine einzige ein, die man damit ohne Krampf hinbekommt. Entweder man steckt da seinen PC-Monitor dran und ne kabellose TAS/MAUS Kombi und muß jedesmal ne Ewigkeit warten, bis die Krücke gebootet hat oder man muß seinen PC bereits laufen haben - dann ist das RPI überflüssig. Ich geb dir mal ein Beispiel: eigenständiger Wobbler. Dazu der NWT vom Funkamateur, ein 800x480 TFT, ein paar Tasten und Drehgeber. Krieg das alles zusammen mal mit nem RPI zum Laufen. Denkste. Mit nem Armstone oder nem Colibri geht das. Sven B. schrieb: > Die Liste mit den Preisen ist völliger Unsinn. Das sehe ich anders. Mag sein, daß Pollin da was Billigeres hat und man sich sein Gehäuse selbst schnitzt und man wie ich für das Netzteil nur ca. 4.50 berappt, aber um Monitor und Tastatur und Maus kommt man nicht herum. Da ist mir selbst mein steinalter Jornada 720 noch lieber: Aufklappen und geht SOFORT und mit EVC oder Lazarus kann ich für diese Plattform auch noch mir meine eigenen Programme nach eigenem Gusto schreiben. W.S.
Ich stecke an das Pi-Board ein Netzwerkkabel dran was ich eh habe, ein USB-Kabel was ich eh habe, und eine SD-Karte rein die ich für fünf Euro erworben habe. Dann logge ich mich über LAN/ssh ein und benutze i.d.R. die GPIO Pins. Zum Beispiel für: - Programmierung eines lpc1112 über UART und zwei GPIOs für automatisches Reset / Bootloader Enable - Ein/Ausschalten eines Kalibrationssignals über einen GPIO-Pin für eines meiner Astronomie-Setups -- das Schalten möchte ich über ein Skript an meinem Notebook auslösen (geht dann über ssh) - Testen diverser i2c-Clients, z.B. Magnetometer, Beschleuniggungssensor, AD-Wandler -- hier kann man immer mit fünf Zeilen Python Messwerte in eine Datei schreiben und die direkt mit Gnuplot oder matplotlib malen (ssh -X oder sshfs), da sieht man hervorragend was passiert. Auch i2cdetect, i2cset, i2cget und ein paar Zeilen bash (bzw. fish) sind hervorragend geeignet, um so ein neues Gerät erstmals zum Leben zu erwecken. Die Python-Bibliotek wirft auch sofort Exceptions wenn irgendwas unerwartetes passiert (z.B. Client nicht am Bus) und lässt einen nicht ewig rumraten. Für mich geht das hundertmal schneller als die elenden C-Datei modifizieren -> kompilieren -> Flashen -> uC neu starten -> hoffen dass es geht-Zyklen mit einem "normalen" Mikrocontroller. - Steuerung eines ADF4350 (Frequenz-Synthesizer) über SPI - ... Ich benutze keinen Monitor, keine Maus, kein Netzteil, und Gehäuse hab ich auch keins. In den letzten zwei Jahren ist trotzdem nichts kaputt gegangen. Die halbe Minute Boot-Zeit ist nicht optimal aber hallo -- damit kann ich nun wirklich gut leben. Das mache ich genau einmal am Tag und bis ich die ganzen Kabel gesteckt habe ist das eh fertig. Natürlich ist das Pi für keinen der genannten Punkte die optimale, endgültige Lösung. Aber es funktioniert halt einfach erstmal und erspart es mir nochmal eine Komponente zu bauen oder zu kaufen. Für mich ist das Ding so eine Art Schweizer Taschenmesser, mit dem man eine große Menge Sachen einfach mal machen kann, bis einem was besseres einfällt. Grüße, Sven
:
Bearbeitet durch User
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.