Le langage C pour les systèmes embarqués

Patrice Kadionik

Ce cours a pour but d'enseigner la programmation des systèmes embarqués en langage C.

- Titre : Le langage C pour les systèmes embarqués

- Auteur : Patrice Kadionik

- Parution : 30 avril 2005

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2012 Patrice Kadionik. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Présentation

- II. Sommaire

- III. Téléchargement

- IV. L'auteur

I - Présentation

Ce cours a pour objectif de balayer et revoir les aspects importants et essentiels du langage C que doit maîtriser tout ingénieur électronicien afin de concevoir le logiciel de base d'un système numérique (système embarqué). Il passe en revue les points forts et les points faibles du langage C. Il permettra d'éviter les pièges classiques, de maîtriser les appels d'E/S de base et formatés en langage C utiles pour les systèmes embarqués. Et de comprendre comment on développe une application embarquée en langage C à travers des exemples.

II - Sommaire

1. Objectifs

2. Introduction

1. Historique

2. C K&R

3. C ANSI

4. C++

5. Le langage C par rapport aux autres langages de programmation

6. Avantages du langage C

7. Inconvénients du langage C

3. Les principes de base de la compilation

1. Quelques généralités

2. Programme C : Hello world

3. Compilation et édition de liens

4. Remarques générales

1. Les fichiers include

2. Les commentaires

5. Éléments de base

1. Les types de données élémentaires.

2. Les entiers

3. Les constantes littérales

4. Les variables

6. Opérateurs et expressions

1. Généralités sur les opérateurs

2. Conversion de types

3. Récapitulatif

7. Structures de contrôle de programme

1. L'instruction if

2. Les instructions while, do et for

3. L'instruction goto

8. Structures de programmes et fonctions

1. Introduction

2. Appels de fonction et gestion de la pile

3. Divers

9. Visibilité des données 107

1. Variables globales et locales

2. Variables globales privées et publiques

3. Fonctions privées et publiques

10. Pointeurs

1. Introduction

2. Pointeurs et tableaux

3. Le type void

11. Les entrées sorties haut niveau formatées

1. Les E/S formatés. Les E/S bas niveau

2. Le tampon d'entrée sortie des appels d'E/S formatés

3. Fonctions générales sur les flots

4. Les flots standards d'E/S

5. Lecture et écriture en mode caractère

6. Lecture et écriture en mode chaîne de caractères

7. Lecture et écriture formatée

12. Les entrées sorties bas niveau

13. Comparaison entre les E/S bas niveau et haut niveau

1. Cas de Linux

2. Comparaisons par l'exemple

14. Programmation C avancée

1. Arguments passés à un programme

2. Options de compilation

15. Les bibliothèques standards

1. Entrées sorties stdio.h

2. Mathématiques math.h

3. Manipulation de chaînes de caractères string.h

4. Manipulation de caractères ctype.h

5. Utilitaires divers stdlib.h

16. Exemples de programmes C pour l'embarqué

1. Exemple 1 : programmation mémoire EPROM

2. Exemple 2 : pilotage d'un module par la liaison série

3. Exemple 3 : bibliothèque de contrôle d'une carte VME

4. Exemple 4 : pilotage de la liaison série d'un microcontrôleur

5. Exemple 5 : pilotage d'un périphérique d'E/S. Structure C

17. Quelques pièges classiques

1. Erreurs sur l'affectation

2. Erreurs avec les macros

3. Erreurs avec l'instruction if

4. Erreurs avec les commentaires

5. Erreurs avec les priorités des opérateurs

6. Erreurs avec l'instruction switch

7. Erreurs sur les tableaux multidimensionnels

18. Bibliographie

19. Webographie

III - Téléchargement

Téléchargez le cours au format PDF (668 Ko, 219 diapos) en mode FTP.

Si le lien précédent ne fonctionne pas, utilisez le mode HTTP de secours.

Pour lire les documents au format PDF, vous pouvez utiliser le logiciel Adobe Acrobat Reader.

IV - L'auteur

L'auteur Patrice Kadionik est ingénieur en Télécommunications-Réseaux de formation. Il est actuellement Enseignant Chercheur à l'ENSEIRB et est responsable de l'option Systèmes Embarqués. Pour plus d'informations, rendez-vous sur sa page personnelle.