Premiers essais infructueux
Un système FUZIX fonctionnel tient dans la mémoire FLASH du PICO. Cependant le portage prévoit dès le départ l’utilisation d’un système de fichier sur carte SD. FUZIX ne sait gérer que des partitions de 32Mo mais c’est un espace disque énorme pour une système aussi frugal.
J’ai essayé d’utiliser la carte SD en suivant le schéma de brochage initial mais sans succès : la carte SD n’était pas reconnue.
L’informatique repose sur du matériel
C’est alors que je me suis souvenu d’un article, repéré en juillet 2023 mais pas lu, de Denis Bodor dans le magazine Hackable sur l’installation de FUZIX sur PICO. Il existe également une version en ligne pour les abonnés au service Connect.
Denis avait également des problèmes avec la carte SD et a vérifié les broches attendues dans le code : il s’avère que ce ne sont pas les mêmes que sur le schéma de brochage.
Le schéma indique les broches suivantes pour la connexion du PICO au lecteur de carte SD :
- Broche 16 : MISO
- Broche 17 : CS
- Broche 19 : SCK
- Broche 20 : MOS1
Si on examine le code source de FUZIX/Kernel/platform/platform-rpipico/devsdspi.c
, les broches définies sont :
/* Pico SPI GPIO connected to SD SPIO - David Given's Arrangement */
#define Pico_SD_SCK 2
#define Pico_SD_TX 3
#define Pico_SD_RX 4
#define Pico_SD_CS 5
//Pico spi0 or spi1 must match GPIO pins used above.
#define Pico_SD_SPI_MOD spi0
La connexion correcte du PICO au lecteur de carte SD est alors:
- Broche 4 : MISO
- Broche 5 : CS
- Broche 2 : SCK
- Broche 3 : MOSI
J’ai modifié le brochage de mon montage expérimental en conséquence :
J’avais vérifié et changé le matériel sans mettre en doute un seul instant le logiciel …
La bannière de login montre le montage du système de fichier sur la carte SD :
Premières conclusions
De part sa taille (la devise du projet est Because Small is Beautiful / Parce que les petites choses sont belles, FUZIX permet d’appréhender l’ensemble d’un système à la UNIX. C’est une réelle satisfaction de pouvoir comprendre le fonctionnement du système d’exploitation sans être noyé dans des mécanismes complexes. Cependant l’intérêt est aujourd’hui éducatif ou pour le retro computing. Le projet est animé par une petite communauté et cela se sent dans l’organisation du code source. Ce n’est pas trop compliqué de compiler FUZIX mais on est loin du processus bien huilé du noyau Linux : il faut parfois chercher un peu et copier des fichier à la main. Dans le cas du portage sur Raspberry PICO, peut-on envisager FUZIX comme le futur système d’exploitation standard de cette plateforme ? J’en doute à ce jour : il n’y a pas de compilateur natif et il faut donc effectuer une compilation croisée à chaque ajout de programme. De plus à ce jour, il y a plus de support pour le matériel des plateformes 8 bits (affichage, entrées sorties, …) que pour le PICO. Maintenant FUZIX a 10 ans, voyons si dans 2-3 ans il suscite l’intérêt chez les utilisateurs du PICO.