Minimalcomputer
- Ursprüngliche Idee: Früher konnte man Bausätze bestellen und zu Hause Computer zusammenbauen. Moderne Computer bestehen aus komplexen Chips und benötigen viel Strom. Daher begann ein Experiment mit der Frage, ob sich ein moderner Computer als leicht zu Hause zusammenbaubarer Bausatz realisieren lässt.
- Ziel: Einen Computer zu bauen, der Debian Linux,
vi, gcc und make ausführen kann. Als Ziel wurden 8 MB RAM, eine 1-MIPS-CPU, eine SD-Karte und USB festgelegt.
Auswahl der Bauteile
- USB-Schnittstelle: Unter 8-Pin-Chips gibt es kaum welche mit USB-Unterstützung. Möglich sind der PL2303GL und die ATTINYx5-Serie.
- RAM: Verwendet wird SOIC-8-PSRAM. 8 MB RAM sind leicht erhältlich.
- Mikrocontroller: Mehrere Optionen wurden geprüft, doch der STM32G031J6 erwies sich als am besten geeignet. Er bietet 32 KB Flash, 8 KB RAM und eine Taktfrequenz von 64 MHz.
Hardware-Design
- Konsole: Die UART-Pins können nicht mit anderen Funktionen kombiniert werden.
- RAM: Das SPI-PSRAM unterstützt zwar den QSPI-Modus, wegen der begrenzten Pinzahl wird jedoch der normale SPI-Modus verwendet.
- SD-Karte: Um das Problem fehlender Pins zu lösen, wurde eine Methode entwickelt, RAM und SD-Karte an dieselben Pins anzuschließen.
Software-Geschichte
- Emulator: Ein vorhandener MIPS-Emulator wird wiederverwendet. Der 32-KB-Flash wird in Bootloader und Hauptcode aufgeteilt.
- Bootloader: Es wurde ein Bootloader entwickelt, der Firmware-Updates von der SD-Karte unterstützt.
Leistung
- Overclocking: Der STM32G031 ist für 64 MHz spezifiziert, lässt sich aber bis auf 150 MHz übertakten. Bei 148 MHz erreicht die emulierte MIPS-CPU eine Leistung, die ungefähr einem 1,65-MHz-MIPS-R3000 entspricht.
Zusammenbau
- Erste Montage: SD-Karten-Sockel, Kondensatoren, Widerstände, Mikrocontroller und USB-Seriell-Chip werden der Reihe nach verlötet.
- Zweite Montage: Nach dem Programmieren des Bootloaders auf den Mikrocontroller wird der RAM-Chip verlötet.
Download und Verwendung
- Dateien: Alle benötigten Dateien sind im Download-Paket enthalten. Man schreibt das SD-Karten-Image und kopiert die Firmware auf die SD-Karte, damit der Bootloader sie beim ersten Start erkennt.
- Verwendung: Das Gerät bootet zu einer Shell-Eingabeaufforderung, anschließend kann zusätzlich
bash gestartet werden. Um RAM-Mangel zu vermeiden, wird die Verwendung einer Swap-Datei empfohlen.
1 Kommentare
Hacker-News-Kommentare
nCSdes RAM alsCLKder SD-Karte,CLKdes RAM alsCMDder SD-Karte undMOSIdes RAM alsDATder SD-Karte verwenden lassen