Im letzten Blogeintrag haben wir über die ersten Prototypen des RED Bricks berichtet. Bei dem Design ist uns ein Fehler unterlaufen, so dass ein Prozessorpin fälschlicherweise mit Ground verbunden war. Um diese Verbindung zu trennen haben wir, mit einem eigentlich viel zu großen Bohrer, eine Durchkontaktierung aufgebohrt. Das erste RED Brick konnten wir so zum Leben erwecken. Nun ist eine Woche vergangen und wir sind ein ganzes Stück weiter.
Mit den letzte Woche angekommenen 0.3mm Bohrern haben wir den Schaltungsfehler auf weiteren RED Bricks repariert. Den Bohrer korrekt zu Positionieren war selbst mit dem genutzten Kreuztisch nicht immer 100%ig möglich, so dass z.T. etwas neben der Durchkontaktierung gebohrt wurde und andere Leiterbahnen in der 6-lagigen Leiterplatte verletzt wurden. In Summe konnten wir sechs RED Bricks zum Leben erwecken.
U-Boot/Linux Image
Wir haben viel Arbeit in U-Boot (Bootloader) und das Linux Image des RED Bricks gesteckt. Zu den Aufgaben gehörte es die Toolchain aufzubauen, Build-Skripe zu schreiben, Hardwaremodifikationen zu implementieren (LEDs, DDR, Schnittstellen), das Image zu konfigurieren (Sprache, Hostname, etc.) usw. Besonders aufwendig ist die Optimierung der Bootzeit. Viele Dienste, Treiber etc., die standardmäßig vorhanden sind, sind auf dem RED Brick nicht sinnvoll und können entfernt werden. Zur Zeit stehen wir bei einer Bootzeit (inkl. grafischer Oberfläche) von ca. 45 Sekunden. Wir werden diese aber weiter optimieren. Neben dem Image mit grafischer Oberfläche wird es auch ein deutlich abgespecktes Image ohne grafische Oberfläche geben, dass deutlich schneller booten wird. In ersten Tests konnten wir bereits Bootzeiten von 15 Sekunden erreichen.
HDMI
Da einige HDMI Signale direkt neben der besagten Durchkontaktierung verlaufen, funktioniert HDMI nicht auf allen reparierten RED Bricks. Zum Teil haben wir diese beim Bohren erwischt. Sind diese Leiterbahnen nicht getroffen worden, funktioniert HDMI aber: (Screenshot direkt auf dem RED Brick erstellt)
USB Host
Funktioniert ebenfalls. Wir nutzen aktuell zum Beispiel einen USB WIFI Stick um das RED Brick ins Netzwerk zu bringen.
Arbeitsspeicher und Hitzetest
Die Anbindung des DDR Speichers an den Prozessor ist recht komplex und muss gründlich getestet werden. Mit dem Werkzeug stress haben wir dem RED Brick ordentlich eingeheizt. Stress belastet Prozessor, Arbeitsspeicher und die SD Karte und lastet das System vollständig aus. Instabile Plattformen können mit diesen Tests erkannt werden. Wir haben das RED Brick bei diesen Tests über Stunden ohne Kühlkörper betrieben, es wurde sehr heiß. Es traten aber keine Probleme auf. Zusätzlich nutzten wir memtester, das verschiedene Tests mit dem Arbeitsspeicher durchführt. Wir konnten ebenfalls keine Probleme feststellen. Mittels sysbench und dd konnten wir die erwartete Performance erzielen. Somit scheinen hier auch keine Probleme zu existieren.
Euer Daumendrücken scheint also geholfen zu haben. Danke!
Wie geht es weiter?
Bei dem Linux Image gibt es immer noch einiges zu tun. Parallel beschäftigen wir uns aktuell damit eigene Kerneltreiber zu entwickeln, die zur Kommunikation mit brickv notwendig sind. Über diese Schnittstelle soll später das Brick konfiguriert, sowie die eigenen Programme übertragen werden. Wir halten euch weiter auf dem Laufenden.