Komputer minimal
- Ide awal: Dulu, orang bisa memesan kit dan merakit komputer di rumah. Komputer modern terdiri dari chip yang kompleks dan membutuhkan daya besar. Namun, penulis memulai eksperimen untuk melihat apakah komputer modern bisa dijadikan kit yang mudah dirakit di rumah.
- Tujuan: Membuat komputer yang dapat menjalankan Debian Linux, vi, gcc, dan make. Targetnya adalah 8MB RAM, CPU 1 MIPS, kartu SD, dan USB.
Pemilihan komponen
- Antarmuka USB: Hampir tidak ada chip 8-pin yang mendukung USB. Opsi yang memungkinkan adalah PL2303GL dan seri ATTINYx5.
- RAM: Menggunakan PSRAM SOIC-8. RAM 8MB mudah didapat.
- Mikrokontroler: Beberapa opsi dipertimbangkan, tetapi STM32G031J6 dinilai paling cocok. Chip ini memiliki flash 32KB, RAM 8KB, dan kecepatan clock 64MHz.
Desain perangkat keras
- Konsol: Pin UART tidak bisa digabungkan dengan fungsi lain.
- RAM: SPI PSRAM mendukung mode QSPI, tetapi karena keterbatasan jumlah pin, yang digunakan adalah mode SPI biasa.
- Kartu SD: Untuk mengatasi kekurangan pin, dirancang metode menghubungkan RAM dan kartu SD ke pin yang sama.
Kisah perangkat lunak
- Emulator: Emulator MIPS yang sudah ada digunakan kembali. Flash 32KB dibagi menjadi bootloader dan kode utama.
- Bootloader: Dikembangkan bootloader yang mendukung pembaruan firmware dari kartu SD.
Kinerja
- Overclock: STM32G031 ditetapkan pada 64MHz, tetapi bisa dioverclock hingga 150MHz. Pada 148MHz, CPU MIPS yang diemulasikan menunjukkan kinerja setara sekitar MIPS R3000 1.65MHz.
Perakitan
- Perakitan awal: Soket kartu SD, kapasitor, resistor, mikrokontroler, dan chip USB-serial disolder secara berurutan.
- Perakitan tahap kedua: Setelah bootloader diprogram ke mikrokontroler, chip RAM disolder.
Unduh dan penggunaan
- File: Semua file yang diperlukan sudah termasuk dalam paket unduhan. Tulis image kartu SD, lalu salin firmware ke kartu SD agar bootloader mengenalinya saat boot pertama.
- Cara penggunaan: Perangkat melakukan boot ke shell prompt, dan
bash juga bisa dijalankan. Untuk mencegah kekurangan RAM, disarankan menggunakan file swap.
1 komentar
Komentar Hacker News