Ch4 programmation Systèmes à Microprocesseurs Cycle Ingénieur Troisième Année Sébastien Bilavarn PoPlyotleyctehcNh ? iNceicSeoSpohpiahi-aD-pDt éInpgaértneimereientdEesleSctyrsotnèimquees-EUlencivtreornsiiqtéuedse- NUicneivSeorspithéiaCAôntetipdo ? Aliszu-
Systèmes à Microprocesseurs Cycle Ingénieur Troisième Année Sébastien Bilavarn PoPlyotleyctehcNh ? iNceicSeoSpohpiahi-aD-pDt éInpgaértneimereientdEesleSctyrsotnèimquees-EUlencivtreornsiiqtéuedse- NUicneivSeorspithéiaCAôntetipdo ? Aliszu-rS - SB ilBaivlavrnarn - - C ? Ch ?? Représentation de l ? information ? Ch ?? ARM Instruction Set Architecture ? Ch ?? Accès aux données ? Ch ?? Programmation structurée ? Ch ?? Cycle d ? exécution ? Ch ?? Codage binaire ? Ch ?? Microcontrôleur ARM Cortex-M Plan PoPlyotleyctehcNh ? iNceicSeoSpohpiahi-aD-pDt éInpgaértneimereientdEesleSctyrsotnèimquees-EUlencivtreornsiiqtéuedse- NUicneivSeorspithéiaCAôntetipdo ? Aliszu-rS - SB ilBaivlavrnarn - - CProgrammation structurée en assembleur ARM ? Appels de sous- programmes ? Structure de pile ? Mise en place d ? une pile ? Passage de paramètres PoPlyotleyctehcNh ? iNceicSeoSpohpiahi-aD-pDt éInpgaértneimereientdEesleSctyrsotnèimquees-EUlencivtreornsiiqtéuedse- NUicneivSeorspithéiaCAôntetipdo ? Aliszu-rS - SB ilBaivlavrnarn - - CNotions ? Sous-programme terme générique désignant un sous-ensemble d ? un programme ? Procédure un sous-programme qui ne renvoie pas de résultat ? Ex printf Hello world n ? Fonctions un sous-programme e ?ectuant un traitement sur des données et qui renvoie un résultat ? Ex c max a b ? Appel et retour de sous-programmes ? Un sous-programme doit mémoriser l ? adresse du code appelant pour poursuivre l ? exécution à l ? adresse de retour correspondante ? Mécanismes d ? échanges de données ? Passage de paramètre par valeur le code appelé dispose d ? une copie de la valeur ? Passage de paramètre par référence le code appelé dispose de l ? adresse du paramètre Il peut modi ?er sa valeur ? Valeur de retour d ? une fonction donnée fournie par le code appelé au code appelant PoPlyotleyctehcNh ? iNceicSeoSpohpiahi-aD-pDt éInpgaértneimereientdEesleSctyrsotnèimquees-EUlencivtreornsiiqtéuedse- NUicneivSeorspithéiaCAôntetipdo ? Aliszu-rS - SB ilBaivlavrnarn - - CAppel de sous-programmes ? Appel et retour de sous-programmes ? Pour appeler un sous programme ? Branch and Link BL label ? L ? exécution se poursuit à l ? instruction correspondant au label ? L ? adresse de retour est conservée dans le registre LR Link Register r ? Pour revenir d ? un sous- programme ? MOV PC LR équivalent à MOV r r ? L ? adresse de retour est récupérée dans LR ? L ? exécution se poursuit à l ? instruction qui suit l ? instruction d ? appel PoPlyotleyctehcNh ? iNceicSeoSpohpiahi-aD-pDt éInpgaértneimereientdEesleSctyrsotnèimquees-EUlencivtreornsiiqtéuedse- NUicneivSeorspithéiaCAôntetipdo ? Aliszu-rS - SB ilBaivlavrnarn - - CEncha? nement d ? appels ? Principe void main ? displayMenu ? void displayMenu displayStr New displayStr Load displayStr Save displayStr Quit void displayStr char str while str displayChar str str void displayChar char ch ? PoPlyotleyctehcNh ? iNceicSeoSpohpiahi-aD-pDt éInpgaértneimereientdEesleSctyrsotnèimquees-EUlencivtreornsiiqtéuedse- NUicneivSeorspithéiaCAôntetipdo ? Aliszu-rS - SB ilBaivlavrnarn - - CEncha? nement d ? appels ? Problème de la traduction en assembleur main ? BL displayMenu ? displayMenu ? BL displayStr ? BL displayStr ? BL displayStr ? BL displayStr MOV PC LR LR retour dans main PC displayMenu Traduction en assembleur Branchement temporaire BL displayMenu Dans la fonction main à l ? exécution de l ? instruction BL displayMenu -l ? adresse de retour adresse de l ? instruction BL displayMenu est sauvegardée dans
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Jul 13, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 82kB