PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 1/28
A) Le Logiciel : le Software
1) Mise en route d'une machine : RESET
Un microprocesseur ne peut exécuter qu'une suite d'instructions qu'il doit aller extraire de sa moire. Cette
suite d'instructions est constituée d'une suite d'octets ou de mots binaires.
A la mise sous tension d'une machine les moires RAM sont vides, seules les ROM conservent leur contenu. Il
y a toujours une ROM de BOOT dans une machine, qui contient la liste de premières instructions
exécutables.
Machine sans disque ni réseau :
L'ensemble des programmes utilisateurs doivent être en ROM.
Machine avec disque :
La ROM de boot vient chercher les programmes utilisateurs sur le disque dur : il doit disposer d'un
secteur spécial d'amorce : secteur de boot. Les fichiers binaires exécutables, situés sur ce
secteur, sont alors chargés en RAM et lancés automatiquement.
Machine sur réseau :
La ROM de boot vient chercher dans un serveur sur le seau les programmes utilisateurs. Les
fichiers binaires exécutables sont alors chargés en RAM, via le réseau, et lancés
automatiquement.
2) Les systèmes d'exploitation : dialogue opérateur.
a) cas du micro-ordinateur
Le micro-ordinateur dispose d'un écran, d'un clavier et d'une souris : les logiciels chargés au boot gèrent
tous ces éléments y compris la RAM et les disques.
Le système d'exploitation a pour rôle de :
- lire les commandes claviers ou souris : analyser la syntaxe et lancer le programme correspondant.
Si il y a une erreur donner un message.
- gérer l'écran et le périphériques : imprimante, CD ROM, réseau etc...
- gérer les disques et leur fichiers : copier créer, détruire, transférer etc...
b) Cas d'un automate cible.
Un automate cible a pour rôle de contrôler un processus automatisé. Il comporte une unité centrale et des
entrées sorties industrielles. En fonctionnement normal il est entièrement autonome. Il ne
comporte pas d'écran ni de clavier.
Pour dialoguer avec un tel système il faut ajouter un dispositif de dialogue externe : un terminal soit sur
une liaison série, soit une liaison parallèle, soit sur un réseau. Ce terminal comporte au moins un
écran et un clavier.
Le logiciel embarqué dans l'automate doit gérer, à la mise sous tension, la communication vers ce
terminal.
Le terminal peut être :
- un terminal ACSII.
- une console graphique sur Réseau.
- un micro ordinateur.
Dans tous les cas il doit comporter un logiciel de communication vers la machine cible.
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 2/28
La machine cible peut elle aussi disposer de disques.
"I"
"O"
Machine cible : " Target "
Logiciel
En ROM
Communication
Machine de développement : " Host "
Liaison Série
ou
Liaison Parallèle
ou
Réseau
Composant de
Ecran Clavier
ou
USB
Disque dur Compilateur
3) L'assembleur.
L'assembleur est le langage le plus proche de la machine : les registres internes et les adresses mémoires
apparaissent directement dans le jeu d'instruction.
a) Modèle de Programmation.
Le modèle de programmation d'un microprocesseur est une représentation schématique des registres
accessibles à l'utilisateur.
On trouve trois famille de registres :
- les registres de données.
- les registres pointeurs d'Adresse.
- les registres de contrôle.
Modèle de programmation du 68000 de Motorola
016 1531 8 7
D0
D1
D2
D3
D4
D5
D6
D7
A0
A1
A2
A3
A4
A5
A6
A7
16 15
A'7
8 registres de données
7 pointeurs d'Adresse
2 pointeurs de pile
PC Compteur programme
SR Registre d'état
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 3/28
b) Structure d'une instruction assembleur
Une instruction en langage assembleur est constituée de quatre champs : Adresse, Mnémonique,
Opérandes et Commentaires.
Le champ Adresse représente l'adresse d'implantation mémoire.
ex : $2000 (adresse absolue)
début (symbole représentant une adresse)
Le champ Mnémonique qui indique la nature de l'instruction.
ex lea (load effective adresse)
move (transfert de données)
add (opération arithmétique)
and (opération logique)
beq (branchement conditionnel)
etc...
Le champ opérande indique les données et le mode d'adressage. On peut avoir :
- des instructions sans opérande : nop, stop, rts etc...
- des instructions à un opérande : clr D0
- des instructions à deux opérandes : add D2,(A4)+
- des instructions à trois opérandes : sub D4,D5,D6
a) Exemple : Assembleur 68000
debut lea.l $6000,A4
move.b D0,$2000
Opérande destination (registre ou mémoire)
Opérande source (registre ou mémoire)
Code mémonic d'une instruction
Symbole de branchement pour le PC
bmi négatif
Chargement d'Adresse Effective dans le pointeur A4
Rangement du contenu du registre de données D0 dans la mémoire d'adresse $2000
Branchement au symbole "négatif" si le bit N=1 : registre détat
Pour utiliser ce langage il faut connaître :
- le modèle de programmation du microprocesseur : la liste et la fonction des registres internes.
- la liste des instructions par groupe
arithmétique, logique, branchement, accès à la mémoire, manipulation de bits, etc...
- les modes d'adressage possibles pour les opérandes sources et destinations.
Avantages de ce langage
- programmes très courts et très rapides.
- optimisation du code binaire.
- accès facile aux mémoires et aux entrées sorties.
Inconvénients de ce langage
- connaissance interne du microprocesseur exigée.
- lourdeur et complexité des instructions.
- code lié à une famille de processeurs.
- fonctions mathématiques difficiles à programmer.
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 4/28
Utilisation de ce langage
- applications de petite taille très rapides.
- dans les monochips où la taille mémoire est faible (1k à 10k).
- dans les programmes de pilotage de composants périphériques.
4) Les langages évolués : Pascal et "C".
Les langages évolués sont de plus en plus utilisé.
- Pascal : langage d'apprentissage abandonné dans les applications industrielles.
- Le "C" : langage de plus en plus utilisé.
-Grafcet : langage de l'automaticien.
Avantages de ces langages
- faciles à mettre en oeuvre.
- indépendant du microprocesseur.
- permettent d'écrire de grosses applications modulaires.
Inconvénients de ces langages
- chaîne de compilation lourde.
- mémoire de travail importante : minimum 32 à 64 k.
- lenteur relative.
- accès aux entrées sorties plus ou moins faciles.
- nécessite un poste de travail puissant.
5) Chaîne de développement.
Un microprocesseur ne peut exécuter qu'une suite d'instruction binaires extraites de la mémoire centrale.
Une chaîne de développement permet créer sur disque des fichiers binaires exécutables à partir :
- des fichiers sources crées par l'utilisateur.
- des bibliothèques systèmes.
Elle comprend en général un compilateur et un éditeur de liens.
Fichiers Sources Fichiers Relogeables Bibliothèques Système
Compilation
Edition de Liens
(Link)
Utilisateur
Module Binaire Exécutable
Le compilateur transforme des fichiers textes ASCII en fichiers binaires. Ces fichiers textes peuvent être écrits
soit en langage assembleur soit dans un langage évolué "C", ou Pascal ou autre.
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 5/28
Un compilateur crée des modules binaires relogeables qui contiennent :
- le code binaire exécutable.
- la liste des procédures et des symboles utilisés mais non connus dans chaque module.
Un éditeur de liens (linker) va :
- chercher les modules systèmes utiles pour l'application.
- chercher les symboles non définis dans tous les modules de l'application.
- placer bout à bout tous ces modules, pour créer l'application finale.
Pour exécuter cette application, il faut :
- charger le module binaire exécutable en RAM soit :
- directement à partir du disque.
(cas du micro ordinateur autonome)
- par téléchargement sur la liaison entre le système de développement et la cible.
(cas de la machine cible)
- lancer l'exécution
Exemple :
main()
{double i,k;
for (i=0;i<10;i++)
k=sin(i);
}
Fichier source "C" ASCII Module Relogeable
Procédure "sin"
Non définie
Programme Binaire
01100110
11011001
...
Compilation
Cstart
Programme Utilisateur
Fonction sinus
Module Binaire Final
Edition de Liens
Bibliothèque MATHS
sin
cos
sqrt
11000110
01111000
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !