Jusqu’à maintenant, nous avons écrit des programmes en
assembleur en utilisant les appels system de Linux pour les fonctions de base.
Maintenant, nous allons commencer une série pour ne plus utiliser aucune
fonction de l’OS.
Avertissement : Ne vous lancez pas la dedans si vous
souhaitez développer rapidement des programmes importants. En effet, sans OS,
il vous faudra réécrire en assembleur une grande partie des fonctionnalités
offertes par un système d’exploitation complet (ou alors recopier les
programmes de ce blog et des programmes trouvés sur internet qui contiennent
les fonctionnalités que vous voulez utiliser).
Dans ce blog, nous essaierons d’aller le plus loin possible
en récupérant des parties de logiciel déjà écrites sur Internet (ou en
s’inspirant fortement) pour voir les difficultés et les contraintes de ce type
de développement.
Déjà sans OS, cela veut dire que nous ne pouvons plus
afficher quoi que ce soit à l’écran, plus de gestion du clavier à travers le
port usb, plus de lecture écriture de la carte SD, plus de connexion ssh et
même plus de wifi, bref nous n’avons plus rien !! Ah si nous avons tous les pins du GPIO de
disponibles et la lecture d’une image binaire contenant le ou les programmes et
leur exécution lors du démarrage du Raspberry.
C’est pourquoi, les premiers exemples de développement
trouvés sur Internet consistent à faire clignoter une LED relié aux pins du
GPIO après avoir compilé quelques instructions assembleur ARM et généré une
image binaire lisible par le GPU (voir la séquence de boot du raspberry). Pas très folichon comme début d’expérience.
Voir le site en anglais: https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/index.html
Heureusement, mon fils me signale un tutoriel qui explique
comment programmer la mini uart du BCM2835, la relier à un ordinateur portable
afin d’enclencher une communication entre les 2 ordinateurs. C’est déjà
beaucoup mieux.
Bon le tutoriel est en anglais, mélange du C et de
l’assembleur ARM, utilise des fonctions des librairies LINUX et concerne le Raspberry modèle 3 !!
Mais rien d’impossible à comprendre !! donc aller sur : https://github.com/s-matyukevich/raspberry-pi-os
Dressons les étapes de la démarche à suivre pour arriver à
notre fin (remarque ces étapes ne sont à effectuer qu'une seule fois heureusement ) :
Avoir
un raspberry pi !! (dans mon cas un
modèle 1 B 512MO )et un ordinateur (dans mon cas sous Windows 10) qui puisse
lire écrire sur une carte SD (ou acheter un petit lecteur de carte SD)
Installer
si ce n’est déjà fait le logiciel Putty sur le PC
Acheter
une carte SD (4GO suffisent car dans l’immédiat on ne sait pas écrire de
fichiers sur la carte)
Acheter
un câble de liaison USB TTL (voir
modèle proposé ici https://cdn-learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-5-using-a-console-cable.pdf)
A
partir du tutoriel : https://cdn-learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-5-using-a-console-cable.pdf
:
Installer
sur l’ordinateur, le driver nécessaire au câble : Attention, avec windows
10 et driver Prolific , j’ai rencontré des problèmes résolus en chargeant le
driver du site :
http://www.totalcardiagnostics.com/support/Knowledgebase/Article/View/92/20/prolific-usb-to-serial-fix-official-solution-to-code-10-error
Rechercher
dans le gestionnaire de périphérique le port de l’ordinateur (comX) auquel est
rattaché le câble
En
suivant le tutoriel précèdent, activer la console série sur le Raspberry,
brancher le câble sur les pins du GPIO, redémarrer le raspberry.
Sur
l’ordinateur lancer putty connexion série, avec le port (comX) trouvé plus
haut, et la vitesse 115200 (enregistrer la configuration pour la retrouver
ultérieurement)
Taper
<ENTER> et vous devez vous
retrouver avec le login du raspberry pour établir une connexion.
Sinon,
boucler sur les étapes précédentes pour résoudre les problèmes potentiels !!!
Dans le chapitre suivant, nous verrons la partie logiciel. Bon courage.
Aucun commentaire:
Enregistrer un commentaire