locked
Deploiement d'une application RRS feed

  • Question

  • Bonjour tout le monde,

    Je viens par ce post vous demandez svp si vous pouvez me dire comment je dois faire le déploiement de mon application (managed ou natif) car j'ai visionner le webcast qu'a fait M T.Joubert et M Y.Balere lors "Microsoft TechDays 2007" ( au cas où certains n'ont pas encore vu céla allez sur le lien suivant )http://www.microsoft.com/france/vision/WebcastMsdnTechDays.aspx?EID=52c02d3e-c6cf-4fc1-a8a9-32291d6f2db0

     

    En fait j'ai fais une application(windows forms) visual C++ et une application C# et je voulais les deployer toutes les deux applications sur ma machine cible et pour cela je suis allé même a créer un SDK et que par la suite je n'arrive pas à le voir dans ma liste déroulante,du coup je suis allé sur le site d'ADVENTECH qui est le fabriquant de ma carte PCM 5820 et je n'ai pas trouvé de SDK qui concerne ma carte spécialement mais j'ai pu telecharger le SDK suivant : "7_ADVANTECH_X86_CE50_SDK.msi"

    J'ai compiler en DEBUG configuration lors du telechargement de mon noyau et par la suite j'ai copié mon fichier NK.BIN sur ma compact flash.

    Mon BSP vous l'avez compris est de type CEPC:X86 et le template c'est un CUSTOM DEVICE.

    Donc voila ce que j'obtiens à chaque fois comme erreur quand je fais le déploiement:

     

    Début de la génération : Projet : DeviceApplication2, Configuration : Release Any CPU ------

    DeviceApplication2 -> C:\WINCE600\OSDesigns\OS_APPLICAM\DeviceApplication2\bin\Release\DeviceApplication2.exe

    ------ Début du déploiement : Projet : DeviceApplication2, Configuration : Release Any CPU ------

    Le périphérique n'est pas prêt. Si la cible est un périphérique ActiveSync, vérifiez que la connexion ActiveSync est active.

     

    La connexion au périphérique a échoué.

    ========== Génération : 1 a réussi ou est à jour, 0 a échoué, 0 a été ignoré ==========

    ========== Déploiement : 0 a réussi, 1 a échoué, 0 a été ignoré ==========

     

     

    Et quand j'ai vu ceci j'ai telechargé Microsoft Activesync 4.5 mais là aussi je n'y arrive à le connecter sur tous les ports disponible et je pense d'ailleur que Activesync n'est utilisable que pour les Pocket PC.

    Excuse moi svp de la lenteur de ma question c'etais juste pour commencer a developper dans le monde de l'embarquée puisque par la suite je dois créer et gerer une base de données avec SQL CE lequel je ne vois pas nettement dans le catalogue windows CE 6.0 car je pense qu'il a une liaison avec le composant "EDB engine" qui se trouve dans le catalogue de winCE 6.0.

     

    Cordialement DAHIR.

    jeudi 5 juillet 2007 14:27

Réponses

  • Merci beaucoup pour vos réponses mais mon probleme de compact flash qui n'arrive pas a booter concernait le fichier boot.ini (le fichier boot.ini s'installe sur la compact flash quand on fait un secteur de boot et le biosloader pour la compact flash,avec le fameux MKDISK.BAT) qu'il fallait changer et de mettre NK.bin a la place de Eboot.bix.

    Pour l'ancienne compact flash j'avais fais ainsi mais heureusement que j avais noté quelque part ces changements et ca m'a sauvé.

    Merci M Bloch ainsi que M Joubert.

    #

    # BIOS loader configuation file

    #

     

    #

    # Video settings

    #

     

    # Video on/off

    Video=on

     

    # Display screen width

    DisplayWidth=640

     

    # Display screen height

    DisplayHeight=480

     

    # Display screen depth

    # Possible values: 8, 15, 16, 24, 32

    DisplayDepth=16

     

    # Physical screen width

    # Must be greater or equal to DisplayWidth

    # PhysicalWidth=640

     

    # Physical screen height

    # Must be greater or equal to DisplayHeight

    # PhysicalHeight=480

     

    #

    # Debug settings

    #

     

    # Ethernet adapter base address (hex)

    # EthIO=0x3f0

     

    # Ethernet adapter IRQ number

    # EthIRQ=5

     

    # Debug IP address

    # DbgIP=10.0.0.1

     

    #

    # Boot settings

    #

     

    # Primary BIN file name

    BinFile=nk.bin        //avant c'etait marqué eboot.bix     ß C’est ici qu’on fait le changement

     

    # Alternative image

    # While booting hit the key corresponding to the suffix char (e.g. "1" for

    # BinFile1) to boot the alternative image

    # BinFile1=alt.bix

     

    # Secondary BIN file name. Used when BinFile fails.

    BakBinFile=eboot.bix

     

    # Boot delay (in seconds) in which to select the alternative image

    Delay=5

     

    # Device name root string

    DeviceNameRoot=CEPC

     

    # Flash backup yes/no

    FlashBackup=no

     

    # Debug zone:

    #   1 - error

    #   2 - warning

    #   4 - info

    DebugZone=0x00000007

     

    # COM Port to pass in BootArgs (Functionality must be supported by loaded program [eboot/nk..etc] for argument to have an affect)

    #   0 - Suppress

    #   1 - COM 1

    #   2 - COM 2

    #   3 - COM 3

    #   4 - COM 4

    COMPort=1

     

    vendredi 20 juillet 2007 14:04

Toutes les réponses

  • Bonjour,

     

    Merci pour le lien sur le WebCast Techdays 2007 

     

    ActiveSync peut fonctionner avec toute cible Windows CE à la condition que le composant Activesync fasse partie du noyau et qu'il soit démarré.

     

    Une autre technique pour connecter une cible CE avec VisualStudio 2005 sans ActiveSync mais via un lien Ethernet consiste à utiliser la "Core Connectivity" (CoreCon), la manip est montrée au début de la partie 3/3 du Webcast. Il faut include deux exécutables dans la cible : Conmanclient2.exe et Cmaccept.exe (ils sont dans l'aborescence "Program Files", il faut prendre la version 1.0)

     

    Lorsque la cible est démarrée et reliée au PC il faut lancer ces deux exécutables (dans une console ou en cliquant sur les icônes) puis sous VS2005 il faut configurer la connexion dans le menu "Outils/Options/Options de Périphérique" , Propriétés:  "Transport TCP/ adresse spécifique= adresse IP de la cible". Puis "Outils/Se connecter au périphérique". Lorsque la connexion a réussi, le déploiement depuis Visual Studio fonctionne.

     

    Cordialement,

    Thierry Joubert - eMVP - THEORIS

     

     

     

     

    vendredi 6 juillet 2007 21:35
  • Bonjour Monsieur JOUBERT,

     

    Merci pour votre reponse,de ce qui est des fichiers executable pour la methode sans Activesync , j'ai lus un article de M MIKE.HALL qui expliquait cela mais mon probleme c'est ce que je n'ai pas la partie "THIRDS PARTY" et meme je me suis debrouiller a recupere ces deux fichiers sur internet mais le probleme est toujours le meme car je ne sais pas comment je vais mettre ces fichiers dans mon catalogue.

    J'ai vu que pour le windows CE 5.0 mon tuteur m'avais donné un CD "thirds party"pour l'installation des pilotes et autres que je voulais ajouté dans mon catalogue, est ce alors la meme chose pour le CE 6.0 .

     

    Cordialement Dahir.

    vendredi 6 juillet 2007 23:43
  • Bonjour,

     

    Le CD Third Party de CE 5.0 ne contient pas de composant CoreCon à ma connaissance.

     

    Ci-dessous qautre techniques différentes pour mettre les deux fichiers sur la cible, du plus simple au plus compliqué :

    --------

    1/ les copier sur la Compact Flash à côté du NK.bin (il faut que CE voit la CF comme un disque grâce au composants ATAPI IDE et FAT)

    ---------

    2/ Les copier sur une clé USB que l'on insère sur la cible (il faut que CE ait le pilote de contrôleur USB Host ainsi que la fonction  Mass Storage)

    ---------

    3/ Les mettre dans le noyau en ajoutant deux lignes dans le project.bib (il faut en plus que les fichiers soient dans l'arborescnce OAK/files du projet ou plus simplement dans le répertoire RelDir/CEPC_x86_Release )

    ---------

    4/ récupérer un composant déjà fait dans le BSP de la carte eBox 2300 sur le site http://www.embeddedpc.net

    ---------

     

    Cordialement,

    Thierry Joubert

     

     

    samedi 7 juillet 2007 13:18
  •  

    Pour ce qui est des methodes que vous m avez citez, j ai choisit la premiere mais le probleme reste toujours là car sur ma machine cible je ne vois guère les fichiers que j'ai mis dedans (clientshutdown.exe , eDbgTL.dll , TcpConnectionA.dll , ConmanClient2.exe , CMAccept.exe ), lesquels j'ai récupéré sur ineternet et par la suite je les ai copié sur ma compact flash et rien a faire je vois rien dans les documents presents sur ma machine.

    De ce fait,je suis passé à la seconde etape, et là aussi sans surprise je n'arrive pas a voir l'emplacement de ma clé USB et par contre comme vous m avez dis j'ai mis les pilotes de contrôleur USB host et la fonction Mass storage ainsi que d'autres fonction concernant l'USB.

    Ce qui est bizaare aussi c'est ce que il y'a quelques jours quand je mettais ma dalle a contact USB sur l'ecran de ma machine cible s'affichais un message me disant de mettre les pilotes concernant cet appareil USB et quand j'ai mis ce matin ma clé usb je ne vois rien du tout sur ma machine cible.

    Je vais encore chercher pour retrouver ce qui me manque concernant la connexion entre mon pc et ma machine cible.

    Pourtant quand je me connecte avec l'ethernet (RJ45 croisé) et en compilant en mode debug mon noyau,d'apres un article de M Olivier.Bloch j'arrive à envoyer des signaux sur ma compact flash,je peux executer certains programmes(par exemple helloworld.exe,cerdisp.exe...etc) qui sont sur mon pc de developpement mais quand je veux voir ce que j'ai mis sur ma compact flash ceci devient une autre histoire et rien a faire.

    Mais bon je tenais beaucoup a vous remercier, je vais continuer à chercher je suis sûre que je trouverais et s'il se peut c'est genre un petit truc que je ne vois pas pour le moment qu'il faut le regler.

    Excusez moi pour mes blablas je parle trop.

     

    Cordialement DAHIR.

    lundi 9 juillet 2007 14:21
  • Bonjour,

     

    Lorsque vous branchez votre clé USB, si elle est reconnue vous devez voir un nouveau répertoire "Hard Disk" à la racine du file system (il n'y a pas de lettres de volumes sous Windows CE mais les unités physiques sont montées sous forme de répertoires).

     

    La Compact Flash de son côté est montée sur un répertoire "Storage Card" à la racine, pour que l'OS Windows CE voie une CF sur contôleur IDE il faut mettre  les composants "ATAPI PCI/IDE Storage Block Driver" et "Storage Manager" dans votre noyau.

     

    Cordialement,

    Thierry Joubert - THEORIS

     

     

    lundi 9 juillet 2007 17:07
  • Merci beaucoup pour votre réponse M Joubert.

    J ai bien vu qu'il n'y a pas de lettre pour les disque en winCE, ouiiii je cherche bel et bien ce fichier "storage card" mais je ne retrouve rien du tout sur ce qui se trouve dans l'OS CE il y'a que des fichiers vides et pour ce qui est des composants j'ai ajouté tous les sous-composants de ATAPI du catalogue winCE 6.0 ,le "storage manager" et "Fat file system" aussi.

    Et je pense que le fait de compiler le noyau en mode DEBUG ou RELEASE n'aucun effet sur la compact flash,sinon j'ai installé activesync aussi sur mon windows CE mais je n'arrive pas à l'ouvrir le .exe car à chaque fois que je veux l'installer et que je le clique dessus il m'affiche que "il n'ya pas d'application associé à ceci....etc."

    En fait ce que je comprend pas c'est ce que quand j'ajoute le KITL et que je suis connecté avec que le câble ethernet je peux par exemple lancer des petits programmes comme CERDISP.exe , HelloWordl.exe (d'après l'article de M O.Bloch :

    http://msdn2.microsoft.com/fr-fr/library/80e03f8d-2430-40a0-b6d4-33c788ee56c0.aspx   )  , j'arrive à executer ces programme sans probleme du coup je me dis que je suis connecté sur le CEPC mais le probleme du déploiement devient tout autre chose car quand je fais un projet natif ou managed à part et que je fais "se connecter au periphérique" j'ai toujours DEPLOIEMENT non réussi et ensuite s'affiche en bas périphérique pas encore prêt....activesync doit etre activé.....etc.

    Pour ce qui est de la 3 ème methode que vous m'avez dis,est ce que ceci est bon? :

     

    MODULES
    ;  Name                                      Path                                                       Memory Type
    ;  --------------                          ---------------------------------------------                      -----------

    Conmanclient2.exe         $(_FLATRELEASEDIR)\ConmanClient2.exe                      NK

    CMAccept.exe                       $(_FLATRELEASEDIR)\CMAccept.exe                             NK

          
    FILES
    ;  Name            Path                                           Memory Type
    ;  --------------  ---------------------------------------------         -----------

     

     Comme question je voulais vous demandez SVP,comment fais t on pour avoir le "third party" sur le catologue CE 6.0 sachant que je suis sous un carte X86 PCM 5820 ?

     

    Cordialement DAHIR.

    Comme question je voulais vous demandez SVP,comment fais t on pour avoir le "third party" sur le
    mardi 10 juillet 2007 15:09
  • Bonjour,

     

    D'après ce que je comprends, le lancement des programmes marche lorsque le noyau - avec KITL - est téléchargé via EBOOT.BIN, par contre cela ne marche plus lorsque le noyau est copié sur la CF et lancé avec LOADCEPC.EXE.

     

    Si c'est bien le cas c'est normal car le protocole KITL - qui sert à faire du debug kernel - ne se met en place que lors d'un téléchargement du noyau. Lorsque le noyau est copié et démarré depuis la cible il faut passer par le protocole "Core Connectivity".

     

    La 3eme méthode devrait marcher avec les lignes ci-dessus insérées dans le fichier project.bib, ATTENTION il faut en plus que les deux fichiers EXE soient dans le répertoire FLATRELEASEDIR du projet lors de la commande MAKEIMAGE. Pour cela soit vous les copiez juste avant de faire "Générer/Make Runtime Image", soit vous les mettez dans le répertoire "OSdesigns/_votre-projet_/_votre-projet_/Wince600/CEPC_x86/OAK/files" et ils seront toujours inclus dans le NK.BIN de votre projet.

     

    Le répertoire "Third Party" apparait dans le catalogue lorsque vous installez des BSP supplémentaires. Si vous installez par exemple le BSP CE6 de la carte eBox 2300, vous aurez le composant "ConMan-v86 Files Component" et vous pouvez l'inclure car il est compatible avec votre PCM-5820.

     

    Cordialement

    Thierry Joubert - THEORIS

    lundi 16 juillet 2007 07:59
  • Merci beaucoup de l'inttention que vous portez sur mon projet.

    Pour ce qui est des fichiers executable , je les voyais pas parce que le probleme venait de ma compact flash  qui etait de Sandisk serie d'octobre 2003 et a ce que j'ai vu sur un forum toutes ces compacts flash ont le meme probleme et du coup j'ai decidé de changer et de travailler sur une nouvelle et ca marche bien parce que je vois mes fichiers qui sont dans la compact flash quand je telecharge mon noyau NK.bin.

    Mais comme les probleme s ne finissent jamais de mon projet excuxé de vous derangé encore mais là maintenant quand je mets mon fichier NK.bin dans ma flash il s'excute meme pas sans chercher a se connecter ou pas avec vs2005 alors que l'ancienne compact flash executait au moins cela et là je suis dans l embarras depuis vendredi que j'ai pris la nouvelle compact flash car j'en avais aussi parlé avec M. Olivier.Bloch , et depuis je sais pas pourquoi elle refuse de demarrer avec mon NK.bin.

    En fait, ce que je voulais savoir y'a t il par hasard des compact flash qui n'arrivent jamais à booter?

     

    Cordilement Dahir.

    lundi 16 juillet 2007 13:24
  • Bonjour,

     

    Pour que votre nouvelle CF soit utilisable il faut qu'elle soit formatée comme périphérique de BOOT.

     

    Le plus simple consiste à la formater bootable sous DOS, deux solutions:

    1/ sur votre cible où elle est vue comme un disque IDE, vous bootez sur une disquette ou un CD DOS, puis vous faites FDISK suivi de FORMAT /S

    2/ sur votre PC XP avec un lecteur CF vous utilisez un outil de préparation de volume bootable (outil sp27213.exe de HP par exemple).

     

    Dans tous les cas il faudra copier les fichiers (autoexec, loadcepc, etc..) de l'image DOS contenue sous WINCE600.

     

    Cordialement,

    Thierry Joubert (eMVP) - THEORIS

    mardi 17 juillet 2007 09:00
  • Ce que j'expliquais offline, c'est que certaines CF utilisent le mode DMA (Direct Memory Access) et non le mode PIO. Par défaut, le driver ATA cherche un support DMA et s'en sert s'il en trouve, mais l'implémentation n'est pas à priori super fonctionnelle suivant le hard... Du coup on peut forcer le mode PIO en ajoutant les paramètres de base de registre suivants à la cible :

     

    [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\GeodeIDE\Device0]
             "Settings"=dword:A <- will disable DMA (Default = F)

     

    Sinon, pour la prépartion de la compact flash, il et possible d'utiliser un utilitaire fourni dans Platform Builder et qui s'appelle mkdisk, permettant de mettre en oeuvre le BIOSLOADER pour une cible X86 (cf  http://msdn2.microsoft.com/en-us/library/aa912864.aspx)

     

     

     

    mercredi 18 juillet 2007 12:20
  • Merci beaucoup pour vos réponses mais mon probleme de compact flash qui n'arrive pas a booter concernait le fichier boot.ini (le fichier boot.ini s'installe sur la compact flash quand on fait un secteur de boot et le biosloader pour la compact flash,avec le fameux MKDISK.BAT) qu'il fallait changer et de mettre NK.bin a la place de Eboot.bix.

    Pour l'ancienne compact flash j'avais fais ainsi mais heureusement que j avais noté quelque part ces changements et ca m'a sauvé.

    Merci M Bloch ainsi que M Joubert.

    #

    # BIOS loader configuation file

    #

     

    #

    # Video settings

    #

     

    # Video on/off

    Video=on

     

    # Display screen width

    DisplayWidth=640

     

    # Display screen height

    DisplayHeight=480

     

    # Display screen depth

    # Possible values: 8, 15, 16, 24, 32

    DisplayDepth=16

     

    # Physical screen width

    # Must be greater or equal to DisplayWidth

    # PhysicalWidth=640

     

    # Physical screen height

    # Must be greater or equal to DisplayHeight

    # PhysicalHeight=480

     

    #

    # Debug settings

    #

     

    # Ethernet adapter base address (hex)

    # EthIO=0x3f0

     

    # Ethernet adapter IRQ number

    # EthIRQ=5

     

    # Debug IP address

    # DbgIP=10.0.0.1

     

    #

    # Boot settings

    #

     

    # Primary BIN file name

    BinFile=nk.bin        //avant c'etait marqué eboot.bix     ß C’est ici qu’on fait le changement

     

    # Alternative image

    # While booting hit the key corresponding to the suffix char (e.g. "1" for

    # BinFile1) to boot the alternative image

    # BinFile1=alt.bix

     

    # Secondary BIN file name. Used when BinFile fails.

    BakBinFile=eboot.bix

     

    # Boot delay (in seconds) in which to select the alternative image

    Delay=5

     

    # Device name root string

    DeviceNameRoot=CEPC

     

    # Flash backup yes/no

    FlashBackup=no

     

    # Debug zone:

    #   1 - error

    #   2 - warning

    #   4 - info

    DebugZone=0x00000007

     

    # COM Port to pass in BootArgs (Functionality must be supported by loaded program [eboot/nk..etc] for argument to have an affect)

    #   0 - Suppress

    #   1 - COM 1

    #   2 - COM 2

    #   3 - COM 3

    #   4 - COM 4

    COMPort=1

     

    vendredi 20 juillet 2007 14:04