l`IDE CodeWarrior - Projet: METEOSAT

publicité
l'IDE CodeWarrior
Nouveau Projet
Debugger (Hiwave)
MAKE: Créer l'exécutable
Browser de symboles
Nouveau groupe
Cible courante
Ajouter un fichier au projet
Nouveau fichier texte
Groupe (n'est pas
un répertoire)
Propriétés (path) du fichier sélectionné
Supprimer les fichiers objets
Configuration de la cible
Fichier modifié:
doit être (re)compilé
144 : octets de code
13 : octets de données
Utilisé dans cette cible
Inclure les informations symboliques
pour le debug en C.
Nom : CORRECTION
Prénom : JOK
Groupe :
Date : 18/10/02
Définitions relatives à l'IDE
Projet
Cible
Un projet regroupe un ensemble de cibles ou
d'autres projets. Il correspond logiquement à
la programmation d'une application ou
d'une bibliothèque.
Groupe
Stationery
Un stationery est un projet de référence déjà
configuré. Il sert de base à la création de
nouveaux projets. On peut l'assimilé à un modèle.
Lors de la création d'un projet à partir d'un
stationery, le repertoire correspondant est
dupliqué en adaptant les noms au nouveau projet.
Les sources qui n'y sont pas ne sont donc pas
copiés, il sont partagés.
Nom : CORRECTION
Prénom : JOK
Une cible est une configuration de projet destinée
à fabriquer un fichier exécutable. Une cible
se caractèrise par l'ensemble des fichiers sources
et les options associées.
Groupe :
Date : 18/10/02
Le groupe est une entité qui sert à organiser les
fichiers sources de façon hiérarchique. Un groupe
peut contenir des sous-groupes. Le groupe n'est
pas un repertoire. Les sources d'un même
groupe peuvent se trouver n'importe où dans
la hiérarchie des fichiers.
Path
L'IDE cherche les fichiers sources dans un
ensemble de repertoire précis : le chemin d'accès
(access path). Ces chemins sont définis soit de
façon absolu soit de façon relative. La définition
des chemins doit être choisie de telle façon que
l'IDE retrouve les fichiers sources même si le
répertoire du projet est copié ou deplacé.
l'Editeur intégré
Chercher ...
Chercher / Remplacer
Save All
Chercher le précédent
Préprocesseur #define,#include, #if ...
Chercher le suivant
Compilateur: *.c -> *.o
Chercher la définiton d'un symbole
Désassembleur : *.c ->*.o->*.asm
Revenir en arrière
MAKE : n[*.c]+n[*.lib]->*.abs
Repartir en avant
Empiler les fenêtre d'édition
Trouver les extrémités des parenthhèse/accolades
Décaler à droite
Décaler à gauche
Liste des fonctions de ce fichier
Liste des fichiers inclus
Ouvrir browser de symboles
Nom :
Prénom :
Correction
JOK
Groupe :
Date : 17/10/02
Outils
Préprocesseur
Le préprocesseur effectue un prétraitement du
TEXTE du fichier source et traite toutes les
directives repérées par le symbole #, notemment
les inclusions de fichiers entête, les définitions
de constantes par des macros et les directives de
compilation conditionnelles (#if #endif).
Compilateur
Nom : CORRECTION
Prénom : JOK
Groupe :
Date : 18/10/02
Assembleur / Désassembleur
L'assembleur est associé à un processeur et à
son langage assembleur. Il traduit en binaire
chaque instruction écrite en assembleur.
Le désassembleur permet l'opération inverse.
Il analyse le code binaire et reconstruit les
instructions en langage assembleur.
Symbole
Le compilateur est associé à un langage de
programmation et à un processeur cible.
Il analyse séparément chaque fichier
source et génère pour chacun un fichier objet.
Il détecte le erreurs de syntaxe et vérifie la
cohérence de l'utilisation des opérateurs en
fonction du type de donnée.
Toutes les variables globales et toutes les
fonctions (non static) n'auront une adresse
définitive qu'à la fin de l'édition de liens.
Avant cette étape, (notemment lors de la
compilation) le compilateur les manipule
comme des symboles. On peut donc appeller
une fonction ou lire une variable en ne
connaissant que son type et son nom.
Bibliothèques
Linker
Les fichiers objets (c'est à dire déjà compilés)
fréquemment utilisés peuvent être regroupés
dans des bibliothèques (library).
Le linker (éditeur de liens) fabrique l'exécutable
à partir des fichiers objets et des librairies.
Il parcours les fichiers objets puis les librairies
pour trouver les symboles référencés. Il calculé
les adresses de tous les symboles.
Debugger - Hiwave
RESET CPU : Redémarrer
Stop
Run
Step Into
Step Over
Step ASM
Step Out
Pile
Les registres du CPU
La mémoire
Var. Locales
Un octet à l'adresse
0080BF
Nom :
Correction
Prénom : JOK
Groupe :
Date : 17/10/02
Date
18/10/02
Errors & Warnings
Groupe :
Prénom : JOK
Vous avez appelé une fonction en lui passant
trop ou trop peu de paramètres. Vérifiez la
déclaration de cette fonction.
Could not find or load X for target "Y" for project Z
Un fichier présent dans le projet n'existe pas
ou le chemin (access path) ne pointe pas sur lui.
xx.h file not found
Nom : CORRECTION
Wrong number of arguments
Le fichier inclu n'existe pas ou est mal
orthographié.
Expected ;
- Vous avec oublié un point virgule en fin
d'instruction.
- Le type d'une variable dans une déclaration
est mal orthographié.
Implicit parameter declaration
Une fonction n'a pas été déclarée.
MaVariable not declared (or typename)
Une variable ou un type n'a pas été déclaré.
Type mismatch (expected XX, given YY)
Vous avez appelé une fonction en lui passant
un argument dont le type n'est pas bon. Vérifiez la
déclaration de cette fonction.
1er parametre : Old style declaration
Les suivants : Typedef name expected
Dans la déclaration d'une fonction, le nom du type
d'un paramètre utilisé n'existe pas.
Link Error: Symbol XXin file YY.c.o is undefined
Une fonction ou une variable est déclarée mais
elle n'existe pas. Elle n'a pas été définie. Vérifiez
la cohérence entre déclaration et définition.
Link Error: Out of allocation space for segment X
Votre programme utilise trop de mémoire RAM.
Elle ne tient pas dans le composant HC12.
' }' missing
- Vous avez mélangé des déclarations aux
instructions.
- Il manque un accolade fermante.
HI-WAVE : Communication to ICD12 failed
La carte Star12 n'est pas connectée ou n'est pas
alimentée.
Téléchargement