Programmation pour l’embarqué Cycle d’ingénieur – Ingénierie de L'Aéronautique–
Programmation pour l’embarqué Cycle d’ingénieur – Ingénierie de L'Aéronautique– S7 Présenté par : Pr. FANNAKH Mhamed mhamed.fannakh@uhp.ac.ma Université Hassan Premier Ecole Nationale des Sciences Appliquées Berrechid Plan Introduction Rappel : Langage C Le C embarqué Microcontrôleur STM32F4xx Logiciel STM32CubeIDE et Proteus Introduction Différence entre C et C embarqué Langage C : C est un langage de programmation à usage général, largement utilisé pour concevoir tout type d'applications de bureau. Il a été développé par Dennis Ritchie en tant que langage de programmation système pour développer les systèmes d'exploitations. Les principales caractéristiques du langage C incluent un accès de bas niveau à la mémoire, un ensemble simple de mots-clés et un style épuré. Ces fonctionnalités rendent le langage C adapté aux programmations système telles que le développement de systèmes d'exploitation ou de compilateurs. Introduction Différence entre C et C embarqué C embarqué : Le C embarqué est une extension du langage C et il est utilisé pour développer des applications basées sur les systèmes embarqués. Les extensions du langage C intégré à partir du langage de programmation C normal sont l'adressage matériel d'E / S, les opérations arithmétiques en virgule fixe, l'accès aux espaces d'adressage, etc. Le programme C comporte cinq couches de structures de base. Qui sont : Commentaire : Il s'agit de texte simple et lisible, écrit en code pour le rendre plus compréhensible pour l'utilisateur. Habituellement, les commentaires sont écrits en // ou /* */. Introduction Différence entre C et C embarqué • Directives du préprocesseur : les directives du préprocesseur indiquent au compilateur dans quels fichiers rechercher les symboles qui ne sont pas présents dans le programme. • Déclaration globale : La partie du code où les variables globales sont définies. • Déclaration locale : La partie du code où les variables locales sont définies. • Fonction principale : Chaque programme C a une fonction principale qui pilote l'ensemble du code. Il comporte essentiellement deux parties, la partie déclaration et la partie exécution. Où, la partie déclaration est l'endroit où toutes les variables sont déclarées, et la partie exécution définit toute la structure d'exécution dans le programme. Introduction Comparaison entre C et C embarqué Générale C est un langage de programmation à usage général, qui peut être utilisé pour concevoir tout type d'applications de bureau. C embarqué est une extension du langage C et il est utilisé pour développer des applications basées sur des microcontrôleurs Dépendance • Le langage C est un langage indépendant du matériel. • Les compilateurs C dépendent du système d'exploitation. • Le langage C embarqué est un langage entièrement dépendant du matériel. • Le langage C embarqué est indépendant du système d'exploitation. Introduction Comparaison entre C et C embarqué Compilateur les compilateurs standard peuvent être utilisés pour compiler et exécuter le programme (GNU Compiler collection, Intel C++ ). Pour le C embarqué, un compilateur spécifique capable de générer une sortie basée sur un matériel/microcontrôleur particulier est utilisé. Utilisation et application Logiciels, applications … Caméra numérique, TV, drone ... Introduction Processus de compilation en C La compilation est un processus de conversion du code source en code objet. Cela se fait à l'aide du compilateur. Le compilateur vérifie le code source pour les erreurs syntaxiques ou structurelles, et si le code source est sans erreur, il génère le code objet. Introduction Processus de compilation en C Le processus de compilation C convertit le code source pris en entrée en code objet ou en code machine. Le processus de compilation peut être divisé en quatre étapes, à savoir le prétraitement, la compilation, l'assemblage et la liaison. Rappel : Langage C Notions de base La pratique du C exige l'utilisation de bibliothèques de fonctions. Ces bibliothèques sont disponibles sous forme précompilées (.lib). Afin de pouvoir les utiliser, il faut inclure des fichiers en-tête (.h) dans nos programmes. Ces fichiers contiennent les prototypes des fonctions prédéfinies dans les bibliothèques et créent un lien entre les fonctions précompilées et nos programmes. Pour inclure les fichiers en-tête: #include <fichier.h> Pour le compilateur que nous utiliserons, différents types de fichiers seront identifiés par leurs extensions: .c: fichier source .obj: fichier compilé .exe: fichier exécutable .h: bibliothèque en-tête .lib: bibliothèque de fonctions précompilées Rappel : Langage C Composantes d'un programme en C La fonction main : Elle constitue le programme principal: main() { déclaration des variables instructions } Fonctions Type_du_resultat Nom_fonction (Type_param Nom_param,…) { déclaration des variables locales instructions } Les identificateurs : Les noms des fonctions et des variables en C sont composés d'une suite de lettres et de chiffres. Le premier caractère doit être une lettre Le C distingue les minuscules et les majuscules Rappel : Langage C Composantes d'un programme en C Les commentaires : Un commentaire commence toujours par les deux symboles /* et se termine par les deux symboles*/. Il est interdit d'utiliser des commentaires imbriqués. Si le commentaire est dans un seul ligne, on peut utilisé // Exemple: /* ceci est un commentaire correct */ // ceci est un commentaire correct /* ceci est /* évidemment */ incorrect */ Les séquences d'échappement \t tabulation \n nouvelle ligne \b batch (curseur arrière) \r return (retour au début de ligne, sans saut de ligne) \a attention (signal acoustique) Si l'on veut écrire le symbole " ou \ : \" et \\ Rappel : Langage C Premier programme en C #include <stdio.h> main() { printf("bonjour\n"); /*toute instruction se termine par un point virgule*/ } Les types de base En mathématiques, on distingue divers ensembles de nombres (entiers naturels, entiers relatifs, réels, complexes,…). L'ordre de grandeur des nombres est illimité, ils peuvent être exprimés sans perte de précision. Un ordinateur utilise le système binaire pour sauvegarder et calculer les nombres, il existe pour un ordinateur deux grands systèmes de nombres: les entiers et les rationnels. Rappel : Langage C Les types de base Type Minimum Maximum _Bool 0 1 signed char -127 127 unsigned char 0 255 short -32 767 32 767 unsigned short 0 65 535 int -32 767 32 767 unsigned int 0 65 535 long -2 147 483 647 2 147 483 647 unsigned long 0 4 294 967 295 long long -9 223 372 036 854 775 807 9 223 372 036 854 775 807 unsigned long long 0 18 446 744 073 709 551 615 float -1 × 1037 1 × 1037 double -1 × 1037 1 × 1037 long double -1 × 1037 1 × 1037 Rappel : Langage C Les opérateurs standards L’affectation (=) : Nom_variable = expression; Affectation avec des valeurs constantes: Pi = 3.1416; Lettre = 'L'; Affectation avec des valeurs variables: a=b; Les opérateurs arithmétiques Les opérateurs logiques + : Addition / : Division - : Soustraction % : Modulo * : Multiplication && : ET || : OU ! : NON Rappel : Langage C Les opérateurs standards Les opérateurs de comparaison : Les opérateurs d’incrémentation et décrémentation : i = i + 1 s’écrit: i++ ou ++i i = i -1 s’écrit: i-- ou –i == : égalité != : inégalité < : inférieur <= : inférieur ou égal > : supérieur >= : supérieur ou égal Rappel : Langage C Lecture et écriture de données La bibliothèque standard <stdio.h> contient un ensemble de fonctions qui assurent la communication de la machine avec le monde extérieur. Les fonctions les plus importantes sont: Ecriture formatée de données : printf(): cette fonction est utilisée pour transférer du texte, des valeurs de variables ou des résultats d'expression vers le fichier de sortie standard stdout (par défaut l'écran). Pour l'écriture: printf():écriture formatée de données putchar():écriture d'un caractère Pour la lecture: scanf():lecture formatée de données getchar():lecture d'un caractère Rappel : Langage C Lecture et écriture de données Ecriture formatée de données : Syntaxe : printf("format",expr_1,expr_2) Format de représentation expressions ou variables dont les valeurs à représenter Lecture formatée de données : scanf(): fonction symétrique de printf() Syntaxe : scanf("format",adr_var1,adr_var2) Format de lecture des données adresses des variables auxquelles les données sont attribuées (nom de variables précédé par &) Les données reçues correctement sont mémorisées aux adresses indiquées par adr_var_1, adr_var_2, … Rappel : Langage C Lecture et écriture de données Les spécifications de format pour printf() et scanf() : Rappel : Langage C Lecture et écriture de données Ecriture d’un caractère : Syntaxe : putchar(caractere); putchar transfère le caractère "caractere" vers le fichier de sortie standard stdout (l'écran), les arguments de putchar sont des variable de type char. Lecture d’un caractère : Syntaxe : getchar(); Les valeurs retournées par getchar() sont des caractères. Le type du résultat de getchar est int. Rappel : Langage C Structure conditionnelle if-else : Structure : if(condition) si condition est vrai (≠0) { on exécute bloc d'instructions 1; bloc d'instructions 1 } else sinon { on exécute bloc d'instructions 2; bloc d'instructions 2 } Remarques : - S'il n'y a qu'une seule instruction, les accolades sont inutiles. - "condition" peut être: une variable de type numérique ou une expression fournissant un résultat numérique - La partie else est facultative - On peut imbriquer plusieurs uploads/S4/ programmation-pour-l-x27-embarque-chap1.pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 15, 2021
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.6323MB