{{{ #!html

Hello World

}}} [[PageOutline]] == Objectifs L'objectif de cette première séance est de découvrir la plateforme et la chaine de compilation. Le code que vous allez écrire aujourd'hui ne fera pas partie de l'OS final, pour le moins pas tel quel. Vous allez manipuler tous les périphériques, hormis le timer et l'ICU parce que nous n'allons pas traiter les interruptions. Ce que vous allez faire c'est : * écrire "hello world" sur le TTY * dessiner un carré sur le FB * envoyer un bloc contenant "hello wold" sur le disque dur * fabriquer un damier en mémoire et l'envoyer sur le FB par le DMA Nous allons réduire autant que possible le nombre de fichiers à écrire. segmentation.h:: Fichier contenant la description de l'espace d'adressage physique réduit à l'usage de ce TME. tty.h, dma.h, bd.h:: Description des registres de contrôle des périphériques. ldscript:: Placement des sections générées par le compilateur dans la mémoire. Makefile:: Pour décrire obtenir le binaire à exécuter sur la plateforme. boot.S:: Code exécuté au démarrage en assembleur. !__do_init.c:: Code C exécuté par le CPU0 pour faire le travail. La documentation sur les composants est ici : [http://www.soclib.fr/trac/dev/wiki/Component/VciMultiTty TTY], [http://www.soclib.fr/trac/dev/wiki/Component/VciDma Dma], [http://www.soclib.fr/trac/dev/wiki/Component/VciMultiTimer Timer], [http://www.soclib.fr/trac/dev/wiki/Component/VciIcu Icu], [http://www.soclib.fr/trac/dev/wiki/Component/FbController FrameBuffer], [http://www.soclib.fr/trac/dev/wiki/Component/VciBlockDevice Bloc Device] La position des registres sont dans les fichiers du répertoire : [file:///users/outil/soc/soclib/utils/include/soclib]