2013-03-13 1 views
0

J'ai besoin d'un conseil, j'ai un tas de petites cartes que j'utilise pour la domotique et je continue à faire des changements et avoir à re-flasher sur les conseils. J'ai ajouté l'en-tête ICSP à toutes mes cartes afin qu'il soit facile de les flasher.Microchip PIC conseil de programmation

Voici ma question Je suis un monstre énorme gadget et je veux construire un programmeur bouton poussoir que je peux charger un fichier hexadécimal et aller à mes différents appareils et les flasher. J'ai juste besoin d'un coup de pouce dans la bonne direction en ce qui concerne le code, disons un exemple ou quelque chose comme ça. Je sais qu'il y a des outils pickit3 et 3rd party pour ça mais ça ne m'aide pas à apprendre lol.

merci encore

+0

Ce n'est pas un tour facile ... Vous devez imiter le comportement et le protocole du dispositif de programmation. Les informations à ce sujet peuvent même ne pas être faciles d'accès ... – ppeterka

+0

Cela dépend aussi de si la programmation est vierge ou de reflasher réellement, si c'est le cas, vous pouvez aller plus dans la direction du bootloader. –

Répondre

1

Avez-vous essayé un chargeur de démarrage? Microchip a un tas de bootloaders qui fonctionnent avec TCP/IP, USB, UART ... Si vous allez de la manière TCP/IP, vous pouvez appuyer sur un bouton de votre clavier et il peut mettre à jour à la volée.

1

La meilleure façon est PICkit3 à mon avis, mais si vous voulez apprendre ..... hier ma proposition pour l'interface HW:

1) Il y a beaucoup de desings en ligne pour programmer ICSP via le port série (RS232), cherchez celui que vous aimez, la prochaine étape sera de le modifier. Hier an example. 2) Dépend de la taille du fichier HEX que vous voulez charger, cherchez un PIC sur le marché avec EEPROM et deux UART (Microchip a un PIC bon marché avec 1024 ou plus avec deux UART comme le PIC18F25K80). Connectez l'uart1 au port série à l'ordinateur et l'UART2 au circuit de 1). 3) Ajouter au circuit une alimentation par batterie (par exemple avec quatre batteries AA pour obtenir plus de 5V, si votre Mcus permet une programmation avec une tension plus faible, l'ajuster, peut être vous devez ajouter un régulateur de tension LM7805 ou

4) Ajouter un swicht à l'une des broches d'E/S libres du PIC pour générer une interruption INT_X pour activer la programmation icsp lisant l'EEPROM et l'envoi via UART2. (PIC Rutine doit être programmé)

5) Vous devez programmer ou rechercher une rutine pour envoyer le fichier du PC au PIC_EEPROM (INT_RDA). (La rutine PC et la rutine PIC doivent être définies)

Peut être si vous copiez des données binaires dans l'EEPROM du PC (écoute MPLAB IPE Microchip aplication ou similaire) et chargez plus tard directement ces données dans le circuit ICSP de la même manière pourrait fonctionner, mais je pense qu'il est très improbable, d'autre part, vous devez charger le fichier HEX dans l'EEPROM et implémenter le "protocole" ICSP selon les spécifications du fabricant dans le PIC-EEPROM (ce serait probablement un gros effort), par exemple pour Microchip PIC24, les instructions d'implémentation de l'ICSP sont dans la section 3.0 datasheet.

Questions connexes