ARM self-made computer

becki

War lange weg....
Tag,
ich dachte, es müsste ja möglich sein, mit ARM einen Computer selbst zu baun (die haben ja teilweise LAN und SD/MMC Kontroller mit drin). Also habe ich mich mal versucht, mich schlau zu machen. Dort habe ich unter Anderem dies gefunden: Atmel-Board. Allerdings weiß ich immer noch nicht, wie ich effektiv schaun kann welche CPU hat welche Funktionen mit drauf (es ist wenig sinnvoll jedes Datenblatt durchzulesen), ich weiß nicht wie die zu NetBSD kompatibel sind und, was auch wichtig ist, wie kann ich eigentlich zusätzliche Peripherie an die Teile anbaun (man findet rien gar nichts darüber). so haben die ja alle eien LAN controller, wenn ich aber nun 2 LAN will, wie muss ich vorgehn, so dass es auch mit NetBSD läuft (ich will ja auch keinen neuen Treiebr schreiben müssen).
Hat jemand von euch Erfahrung/Wissen in der Richtung?
Mein Ziel wäre es, einen Computer zu haben der ein NetBSD von einer SD karte läd und 2 Netzwerkkarten hat und eine Konsole auf einem RS232 Port hat.
 
Ich finde es gibt Fragen, die zeigen alleine durch das gestellt werden, dass das Projekt für den Fragenden eine Nummer zu groß ist.

Erstens kannst Du zwar über die Homepages von Prozessorherstellern erfahren, welche CPUs welche Features haben. Allerdings ist das meist erstmal Marketing-Blubb und um einen Blick ins Datenblatt kommst Du nicht herum.

Wenn Du Dir dann einen Prozessor ausgesucht hast, dann solltest Du Dir im zweiten Schritt ein Evaluations-Board mit dem Prozessor drauf suchen. Diese Boards haben meistens einen ganzen Haufen Peripherie dabei wovon Du den größten Teil eh nicht brauchst. Auf so ein Board passt Du Dein System an, in Deinem Fall wohl NetBSD. Bedenke, dass Du um das Schreiben bzw. Anpassen von Code wohl nicht herum kommst. Bedenke auch, dass der Prozessor Dein kleinstes Problem ist. Die Peripherie des Prozessors ist viel schwieriger zu handhaben.

Im dritten Schritt kannst Du dann das Design des Evaluationsboards anpassen, d.h. unnötige Komponenten entfernen ohne das Board in wesentlichen Teilen zu ändern (damit Du Deine Software nicht mehr ändern musst). In vielen Projekten wird dieser dritte Schritt übrigens weg gelassen, da es oft billiger und einfacher ist ein "fetteres" Board zu verwenden als ein eigenes Board zu entwerfen. Ein eigenes Board zu entwerfen ist nicht einfach. Man macht das Ding auch nicht einfach an und fängt an Software dafür zu schreiben, wenn's erstmal gebaut ist.

Lange Rede, kurzer Sinn: Nimm's mir nicht übel, aber ich glaube Du solltest die Finger davon lassen. Und wenn Du's unbedingt machen willst, dann solltest Du erstmal die ersten beiden Schritte gehen.
 
Naja bsi jetzt bin ich so weit, dass ich lediglich wissen müsste, wie ich entsprechende Peripherie nutzbar mache und was da wohl am effektivsten ist.
Die Sache mit den Evaluations-Boards ist zwar schön und gut, aber geht doch mehr ins Geld. Deswegen dachte ich ja fang ich klein an, ätz mir ne Platine, löt da die CPU drauf mit etwas "Grundperipherie", sprich rs232 und SD-Kartenslot und leg die restlichen Pins erstmal raus. Jo, ich weiß dass es nicht leicht ist, aber man muss ja irgendwo mal anfangen. Danke für den Tipp mit den Boards, ich kann mir die ja mal ansehn, da kann man ja auch mal sehn wie die die Peripherie so gestaltet haben.
 
Wenn Du das mit dem Platine ätzen noch nie gemacht hast, dann lass die Finger davon. Ein Board komplett selbst zu bauen ist nicht einfach. Man ätzt nicht einfach mal so kurz eine Platine, lötet die Chips drauf und legt Spannung an.

Um Dir mal einen Eindruck vom Aufwand zu geben: Bei Rechnern im HPC Bereich, also Blade Servern, beschäftigt sich ein ganzes Team von etwa einem Dutzend Leuten mehrere Wochen (im Bereich der 2 Monate) lang nur damit, die ersten Boards soweit zu bringen, dass alle Bauteile Strom haben, die Chips funktionieren und wie geplant zusammenarbeiten. Erst danach kommen die Jungs von der Firmware, dann die vom Betriebssytem. Ein Board zu entwerfen, bauen und in Betrieb zu nehmen ist eine Aufgabe von mehreren Mannjahren.

Zugegeben, es könnte in Deinem Fall etwas einfacher werden weil das Board vermutlich weniger komplex sein wird. Aber lass es Dir nochmal gesagt sein: Fang mit einem Eval-Board an! Selbst wenn Du Deine Zeit nicht rechnest werden die Materialkosten zum Bau eines eigenen Boards so hoch sein, dass ein Eval-Board im Bereich der 100-200 EUR billiger ist. Bedenke, dass Du nicht einfach ein Bauteil einlötest und die Sache funktioniert. Du wirst mehrere Anläufe brauchen, und auch Teile kaputt machen.
 
Wer sagt denn, dass ich noch nie ne Platine geätzt habe?
Und wer sagt, dass ich noch nie etwas in die Richtung gemacht habe?
Ich wollte ja auch nicht wissen wie man Blade Server baut, sondern lediglich was dabei zu beachten ist, wenn man sich ne ARM CPU und diverse Peripherie dazu auf ne Platine klatschen will, so dass es funktioniert.
 
Wer sagt denn, dass ich noch nie ne Platine geätzt habe?
Und wer sagt, dass ich noch nie etwas in die Richtung gemacht habe?

Alleine dieser Satz deutet stark darauf hin, dass die Aufgabe zu groß für Dich ist:

(es ist wenig sinnvoll jedes Datenblatt durchzulesen)

Wenn Du trotzdem denkst, dass Du die Aufgabe lösen kannst, dann tut es mir leid, wenn ich Dir zu nahe getreten bin. Wenn Du spezifische Fragen hast, und zwar in der Art "ich hab hier Chip X und Chip Y und dieses Problem", dann ist vermutlich http://www.mikrocontroller.net/ der richtige Ort solche Fragen zu stellen.
 
Naja, der Satz war ja auch darauf bezogen, dass die bezeichnungen ja auch ihren Sinn haben, so weiß ich von den 8-Bit RISC Atmels, dass wenn nen "L" hinten am Namen ist, das ganze etwas abgespeckt ist, genauso dass da oft die Sockel dahinterstehn. Somit muss ich da ja nicht jedesmal das Datenblatt durchlesen um in etwas zu wissen was das Teil kann. So war das gemeint, sry, glaube da habe ich mich falsch ausgedrückt. So weiß ich z.B. was ich will beim Atmel und man sagte mir der und der Chip kann das und der is erschwinglich, ohne dass ich jetz jedes Datenblatt durchlesen musste. Davon ausgehend habe ich mich dann damit befasst, was es noch für Chips gibt mit ähnlichem Funktionsumfang.
Naja, ansonsten schonmal danke derweiln. Jop, nur für sp spezifische Fragen ist es bei mir was ARM betrifft noch etwas zu früh, da ich bis jetzt nur weiß, dass da recht viel in den Chips schon mit drin ist, aber kaum was dazu gefunden habe, wie man das dann nutzt (Sprich bei der RS232 Schnittstelle ob es da, grobgesagt, reicht sowas wie nen max232 ranzubasteln und man kanns Nutzen, oder ob da noch mehr zu tun ist).
 
nein.
reicht nicht.

da muss ausserdem noch ein 16550 mit angebaut werden.

ansonsten: eine arm-cpu, ein flash-eprom, sram, ein 16550 und irgend ein pld (als memory manager) zusammen mit quarzen und widerstaenden reichen eigentlich aus um einen computer zu bauen.

da dann noch einen netzwerkchip dran.... fertig!
 
Kay, dann weiß ich jetzt schonmal mehr und kann entsprechend danach suchen.
Danke, Dettus!
 
Und so wie ich es mitbekam läd der Bootloader vom AT91RM9200 (also über den hab ich da bis jetzt am meisten gehört) den Code aus dem Flash, das ich ranbastel, oder wie? Da könnte ich doch dann dort nen größeren Bootloader reintun der anfängt des System von der SD-karte zu laden und dort dann ganz normal mein System drauf knallen, oder?
 
Bei solchen Systemen übernimmt oft die Firmware die Funktionalität des Bootloaders. Wenn Du das auch so machen willst, dann kommst Du wohl um den Einsatz von Flash nicht herum. Du brauchst ein Bauteil, das Du direkt adressieren kannst so dass Du direkt Code daraus ausführen kannst. Üblicherweise verwendet man NOR-Flash, der etwas billigere NAND-Flash geht nicht.

Wenn Du erstmal im Bootloader bist, und Deine Hardware soweit initialisiert ist, dann kannst Du natürlich ohne Probleme den Kernel von einer CF- oder SD-Karte laden. Der Bootloader muss den Kernel halt finden können, mit den Möglichkeiten die ihm zur Verfügung stehen.
 
Ok, danke. Glaube dann werde ich wohl erstma dort mein System auf den Flash tun und dann später mal sehn ob ich nicht wo was in Sachen Bootloader drehn kann (eventuell gibt es ja da schon was?) oder ich lass den Kernel das rootfs von SD-Karte mounten.
Derweiln danke, nun kann ich mal das Planen anfangen.
 
Zuletzt bearbeitet:
Zurück
Oben