Guten Tag, Ich bin beruflich auf der Suche nach den benötigten Hardware-Komponenten, um Embedded Linux darauf laufen lassen zu können. Leider bin ich noch nicht fündig geworden. Ich kann nicht auf bestehende Entwicklungs-Boards zurückgreifen, da die Hardware in ein bestehendes Gehäuse eingebaut werden muss - deshalb entwickeln wir die Platine neu. Folgende Kern-Anforderungen bestehen: - Embedded Linux - USB-Schnittstelle (ext. Datenträger, WLAN-Stick) - Ethernet - SD-Karte - serielle Verbindungen - GPIOs Welcher µC wird mindestens benötigt, um ein Embedded Linux realisieren zu können? Welche Bauteile werden sonst noch benötigt? Gibt es da Literatur dazu? Ich verlange jetzt keine detaillierte Bauteillisten - eher nur einen Hinweis, wo ich weitersuchen soll. Gibt es gute Links, die mir da helfen können? Vielen Dank für eure Hilfe! mfg Andy
Hallo Andreas, ich habe in ein Projekt das BeagleBone-Board eingebaut. Das kann ich sehr empfehlen. Wenn Du alles selbst aufbauen willst (oder mußt), würde ich mich an der ARM-Architektur orientieren. Das hängt aber selbstverständlich von Deiner geforderten Rechenleistung (+ erforderlichen Pheripherie) ab. Linux läuft auch schon auf zimlich kleinen CPUs :-) Frank
Du könntest ja auch ein bestehendes Evalboard auf Deinen Formfaktor umdesignen. Dann kannst Du bestehenden Linuxkernel einfach bei Dir verwenden und es währe so hauptsächlich "nur" ein PCB zu erstellen.
Danke einmal für die Antworten... Das mit dem "abkupfern" von einem bestehenden Board kam mir auch schon in den Sinn. Nur will ich das nicht unbedingt machen, weil bei den Boards oft Blöcke drauf sind, die wir nicht brauchen. Außerdem ist die eingesetzte CPU vielleicht leistungsfähiger (und teurer) als eigentlich benötigt. Deshalb wäre es einmal interessant zu wissen, was mindestens benötigt wird. Vielen Dank!
Unter http://gnublin.embedded-projects.net/products/ findest Du Entwicklungsboards Unter http://gnublin.embedded-projects.net/customized-boards/ könntest Du sogar ein für Euch angepasstes board finden ....
Andreas P. schrieb: > weil bei den Boards oft Blöcke drauf sind, die wir nicht brauchen. Dann läßt Du diese Blöcke eben weg :-) Andreas P. schrieb: > Außerdem ist die eingesetzte CPU vielleicht leistungsfähiger (und teurer) als eigentlich benötigt. Dann mußt Du erstmal definieren, wieviel CPU Du für Deine Anwendung benötigst. Wenn Du das alles noch nicht weißt, und etwas experiemetieren mußt um ein Gefühl dafür zu bekommen, halte ich ein Eval-Board oder ein fertiges Board (Raspberry oder Beaglebone blak z.B.) für nicht die schlechteste Wahl. Frank
carambola-2 aria g25 ist selten guenstiger zu machen, speziell mit ethernet. ansonsten, MCIMX233CAG4C ist guenstig zu bekommen und einfach zu designen.
hmmm....also wenn ich mir so Boards wie das BeagleBone Black, raspberry und Co anschaue, dann sind das >6 Layer Boards. Habt ihr denn die Erfahrung damit? bei embedded Linux kommt ja kein Mikrocontroller zum Einsatz sondern ein richtiger Prozessor der alles wie Netzwerk, Grafik, etc schon implementiert hat. Es gibt auch noch uC Linux(keine Erfrahrung damit) was für Mikrocontroller gedacht ist. Also wenn du so ein Board mit einem Mikrocontroller designen möchtest...das ist noch irgendwo realistisch. Aber bei einem Board wo dann wirklich ein embedded Linux zum Einsatz kommt, benötigst du einen richtigen Prozessor inkl. des deutlich höheren Aufwands beim Layouten....da sage ich mal bei der Art wie du fragst: vergiss es. Dann lieber ein bestehndes Board nehmen und im Formfaktor anpassen. Und was ist denn auf den handelsüblichen Boards zuviel drauf, was ihr nicht benötigt? Ihr braucht kein HDMI und kein Sound...aber sonst sehe ich in der Anforderungsliste eigentlich alles was ein Raspi oder ein Beaglebone auch zu bieten hat. Wie gross darf die Platine denn überhaupt werden damit man mal ne Hausnummer hat
Nimm einfach eine fertige Lösung mit einer DIMM-CPU Karte die bekommst du in jedes Gehäuse und die Auswahl ist recht groß. z.b. http://www.cciembedded.de/cpu-module/low-power-cpu-module-csb7xx.html Es gibt aber noch viele andere Hersteller, google kennt da einige ;)
Hallo, Vielen Dank für die zahlreichen Infos... da sind ja schon mal ein paar gute Ansätze dabei... @A.B.: das mit dem Layouten ist kein Problem - damit haben wir schon Erfahrungen gesammelt - nur ist es das erste Mal, dass wir die Software auch liefern müssen. Größenmäßig stehen uns etwa 5x4cm zu Verfügung... Ich werd mal nach den genannten Begriffen googlen - aber falls noch wer Infos hat: nur her damit! :) Danke!!
Andreas P. schrieb: > Folgende Kern-Anforderungen bestehen: > - Embedded Linux > - USB-Schnittstelle (ext. Datenträger, WLAN-Stick) > - Ethernet > - SD-Karte > - serielle Verbindungen > - GPIOs > > Welcher µC wird mindestens benötigt, um ein Embedded Linux realisieren > zu können? Welche Bauteile werden sonst noch benötigt? Gibt es da > Literatur dazu? Du brauchst: 1. MMU (ansonsten hast Du nur das ucLinux und nicht die Vollversion) Das schließt also zB Cortex M aus. Minimum sind bei ARM ARM9 oder Cortex A. Wenn es preissensitiv wird, sind MIPS-Derivate oft billiger, weil dort die Lizenzkosten geringer sind. 2. externes Speicherinterface für minimal 8 MB RAM, besser mehr. 3. externes Speicherinterface für Flash (NAND, NOR, SD...) 4. Bootflash für den Bootloader (uBoot, Redboot oder andere) 5. eine serielle Schnittstelle für die Console. Alles andere ist erstmal optional. Lade Dir mal von kernel.org einen aktuellen Kernel - da siehst Du, welche Architekturen und welche Chips direkt von den Linux-Leuten unterstützt werden. Sofern nicht andere Anforderungen dagegen sprechen, nimmst Du einen der direkt vom Standardkernel unterstützten Chips, dann hast Du es bei Kernel-Weiterentwicklungen und Updates besonders einfach. Die Halbleiterhersteller sind oftmals etwas schnarchnasig, die machen einen Port für eine bestimmte Kernelversion, und an die bist Du dann gebunden, vor allem, wenn dann noch Binärmodule für Grafik oder WLAN dazukommen. fchk
Also wenn ich lese, dass du einen USB Wlan Stick verwenden möchtest, kannst du eigentlich kein platz problem in deinem Gehäuse haben. Aber dann wiederrum verstehe ich nicht wieso du keinen RaspberryPi nimmst und ihn als huckepack Platine auf dein Board setzt. Der RPi ist auf jeden Fall günstiger als allein die Platine für ein selbst designtes Board. Und mit einer zweilagigen Platine kannst du dann alle deine Anschlüsse an die richtige Stelle routen. Du kannst dann auch die alten Steckverbinder für USB auslöten und mit dem Board verbinden und wo anders hin routen. Wenn es also keine Platzprobleme gibt, wäre das die Lösung die ich verwenden würde. Für jedes andere selbst entwickelte System kannst du mit mehreren 1000€ rechnen.
Dann lieber das BeagleBone Black als den Raspberry. Ist unwesentlich teurer und hat mehr Pins herausgeführt, z.B. für die TFT Anbindung.
Die Colibri's haben wir vielfach in industriellen steuerungen. Windows ce Linux oder Android erhältlich http://www.toradex.com/de/products/colibri-arm-computer-modules
Andreas P. schrieb: > Welcher µC wird mindestens benötigt, um ein Embedded Linux realisieren > zu können? ATmega128. http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/
Andreas P. schrieb: > Größenmäßig stehen uns etwa 5x4cm zu Verfügung... ein Gast schrieb: > Aber dann wiederrum verstehe ich nicht wieso du keinen RaspberryPi > nimmst und ihn als huckepack Platine auf dein Board setzt. Meinst du, huckepack wird's kleiner als die 85 x 56 mm des RaspberryPi
Letztes Jahr gab es auch einen Russen der auf einem 8 -Bitter Linux zum laufen bekommen ha. Dauerte allerdings 2 Stunden bis zum Prompt: http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/
Es gibt doch ganz normale PC kompatible Mini-Computer, die sind kaum größer als eine Zigarrenkiste. Da hättest Du immerhin den großen Vorteil, eine gewöhnliche Linux Distribution drauf laufen zu lassen. Du brauchst dann weder Kernel Module noch andere Treiber zu entwickeln. GPIO Pins hat man am parallelen Druckerport, falls vorhanden. Ansonsten kann man sie (falls die Geschwindigkeit reicht) über USB nachrüsten. By the way: Kann man eigentlich den Tastatur-Anschluss als I2C Port missbrauchen?
http://www.toradex.com/ Die bieten auch einiges an. Verwenden wir in der Firma und sind mit der Colibri-Familie auesserst zufrieden. Gruesse, Richard
Wenn du Standard-Buchsen für Ethernet, USB und SD-Karte nimmst, dann reichen doch 4*5 cm kaum aus. Wir haben hier einen TI-Sitara Board auf 5*5 cm, mit allen Interfaces, die du auch brauchst. Allerdings sind alle Buchsen auf einer Zweit-Platine, die aufgesteckt wird. Basis war ein Beagle-Bone, das umgeroutet wurde.
Ein Tipp: Sieh' Dir kommerzielle Embedded-Linux-Distributionen wie von http://www.lynuxworks.com/ http://www.mvista.com/ http://www.timesys.com/ http://www.mentor.com/embedded-software/linux/ http://www.sysgo.com/products/elinos-embedded-linux/ http://windriver.com/products/linux.html Da kosten die Entwicklungspakete zwar Geld, dafür gibt es aber für unterschiedliche Prozessoren intgrierte Support-Packages, die sich dann selber um die Konfiguration des speziellen Prozessors (SDRAM-, USB-, Ethernet-Controller usw.) kümmern. Du wählst nur den Prozessor aus, die Komponenten die Du benötigst und den Rest macht die Entwicklungsumgebung. Das beantwortet dann auch schnell die Frage, welche Hardware notwendig ist, Du schaust einfach in die Liste der unterstützten Prozessoren und suchst Dir einen davon aus.
Hallo, Vielen Dank für eure zahlreichen Antworten. Ich habe schon einige brauchbare Dinge rauslesen können. Überhaupt die Module von Gnublin sind sehr interessant, da ich mir hier einige abschauen kann. Einzig eine Frage habe ich noch: Bei den ganzen Modulen läuft ja das Linux auf der Speicherkarte. Ist es (einfach) möglich, hier einen fixen Baustein zu verwenden? Ich will die Speicherkarte lediglich dazu benutzen, um User-Daten zugänglich zu machen. Das OS soll fix im Gerät laufen? Ist das einfach so möglich? Vielen Dank! mfg
Andreas P. schrieb: > Ist es (einfach) möglich, hier einen fixen Baustein zu verwenden? Dafür gibt es die eMMC z.B. von Samsung http://www.samsung.com/global/business/semiconductor/product/flash-emmc/overview Frank
Bei den meisten Modulen die ich kenne wird die Konfiguration von SPI Flash bereitgestellt. Diese sind guenstig und einfach zu verwenden.
Hallo nochmal, Nach den hilfreichen Antworten hier, habe ich ein Demoboard gefunden, bei dem ich mir einiges "abschauen" kann (GNUBLIN LAN). Nur möchte ich - wie schon erwähnt - die SD-Karte nicht für das Linux verwenden, sondern eine eMMC. Nur habe ich dazu noch eine Frage: Wie bekommen ich das Linux da dann drauf?? :) Danke für eure Hilfe!! mfg Andy
Andreas P. schrieb: > Hallo nochmal, > > Nach den hilfreichen Antworten hier, habe ich ein Demoboard gefunden, > bei dem ich mir einiges "abschauen" kann (GNUBLIN LAN). Das Board, das Du Dir ausgesucht hast, wird netzwerktechnisch schnarchlangsam sein, weil der Netzwerkcontroller nicht wie sonst üblich im Prozessor integriert ist, sondern extern per SPI angebunden ist. Das ist eher eine Notlösung. Such Dir besser was anderes aus. > Nur möchte ich - > wie schon erwähnt - die SD-Karte nicht für das Linux verwenden, sondern > eine eMMC. Nur habe ich dazu noch eine Frage: Wie bekommen ich das Linux > da dann drauf?? :) Über den Bootloader (UBoot) im NOR-Flash. fchk
Guten Morgen, Danke für die Antwort. Das mit dem langsamen Netzwerkanschluss ist in diesem Fall nicht so tragisch, da wirklich nur ein paar Nutzdaten übertragen werden. Aber danke für den Hinweis! lg Andy
Eine Frage noch zu dem langsamen Ethernet bei dieser Lösung: Wenn ich anstatt des ENC28J60 den SMSC LAN9512 nehme (der vom Raspberry Pi) und den über die USB-Leitungen anschließe, müsste das Teil ja schneller sein, oder?? USB und Ethernet würde dann über den SMSC-Baustein laufen... Danke für eure Antworten! lg Andy
Andreas P. schrieb: > Eine Frage noch zu dem langsamen Ethernet bei dieser Lösung: Wenn ich > anstatt des ENC28J60 den SMSC LAN9512 nehme (der vom Raspberry Pi) und > den über die USB-Leitungen anschließe, müsste das Teil ja schneller > sein, oder?? Ja, aber ich finde das immer noch Murks. USB ist ein ziemlich komplexes Protokoll, und das macht das ganze nicht zuverlässiger. Beim PI haben sie das gemacht, weil der Prozessor eigentlich für Mobilgeräte gedacht ist und einfach das billigste war, was die Macher in großen Stückzahlen bekommen konnten. Schau Dir mal den Atmel SAMA5D35 an. Das ist eine Klasse besser, und Atmel hat einen sehr guten Linux-Support. Und ohne irgendwelche Krücken. fchk
Das kleinste Board, auf dem ich sinnvoll uCLinux habe laufen lassen können, ist der uCSimm von Arcturus. Dragonball (MC68EZ328) Prozessor mit onboard LCD Controller, 8MB SDRAM und 2MB Flash. http://www.uclinux.org/ucsimm/ Im Prinzip also das gleiche wie in einem Palm III, lediglich mit zusätzlichem Ethernet Controller von Crystal. Das Board ist für die neueste Generation Linux etwas zu klein durch die Grösse des Kernels, Linux 2.6, 2.4 und 2.0 hingegen laufen gut und lassen im Flash gut Platz für Anwendungen. Wer also nicht unbedingt ne MMU braucht, es geht auch ohne.
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.