Minimum bilgisayar
- İlk fikir: Geçmişte kit sipariş edip evde bilgisayar toplamak mümkündü. Modern bilgisayarlar karmaşık çiplerden oluşuyor ve çok güç gerektiriyor. Ancak modern bir bilgisayarın evde kolayca monte edilebilen bir kit haline getirilip getirilemeyeceğini denemeye başladı.
- Hedef: Debian Linux, vi, gcc ve make çalıştırabilen bir bilgisayar yapmak. Hedef olarak 8MB RAM, 1 MIPS CPU, SD kart ve USB belirlendi.
Bileşen seçimi
- USB arayüzü: 8 pinli çipler arasında USB destekleyen neredeyse hiç seçenek yok. PL2303GL ve ATTINYx5 serisi kullanılabiliyor.
- RAM: SOIC-8 PSRAM kullanıldı. 8MB RAM'i kolayca bulmak mümkün.
- Mikrodenetleyici: Birden fazla seçenek değerlendirildi, ancak STM32G031J6'nın en uygun seçenek olduğuna karar verildi. 32KB flash, 8KB RAM ve 64MHz saat hızına sahip.
Donanım tasarımı
- Konsol: UART pinleri başka şeylerle birleştirilemiyor.
- RAM: SPI PSRAM, QSPI modunu destekliyor ancak pin sayısı kısıtı nedeniyle normal SPI modu kullanıldı.
- SD kart: Pin yetersizliği sorununu çözmek için RAM ve SD kartı aynı pinlere bağlama yöntemi geliştirildi.
Yazılım tarafı
- Emülatör: Mevcut bir MIPS emülatörü yeniden kullanıldı. 32KB flash, bootloader ve ana kod arasında bölündü.
- Bootloader: SD karttan firmware güncellemesini destekleyen bir bootloader geliştirildi.
Performans
- Overclock: STM32G031 normalde 64MHz olarak belirtilse de 150MHz'e kadar overclock edilebiliyor. 148MHz'de emüle edilen MIPS CPU, yaklaşık 1.65MHz MIPS R3000'e denk performans gösteriyor.
Montaj
- İlk montaj: SD kart soketi, kapasitörler, dirençler, mikrodenetleyici ve USB-seri çipi sırasıyla lehimlendi.
- İkinci montaj: Bootloader mikrodenetleyiciye programlandıktan sonra RAM çipi lehimlendi.
İndirme ve kullanım
- Dosyalar: Gerekli tüm dosyalar indirme paketine dahil. SD kart imajı yazılıyor, firmware SD karta kopyalanıyor ve bootloader'ın bunu ilk açılışta algılaması sağlanıyor.
- Kullanım: Aygıt shell istemiyle açılıyor ve ayrıca
bash çalıştırılabiliyor. RAM yetersizliğini önlemek için swap dosyası kullanılması öneriliyor.
1 yorum
Hacker News yorumları
nCShattının SD kartınCLKhattı, RAM’inCLKhattının SD kartınCMDhattı ve RAM’inMOSIhattının SD kartınDAThattı olarak kullanılabileceği görülüyorV-USBdışında özel donanım ve yazılım yığını gerektirir. Buna karşılık SPI oldukça basittir ve en az donanımla bile kullanılabilir0.8mm) gerekli olduğunun belirtilmesi iyi olurdu. Bunun nedeni, "USB-C edge connector"ın fişe uyacak olmasıdır