3.5 Les sketch Arduino sont plus ou moins portables d’une plateforme à une autre. Est-ce que cette valeur d’initialisation sera la même si la cible est un Arduino uno ou un ESP32 ?
3.6 Quelle est la fréquence d’affichage (approximativement) en ms des informations sur le terminal qui est à l’écoute sur le port série ?
Modifier ce code afin de garder constamment dans 2 variables min1 et min2 les 2 valeurs les plus faibles de chaque séquence de mesures, et affichez ces deux valeurs (sur la même ligne, avec un espace entre les valeurs)
3.1 Ajouter au code les déclarations manquantes en précisant le type.
Parmi les équipements suivants, lesquels délivrent généralement une grandeur sous forme d’un signal variable analogique (le plus souvent une tension variable)
Quelles instructions (en utilisant le framework Arduino) permettent généralement de récupérer des informations en provenance d’un capteur connecté au microcontrôleur
Parmi les équipements suivants, lesquels sont généralement utilisés somme capteurs
Modifiez le programme afin de définir la déclaration suivante pour la section .data :
Variables de données :.long 0xDEADCAFE
.long 1678
num_i32s :
.long -24786
La directive .long est utilisée pour déclarer une variable de type entier d'une longueur de 32 bits.
Modifiez également le programme de manière à ce qu'il se compile correctement et effectuez un vidage mémoire en mode débogage. Vous pourrez ainsi visualiser correctement le contenu de la section de données.
Comme pour l'exercice précédent, copiez-collez les fichiers de vidage mémoire et mettez en surbrillance les valeurs selon les instructions du modèle . Joignez également le fichier source .asm à titre de référence (cependant, le code source ne sera pas évalué).
Lancez maintenant le débogueur en cliquant sur le bouton « Déboguer ».
Dans le menu Débogage, veuillez vous assurer que la case Afficher les registres est cochée :
Maintenant, en utilisant l'instruction Step over, passez à l'instruction suivante, puis à l'instruction ret.
movl $variables, %eaxretVous devriez maintenant voir quelque chose de similaire à ceci :
Dans la section Registres , vous pouvez consulter le contenu des registres internes du processeur. L'instruction mise en évidence a déplacé l'adresse indiquée sous l' étiquette Variables vers le registre eax. Veuillez donc lire cette valeur en hexadécimal et l'inscrire dans la zone de réponse en utilisant le modèle fourni. Notez également cette valeur, car nous l'utiliserons ultérieurement.
Si vous utilisez Windows, ce sera probablement quelque chose comme 0x402000 , et si vous utilisez Linux, plutôt quelque chose comme 0x804c020 . Ne quittez pas encore la session de débogage ;)
Avant de commencer cet exercice, il est nécessaire de configurer l'environnement SASM. Après avoir démarré SASM, accédez au menu Paramètres et repérez l'onglet Compilation. Dans cet onglet, vérifiez que l'option x86 est cochée dans la section Mode et que l'option GAS est cochée dans la section Assembleur. Ne modifiez pas les autres paramètres ! Les paramètres corrects sont indiqués dans la figure ci-dessous.
Veuillez ouvrir SASM, vérifier que vos paramètres sont corrects (x86 et GAS), copier-coller le programme simple fourni séparément dans cette section (TP 1) du cours, le compiler et l'exécuter. Le programme a-t-il été compilé correctement, sans erreur ?
Voici un exemple de ce à quoi cela pourrait ressembler après avoir compilé et exécuté le programme avec le bouton (sous Linux, donc pas de « _ » ici, mais vous aurez probablement besoin des tirets bas) :