Académique Documents
Professionnel Documents
Culture Documents
Un microprocesseur ne peut exécuter qu'une suite d'instructions qu'il doit aller extraire de sa mé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 mé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.
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.
- 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 les disques et leur fichiers : copier créer, détruire, transférer etc...
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.
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 1/28
La machine cible peut elle aussi disposer de disques.
Composant de "I"
Communication
Liaison Série
ou
Liaison Parallèle
ou
Réseau
ou
USB
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.
31 16 15 87 0
D0
D1
D2
D3 8 registres de données
D4
D5
D6
D7
16 15
A0
A1
A2
7 pointeurs d'Adresse
A3
A4
A5
A6
A7
2 pointeurs de pile
A'7
PC Compteur programme
SR Registre d'état
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 2/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.
Avantages de ce langage
Inconvénients de ce langage
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 3/28
Utilisation de ce langage
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.
Edition de Liens
(Link)
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 4/28
Un compilateur crée des modules binaires relogeables qui contiennent :
Exemple :
sqrt
main() Programme Binaire
{ 01100110
sin
double i,k; 11011001
11000110
for (i=0;i<10;i++) ...
01111000
k=sin(i);
Procédure "sin"
cos
} Non définie
Compilation
Edition de Liens
Cstart
Programme Utilisateur
Fonction sinus
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 5/28
REMARQUE
Certaines chaînes de compilation font un passage par des codes intermédiaires indépendant du microprocesseur
et par l'assembleur.
Il est plus facile de porter des programmes sur des machines différentes.
- du code intermédiaire.
- du code assembleur.
- du code relogeable.
Le compilateur C de Code Composer Studio de Texas Instruments permet tous ces choix.
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 6/28
B) Le Logiciel : Développement en « C » sous CCS3.1
1) Choix d’une cible sous CCS3.1 : « le setup »
a) L’espace de travail
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 7/28
b) Connection à la cible
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 8/28
d) Ouverture d’un projet
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 9/28
f) Compliation
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 10/28
h) Point d’arret
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 11/28
j) Visualisation des variables et de la mémoire
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 12/28
l) Visualisation des variables
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 13/28
C) Les principes de base de Labview
b) Notion de VI
Les programmes LabVIEW sont appelés instruments virtuels (virtual instruments en anglais) ou encore
VI. Ceci est du au fait que leur apparence et mode de fonctionnement ressemble à celui d’instruments
physiques comme les oscilloscopes ou les multimètres par exemple.
Chaque VI utilise des fonctions qui manipulent des entrées de la face utilisateur ou d’autres sources et
affiche les résultats des traitements ou les enregistre dans des fichiers de résultat ou sur d’autres
ordinateurs.
• Face arrière (Block diagram)—Contient le code source sous forme graphique qui définit les
fonctionnalités du VI.
• Icône et pattes de connections—Identifie le VI de telle sorte que vous pouvez utiliser le VI dans un
autre VI. Un Vi à l’intérieur d’un autre VI est appelé sous-VI. Un sous-Vi correspond à une sous-routine
(ou encore fonction) dans un langage de programmation textuel comme le C.
c) Face avant
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 14/28
La face avant est l’interface utilisateur du VI. Vous allez créer la face avant avec les contrôles
(entrées) et les indicateurs (sorties) qui sont les entrées et les sorties du VI qui vont interagir avec
l’utilisateur.
Les contrôles peuvent être des interrupteurs, des boutons poussoir, des boites de dialogue, et
d’autres composants d’entrée. Les indicateurs sont des graphiques, des LEDs et d’autres systèmes
d’affichage. Les contrôles simulent des composants d’entrées qui fournissent au diagramme du VI
des données. Les indicateurs simulent des instruments de sortie qui affichent des données qui ont
été acquises par le diagramme ou qui ont été générées.
Après avoir réalisé la face avant, vous allez ajouter du code en utilisant des représentations graphiques de
fonctions pour contrôler les objets situés en face avant. Le diagramme de la face arrière va comporter le
code source sous forme de graphique. Les objets de la face avant apparaîtront comme des terminaux
(d’entrée ou de sortie) du diagramme. En plus, le diagramme va pouvoir contenir des fonctions et des
structures qui sont fournies dans les librairies de VI de LabVIEW. Des fils vont connecter chacun des noeuds
du diagramme en incluant les contrôles et les indicateurs, les fonctions et les structures.
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 15/28
D) Configuration d’une cible sous Labview
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 16/28
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 17/28
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 18/28
Exemple de VI qui recopie les entrées Analogiques et Tout ou Rien sur les sorties
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 19/28
2) Développement d’une application cRIO Labview
a) Configuration matérielle d’un cRIO
Chercher une cible : click droit sur la racine du projet
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 20/28
Chercher les modules implantés sur la cible : click droit sur FPGA
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 21/28
Choisir les modules implantés dans la cible « sous » le FPGA.
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 22/28
Installer les nœuds d’entrées sorties
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 23/28
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 24/28
b) Configuration logicielle d’un projet sous cRIO
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 25/28
Créer un VI sur le cRIO : click droit le nom du cRIO – pe-crio1 (192.168.10.11)
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 26/28
Créer un VI sur le FPGA : click droit le FPGA sous le cRIO
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 27/28
Application Finale
PA DEGRYSE - Cours Micro- Partie 5 : développement logiciel – CCS V3.1 et Labview Page 28/28