L'essentiel d'Assembleur

Analyser la composition interne du composant

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Vous allez faire un tour rapide du fonctionnement de la mémoire RAM, de la mémoire flash et des macros.
06:39

Transcription

Dans cette vidéo je vais vous parler des composants internes en fait de notre nouveau microcontrôleur. Donc tout d'abord nous allons voir comment fonctionnent la RAM et la mémoire programme. Alors tout de suite au niveau de la RAM, voyons un peu ce que ça donne. Donc si on va dans cette section, on voit qu'en fait nous avons une banque ici, mais nous n’en n'avons pas qu'une, en fait nous en avons 31 mais qui sont toutes similaires ou presque. Alors en tout cas, ce qui est totalement commun c'est déjà la banque qui abrite l'ensemble des registres nécessaires au CPU. Donc vous voyez par exemple registre statut, le registre travail, etc. Puis après vous avez : registre SFR. Mais alors là par contre, ces registres SFR ne sont pas communs à toutes les banques. Ils vont changer en fonction des banques parce qu'on ne peut pas tous les placer sur 20 octets, ce n’est pas possible. Et puis après vous avez de la RAM, ici 80 octets qui vous sont libérés pour mettre simplement vos variables. Et puis en plus vous avez de la RAM qui elle est commune à toutes les banques. Donc si vous ne voulez pas vous embêter à savoir où est-ce que vous avez rangé votre variable, et bien vous la mettez ici comme ça vous êtes sûr que vous allez toujours pointer au bon endroit pour la retrouver. Alors regardons un peu plus à la suite de notre datasheet. Voilà par exemple les huit premières banques. Donc de 0 à 7, et vous retrouvez en fait la banque commune. Donc là vous n'avez pas besoin de savoir dans quelle banque vous êtes. Ici ça sera la même chose. Quelle que soit la banque vous retrouverez les mêmes registres. Mais par contre pour les SFR vous voyez qu'on change tout à chaque fois pour chaque banque. Donc c'est pour ça qu'il faudra toujours pointer sur la bonne banque. Et là sur notre modèle de microcontrôleur, vous avez droit à trois fois 80 octets pour pouvoir placer vos variables. Donc voilà ce qu'on peut dire sur nos différentes banques. Vous voyez encore une floppée. Là ici il n’y a rien implémenter. Et nous avons notre dernière banque qui est très particulière. Qui est la banque qui permet de recevoir en fait notre sauvegarde de contexte, lorsqu'il y aura interruption. Donc voilà concernant en fait déjà notre mémoire RAM. Voyons maintenant au niveau de la mémoire programme ce que ça peut donner. Donc cette fois-ci sur la mémoire programme, nous sommes sur une mémoire qui est adressable de 00 à 7FFF. Donc, nous dans le cadre de notre microcontrôleur tout n'est pas implémenté. Donc on n'a pas autant d’espace mémoire que cela. Mais on a déjà, un petit peu suffisamment on va dire pour ce que l'on va faire, même largement. Donc l'espace adressable en mémoire programme se fait d’ici à ici. Avec, attention, une adresse particulière qui est bien l'adresse donc 4. Là où on va venir se connecter en cas d'interruption. Et puis vous voyez que au niveau de la pile, cette fois ci on a 16 niveaux de pile. Ce qui permet vraiment une aisance très souple, puisque là on peut faire des call à l’intérieur de call à l’intérieur de call, et ça ne posera pas de problème. Pour avoir un STACK OVERFLOW, il faudra déjà y mettre du sien. Donc voilà concernant donc cette fois-ci la mémoire programme. Concernant le cadencement donc, là aussi allons voir un peu comment ça peut se passer. Alors à la figure 5-1 on vous montre toutes les possibilités qui permettent de cadencer votre cœur CPU qui est ici. Alors par exemple ici vous pouvez mettre un premier quartz, ici un quartz secondaire si vous le voulez. Alors en fait c'est souvent ce qu'on appelle un « quartz d'horloger ». Donc cadencé à 32,768 kHz. Puisque en fait sur un timer de 16 bits avec un prescaler de 8 cela donne une période de une seconde. Donc c'est pour cela qu'on appelle ça un « quartz d'horloger ». Et puis après vous avez toujours la possibilité d'utiliser un oscillateur interne. Donc avec différents choix de fréquence en fonction du prescaler. Et puis vous avez même une PLL fois 4, qui est une boucle à verrouillage de phase, qui permet en fait de multiplier la fréquence ici, donc par un facteur 4. Tout ça pour cadencer le cœur du CPU. Donc à partir de là, on vous donne énormément d'informations dans le datasheet. Là on est à 400 pages. Donc on ne joue plus dans la même catégorie. Et là par exemple on vous dit comment vous devez relier votre quartz au niveau des broches « OSC 1 » et « OSC 2 ». Donc, bon, il y a encore d'autres possibilités on ne va pas toutes les faire. Donc voilà le quartz d'horloger. Et puis, un réseau versé et encore beaucoup, beaucoup, beaucoup d'autres choses. Mais là je n'ai pas le temps de tout pouvoir vous expliquer, c'est totalement impossible. Donc maintenant allons voir un petit peu du côté du pointage de banque, parce que vous avez vu que c'est quelque chose quand même qui n'est pas simple. Donc, là il faut aller chercher l'information dans la notice du compilateur et notamment on vous dit qu'il existe une macro qui s'appelle « banksel ». banksel qui permet de pointer automatiquement, en fait votre variable, en mettant banksel, le nom de la variable et le compilateur va se charger pour vous, de retrouver la variable et savoir dans quelle banque elle est située. Donc c'est vraiment une macro qui va beaucoup beaucoup beaucoup beaucoup nous aider. Donc voilà un peu tout ce que l'on peut faire. Et il nous reste aussi à vérifier comment configurer nos ports. Alors là c'est pareil, on va rechercher dans le datasheet à la section 12 et on voit qu'il va falloir configurer un registre qui s'appelle TRISA, un autre qui s'appelle PORTA, LATA, ANSELA et WPUA (Weakup Pull-Up), donc les résistances de pull-up. A partir de là vous pourrez seulement commencer en fait à travailler sur les entrées, sorties de votre microcontrôleur. Donc voilà un premier passage, qui va introduire un peu notre code que l'on va voir tout de suite de façon très appliquée.

L'essentiel d'Assembleur

Plongez-vous dans le langage bas niveau, nommé Assembleur. Abordez les notions de jeu d'instructions, de pipeline, de registres, de mode d’adressage, de compteur de programme, etc.

4h52 (57 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :26 sept. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !