Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Probleme Bootloader HID et USB



  1. #1
    SaiBot

    Post Probleme Bootloader HID et USB


    ------

    Bonjour a Tous,

    Je travail avec pic18f45j50, mon but et de programmer un bootloader pour charger un nouveau firmware si besoin est, dans une souris.

    Pour cela, j'ai utilisé le sample de microchip qui se nomme, HID - Mouse pour avoir un firmware de souris qui fonctionne, cela est OK la souris fonctionne sans probleme.

    Ensuite j'ai creer un nouveau firmware un peu "bidon" qui simplement allume des LEDs (donc dans celui-ci, aucune juste gestion de l'USB).

    J'utilise le bootloader de microchip, hidbootloader.exe.

    Grace au soft de microchip, j'arrive bien a reprogrammé mon pic avec le firmware "bidon" (celui qui allume les LEDs lol)

    mais lorsque je veut reprogrammé le pic avec le firmware de la souris (donc le sample, qui fonctionne très bien tout seul) au redémarrage de la souris j'ai une erreur Windows qui m'indique que le périphérique USB n'est pas reconnu... alors que le firmware fonctionne très bien que je le charge via MPLAB.

    Auriez vous une idée d'où cela peut venir ?

    Je peut vous fournir mes sources si vous le souhait ça peut vous servir.

    Mercie d'avance pour les réponse.

    SaiBot

    -----

  2. Publicité
  3. #2
    RISC

    Re : Probleme Bootloader HID et USB

    Salut,

    Si ton programme fonctionne bien seul mais pas avec le bootloader je dirais que ton problème vient du fichier linker spécial nécessaire pour reloger la version bootloadée.

    Je te recommande de regarder les exemples inclus dans la stack USB pour la carte PICDEM FS-USB qui utilise un PIC18F4550 donc très proche de ton micro.
    Il existe (de tête) 2 bootloaders : un HID et un en classe custom ainsi que des exemples de chargement d'applications dont "Mouse in a circle" qui émule une souris qui tourne en rond.

    Peux-tu expliquer les modifs que tu as faites dans le fichier linker pour ta version bootloadée ?

    a+

  4. #3
    SaiBot

    Re : Probleme Bootloader HID et USB

    Citation Envoyé par RISC Voir le message
    Il existe (de tête) 2 bootloaders : un HID et un en classe custom ainsi que des exemples de chargement d'applications dont "Mouse in a circle" qui émule une souris qui tourne en rond.
    Effectivement RISC, il existe 2 bootloaders :
    1) Le HID bootloader : que j'utilise
    2) Le Custom vendor : mais qui malheureusement ne s'applique pas a la famille de pic type J.

    Pour ce qui est des linker, J'ai utilisé ceux fourni par microchip.
    Pour mon application, j'ai utilisé celui qui se trouve ici :
    C:\Microchip Solutions\USB Device - Bootloaders\HID - Bootloader\HID Bootloader - Firmware for PIC18F46J50 Family Devices\Linker files for applications\rm18f45j50_g.lkr

    Et pour le bootloader j'ai pris celui-ci :
    C:\Microchip Solutions\USB Device - Bootloaders\HID - Bootloader\HID Bootloader - Firmware for PIC18F46J50 Family Devices\BootModified.rm18f45j5 0_g.lkr

    je les met en pièces jointes si cela peut aider.

    Merci
    Fichiers attachés Fichiers attachés

  5. #4
    SaiBot

    Re : Probleme Bootloader HID et USB

    Bonjour,

    Alors pour l'info j'ai réussi a débloqué la situation mais je ne suit pas completement satisfait lol!
    Enfaites dans mon firmware, l'usb etait configuré en mode INTERRUPT, j'ai changé et je suis passé en mode POLLING et la Magie! SA MARCHE!

    Le truc c'est que je voudrais que cela marche avec USB_INTERRUPT car il y a une meilleur gestion de la bande passsante dans la communication avec le PC.

    Si quelqu'un aurait quelques infos sur ces 2 modes, type difference, avantages, etc....

    Merci d'avance

  6. #5
    RISC

    Re : Probleme Bootloader HID et USB

    Salut,

    Je pense également que le mode Interrupt est plus intéressant au niveau bande passante mais je n'ai pas encore eu l'occasion de l'utiliser...Je ne sais si ce mode est utilisé dans un des projets USB de la dernière stack (v2.5a).
    Du pourrais peut-être trouver quelqu'un qui a utilisé le mode interrupt sur ce forum dédié à USB.

    a+

  7. A voir en vidéo sur Futura
  8. #6
    SaiBot

    Re : Probleme Bootloader HID et USB

    Bonjour a tous!!!

    bon bonne nouvelle, j'ai réussi a faire fonctionner mon bootloader avec le mode USB_INTERRUPT!
    le problème était que j'ai du rajouter (dans le projet de bootloader pas du firmware) trois pour initialiser mes switchs, leds, etc...
    Du coup cela avait decalé les adresses des instructions suivantes, donc les vecteurs d'interruptions ne se trouvait plus a 0x08 ni 0x18.
    D'où mon problème avec le mode INTERRUPT

    Merci a tous pour votre aide ,
    A bientot

    SaiBot

  9. Publicité
  10. #7
    RISC

    Re : Probleme Bootloader HID et USB

    Salut,

    Merci pour le retour. Effectivement quand les vecteurs d'INT sont plus à la bonne place ça déménage...;=)

    Peux-tu me dire si tu vois une différence important entre le mode polling et le mode interrupt. Ca m'interesse pour un futur projet.

    Merci
    a+
    Dernière modification par RISC ; 21/08/2009 à 22h46. Motif: correction

Sur le même thème :

Discussions similaires

  1. PIC USB et HID (avec EasyHID) en C!
    Par Shaiton dans le forum Électronique
    Réponses: 39
    Dernier message: 01/11/2009, 11h39
  2. Probleme avec Bootloader HID PIC18F2450
    Par Lahrach dans le forum Électronique
    Réponses: 5
    Dernier message: 04/12/2008, 11h49
  3. USB sous LINUX (HID par PIC)
    Par Shaiton dans le forum Électronique
    Réponses: 5
    Dernier message: 21/08/2008, 10h47
  4. Périphérique HID USB avec un PIC
    Par inoxxam dans le forum Électronique
    Réponses: 3
    Dernier message: 11/07/2008, 00h09
  5. USB hid prob main()
    Par Shaiton dans le forum Électronique
    Réponses: 2
    Dernier message: 15/03/2007, 13h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.