Forum: Mikrocontroller und Digitale Elektronik ARM Board mit Linux-OS


von Max N. (racerj)


Lesenswert?

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

von Frank K. (fchk)


Lesenswert?

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.

von Stromverdichter (Gast)


Lesenswert?

schau dir doch die Referenzdesigns der Hersteller an, sowie deren 
Developer-Boards. Dann weißt du, wie die in der Regel aufgebaut sind;-)

von Klaus W. (mfgkw)


Lesenswert?

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 ...

von Markus C. (ljmarkus)


Lesenswert?

Hallo...

kannst ja auch mal hier schaun.

http://www.acmesystems.it/

lg, markus

von W.S. (Gast)


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

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

von Rolf M. (rmagnus)


Lesenswert?


von Marcus H. (mahpong)



Lesenswert?

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

von Max N. (racerj)


Lesenswert?

Hallo zusammen,

vielen Dank. Mehr wollte ich eigentlich gar nicht wissen. Die Pläne von 
mahpong haben mir auch sehr weiter geholfen! Danke!

von W.S. (Gast)


Lesenswert?

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.

von Stromverdichter (Gast)


Lesenswert?

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.

von Sven B. (scummos)


Lesenswert?

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
von W.S. (Gast)


Lesenswert?

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.

von Sven B. (scummos)


Lesenswert?

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
Noch kein Account? Hier anmelden.