Un ordinateur minimal
- Idée initiale : autrefois, on pouvait commander des kits pour assembler un ordinateur chez soi. Les ordinateurs modernes sont composés de puces complexes et nécessitent beaucoup d’énergie. L’expérience a donc commencé pour voir s’il serait possible de créer un kit permettant d’assembler facilement chez soi un ordinateur moderne.
- Objectif : construire un ordinateur capable d’exécuter Debian Linux,
vi, gcc et make. Les objectifs fixés étaient 8 Mo de RAM, un CPU à 1 MIPS, une carte SD et l’USB.
Choix des composants
- Interface USB : parmi les puces à 8 broches, très peu prennent en charge l’USB. Les séries PL2303GL et ATTINYx5 sont envisageables.
- RAM : utilisation de PSRAM en SOIC-8. Il est facile de se procurer 8 Mo de RAM.
- Microcontrôleur : plusieurs options ont été étudiées, mais le STM32G031J6 a été jugé le plus adapté. Il dispose de 32 Ko de flash, 8 Ko de RAM et d’une fréquence d’horloge de 64 MHz.
Conception matérielle
- Console : les broches UART ne peuvent pas être combinées avec d’autres.
- RAM : la PSRAM SPI prend en charge le mode QSPI, mais en raison des limites du nombre de broches, le mode SPI classique a été utilisé.
- Carte SD : pour résoudre le manque de broches, une méthode a été conçue pour connecter la RAM et la carte SD aux mêmes broches.
Côté logiciel
- Émulateur : un émulateur MIPS existant a été réutilisé. Les 32 Ko de flash ont été divisés entre le bootloader et le code principal.
- Bootloader : un bootloader prenant en charge la mise à jour du firmware depuis la carte SD a été développé.
Performances
- Overclocking : le STM32G031 est spécifié à 64 MHz, mais peut être overclocké jusqu’à 150 MHz. À 148 MHz, le CPU MIPS émulé offre des performances équivalentes à un MIPS R3000 d’environ 1,65 MHz.
Assemblage
- Assemblage initial : le support de carte SD, les condensateurs, les résistances, le microcontrôleur et la puce USB-série sont soudés dans cet ordre.
- Deuxième assemblage : après avoir programmé le bootloader dans le microcontrôleur, la puce RAM est soudée.
Téléchargement et utilisation
- Fichiers : tous les fichiers nécessaires sont inclus dans le paquet de téléchargement. Il faut écrire l’image de la carte SD, puis copier le firmware sur la carte SD afin que le bootloader le détecte au premier démarrage.
- Utilisation : l’appareil démarre sur une invite de shell, et il est possible de lancer
bash en plus. Pour éviter un manque de RAM, il est recommandé d’utiliser un fichier de swap.
1 commentaires
Commentaires Hacker News