Jc/md/lp-01/06Applications1 Émulateur. jc/md/lp-01/06Applications2 Objectif du chapitre...
-
Upload
roselle-magnin -
Category
Documents
-
view
104 -
download
0
Transcript of Jc/md/lp-01/06Applications1 Émulateur. jc/md/lp-01/06Applications2 Objectif du chapitre...
jc/md/lp-01/06 Applications 1
Applications
Émulateur
jc/md/lp-01/06 Applications 2
Objectif du chapitre
• Génération d’applications– WCE Console Application– WCE Application
• Téléchargement des applications• Test des applications
jc/md/lp-01/06 Applications 3
Génération d’une application
• Le but n’est pas de faire un système nu, mais bien d’exécuter une ou plusieurs applications supportées par un noyau installé dans la cible
• Platform Builder dispose des outils pour créer des applications, avec plusieurs stratégies possibles
• Il faut ensuite transférer dans la cible le noyau et les applications préparés puis déclencher leur exécution
jc/md/lp-01/06 Applications 4
Génération application méthode #1
• Préparation d’un noyau et d’une application .exe ou d’une dll comme on le ferait avec un système de développement classique
• Association du noyau et des applications par Build Platform et dans une image par Make Image
• Téléchargement (Download) dans la cible• Déclenchement dans la cible par la commande
Exécuter, habituelle sous Windows ou à partir de Platform Builder par Run Program
jc/md/lp-01/06 Applications 5
Génération (build) : méthode #1
Application Noyau
Noyau & Application
Image
Mémoire
Build
Téléchargement
jc/md/lp-01/06 Applications 6
Génération application méthode #2
• Construction d’un noyau par Build Platform• Préparation d’un exécutable .exe ou d’une dll
sous l’outil de développement • Association du noyau et des applications dans
une image par Make Image• Téléchargement (Download) dans la cible• Déclenchement depuis la cible par la commande
« Exécuter » habituelle sous Windows ou à partir de Platform Builder par Run Program
jc/md/lp-01/06 Applications 7
Génération (build) : méthode #2
Applicationou driver
Noyau
Noyau & Application
Image
Mémoire
Make Image
Téléchargement
Applicationou driver Noyau
Build.exe .dll
BuildPlatform
jc/md/lp-01/06 Applications 8
Génération application méthode #3
• Construction d’un noyau par Build Platform• Préparation d’un exécutable .exe ou d’une dll
comme on le ferait avec un système de développement classique
• Téléchargement du noyau dans la cible• Téléchargement dans la cible de l’application
par la commande Run Program
jc/md/lp-01/06 Applications 9
Génération (build) : méthode #3
Application Noyau
Image noyau
Mémoire
Run Program
Téléchargement
Application Noyau
Build.exe
BuildPlatform
Applicationcible
jc/md/lp-01/06 Applications 10
Applications
• Création de 2 applications– WCE Console Application– WCE Application
• Ces applications ne seront pas incluses dans le noyau, mais seront téléchargées indépendamment du noyau
• Ces applications feront uniquement de l’impression de texte
jc/md/lp-01/06 Applications 11
Ouverture d’une plate-forme disponible
• Plate-forme disponible par opposition à création d’une plate-forme
• Par la page d’accueil, au centre– Choix d’une plate-forme proposée– Bouton « Open Workspace » puis sélection
• Par l’entrée « File » du menu principal– Sous-menu « Open Workspace »– Sous-menu « Recent Workspaces »
• Double click sur un nom de fichier avec un suffixe .pwb
jc/md/lp-01/06 Applications 12
Ouverture plate-forme proposée
jc/md/lp-01/06 Applications 13
Bouton « Open Workspace »
jc/md/lp-01/06 Applications 14
Projet CONSOLE_APP
• Appel de l’assistant• Renseignement des options• Choix du nom du projet• Choix des options de génération• Écriture du code source dans le fichier préparé• Génération de l’application• Téléchargement dans la cible• Exécution de l’application• Fin de l’exécution
jc/md/lp-01/06 Applications 15
File→New Project or File
jc/md/lp-01/06 Applications 16
Choix : WCE Console Application
Renseigner ce champ
jc/md/lp-01/06 Applications 17
Choix : A simple Windows CE…
jc/md/lp-01/06 Applications 18
Application CONSOLE_APP
Ouverture par double click
jc/md/lp-01/06 Applications 19
Fichier initial CONSOLE_APP.cpp
jc/md/lp-01/06 Applications 20
Platform→Settings
jc/md/lp-01/06 Applications 21
Build, but exclude from image
jc/md/lp-01/06 Applications 22
Programme CONSOLE_APP.cpp
#include "stdafx.h"#include <stdio.h>
int main(int argc, char *argv[], char *envp[]){
printf("Appuyez sur 'Entrée' pour continuer\n");getchar(); //attente d’un caractère quelconque
printf("Appuyez sur 'Entrée' pour terminer\n");getchar(); //attente d’un caractère quelconque return 0;
}
jc/md/lp-01/06 Applications 23
Génération de l’application
jc/md/lp-01/06 Applications 24
Exécution de l’application• Configurer la cible
Target→Configure Remote Connection• Charger le noyau
Target→Download/Initialize• Charger et lancer l’application
Target→Run Program
→CONSOLE_APP.exe
→OK• Fermer l’émulateur et la connexion
jc/md/lp-01/06 Applications 25
Chargement du noyau
jc/md/lp-01/06 Applications 26
Fenêtre cible en attente
jc/md/lp-01/06 Applications 27
Commande de chargement
jc/md/lp-01/06 Applications 28
Sélection du programme
jc/md/lp-01/06 Applications 29
Exécution après « Entrée »
jc/md/lp-01/06 Applications 30
Fermeture de la cible par l’icône
jc/md/lp-01/06 Applications 31
Déconnexion de l’émulateur
jc/md/lp-01/06 Applications 32
Fin de session d’émulation
• On arrive directement à la fenêtre de confirmation par l’icône adéquate de la barre des tâches
• Approuver la demande de confirmation• Le système est prêt pour une nouvelle émulation• Un message complémentaire pourra apparaître
dans certains cas voisins
jc/md/lp-01/06 Applications 33
Projet WCE_APP
• La démarche est la même que pour le projet CONSOLE_APP
• Appel de l’assistant, choix des options, du nom• Écriture du code• Génération• Téléchargement• Essai• Fin de la session
jc/md/lp-01/06 Applications 34
Création d’une WCE Application
jc/md/lp-01/06 Applications 35
A simple Windows CE application
jc/md/lp-01/06 Applications 36
Code proposé
jc/md/lp-01/06 Applications 37
Messages
• Pour afficher des messages en mode « WCE application » on utilise la fonction MessageBox qui crée une fenêtre et affiche un message
• On dispose du bouton « OK » pour fermer la fenêtre
• Les arguments permettent de donner un nom à la fenêtre, l’adresse du message
• La fonction retourne une valeur numérique qui caractérise la réponse de l’utilisateur
jc/md/lp-01/06 Applications 38
Fonction MessageBox
int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType );
ParametershWnd : [in] Handle to the owner window of the message box to be created. If
this parameter is NULL, the message box has no owner window.
lpText : [in] Pointer to a null-terminated string that contains the message to be displayed.
lpCaption : [in] Pointer to a null-terminated string that contains the dialog box title. If this parameter is NULL, the default title Error is used.
uType : [in] Specifies the contents and behavior of the dialog box. This parameter can be a combination of flags from the following groups of flags, etc.
Return ValuesL’entier retourné informe sur le comportement.
jc/md/lp-01/06 Applications 39
WCE_APP.cpp
#include "stdafx.h"#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){ MessageBox(NULL,_T("clicker sur 'OK' pour continuer"),
_T("WCE_app"),MB_OK| MB_ICONINFORMATION);
MessageBox(NULL,_T("clicker sur 'OK' pour terminer") , _T("WCE_app"),MB_OK|
MB_ICONINFORMATION);return 0;
}
jc/md/lp-01/06 Applications 40
Option de génération de la cible
jc/md/lp-01/06 Applications 41
Génération de WCE_APP.exe
jc/md/lp-01/06 Applications 42
Exécution de l’application• Configurer la cible
Target→Configure Remote Connection• Charger le noyau
Target→Download/Initialize• Charger et lancer l’application
Target→Run Program
→WCE_APP.exe
→OK• Fermer l’émulateur et la connexion
jc/md/lp-01/06 Applications 43
Première fenêtre observée
jc/md/lp-01/06 Applications 44
Seconde fenêtre observée
jc/md/lp-01/06 Applications 45
Fin de session
• Même résultat que dans la fin de l’exemple CONSOLE_APP, mais cette fois on utilise les icônes
• Fermeture de la fenêtre cible par l’icône standard sous Windows et acceptation de la confirmation
• Déconnexion de l’émulateur par l’icône de la barre d’outils « Target » de Platform Builder et acceptation de la confirmation
jc/md/lp-01/06 Applications 46
Fermeture fenêtre par l’icône
jc/md/lp-01/06 Applications 47
Déconnexion de session par l’icône
jc/md/lp-01/06 Applications 48
Conclusion
• Premiers exemples de réalisations d’applications simples sous Windows CE