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

Reprogrammer une mémoire flash série SPI 4Mbits 80MHz



  1. #1
    R4V3N76

    Reprogrammer une mémoire flash série SPI 4Mbits 80MHz


    ------

    Bonjour a tous,

    Comme dit dans le titre, je souhaiterais modifier le contenu de la mémoire flash de référence "SST25VF040B-80-4I-S2AE" et de marque microchip,
    Cette mémoire est associé a un pic24FJ256,
    J'ai le fichier en .hex a y insérer mais je ne sais pas comme faire.
    Dois-je la déssouder pour la programmer via un programmateur ? ou pourrais-je la reprogrammer via les broches de reprogrammation du PIC sur mon produit ?
    Sinon il y a des broches de debug (GND, Tx,Rx) mais je suis perdu.
    Je dispose de MPLAB X, et d'un ICD3

    Dit comme cela c'est surement très vague mais n'hésitez pas si vous avez des questions.

    -----

  2. Publicité
  3. #2
    gabuzo

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Je ne pense pas que tu puisses "inserer" un fichier *.hex, le nouveau fichier va écraser l'ancien. La seule solution c'est de flasher le nouveau et l'ancien en une seule fois.

    Pour la programmation in situ il y a quelques précautions à prendre et il me semble que certaines broches doivent être isolées du circuit. Faut regarder la doc Microship concernant l'ICSP
    Je suis Charlie

  4. #3
    R4V3N76

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    justement mon but est de remplacer son contenu par le nouveau fichier .hex

    il ne serais pas possible de reprogrammer la flash via le pic ?

  5. #4
    R4V3N76

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    j'ai remarqué que vie MPLAB IPE, dans la famille serial EEPROMs, la flash que je veux programmer est présente dans la liste "device :" seulement elle a un point rouge voir image ci jointe, alors que mon pic avais un point vert lorsque que le sélectionnais.

    je dois donc pouvoir la flasher via mon ICD 3 non ? j'ai surement des paramètres a changer ?
    Images attachées Images attachées

  6. #5
    Aurélien

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Tu es sur que cette mémoire externe doit être chargée avec un .hex ?
    Un .hex c'est pour programmer le PIC normallement.

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

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Tu es sur que cette mémoire externe doit être chargée avec un .hex ?
    Un .hex c'est pour programmer le PIC normallement.
    Bah justement, dans mon projet, j'ai bien mon .hex pour le pic, Ca il n'y a pas de probleme ca marche niquel. mais j'ai ma flash qui contient une animation de démarrage de mon produit et dans la doc technique issue d'un bureau R&D, on me dis bien que ce composant doit être programmer avec le fichier que je vais appeler ici animation.hex mais on ne me dis pas comment ?

  9. Publicité
  10. #7
    R4V3N76

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    j'abandonne l'idée de la chargé via MPLAB icd 3 ça ne fonctionnera pas, le matériel n'est tout simplement pas compatible, il me faudrait surement un MPLAB PM3 mais pas les moyens.

    Connaissez vous un moyen de programmer ce composant "SST25VF040B" ou "SST25VF016B" ?
    Même quitte a le dessouder et le ressouder ?

  11. #8
    vincent66

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Bonjour
    Je crois que le seul moyen est de la laisser soudée et de la programmer à l'aide du pic dans lequel vous flasherez un "loader" avant votre application ...

    Courage !
    Vincent
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  12. #9
    R4V3N76

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Je crois que tu as tout a fais raison, et on va se pencher sur cette piste,
    le truc c'est qu'on a tout les éléments pour le faire normalement, mais qu'on ne sait pas comment faire

    Merci de ta réponse vincent66

  13. #10
    ftorama

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Faut demander au bureau R&D de fournir les docs d'utilisation de cette carte.
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  14. #11
    Murayama

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Bonjour!

    Je ne vois pas le problème. Un fichier .hex, c'est de l'ASCII.
    Hex, c'est tout simplement une représentation du binaire pour que ce soit plus
    lisible. Il y a plusieurs formats possibles de hex. Exemple: le format texte
    MSP430 (Texas Instruments):

    Code:
    @8000
    64 A3 00 00 10 24 00 24 D8 A4 00 00 A6 A3 00 00
    42 24 12 24 98 A5 00 00 BC A3 00 00 22 9A 00 00
    B2 26 44 24 08 A5 00 00 90 A3 00 00 BE 26 B4 26
    ...etc...
    Ou encore le même en format "C" :

    Code:
    const uint8 MyFirmware[] = {
        0x00, 0x80,    // @8000 écrit en little endian pour être relu en uint16
        0x64, 0xA3, 0x00, 0x00, 0x10, 0x24, 0x00, 0x24, 0xD8, 0xA4, 0x00, 0x00, 0xA6, 0xA3, 0x00, 0x00,
        0x42, 0x24, 0x12, 0x24, 0x98, 0xA5, 0x00, 0x00, 0xBC, 0xA3, 0x00, 0x00, 0x22, 0x9A, 0x00, 0x00,
        0xB2, 0x26, 0x44, 0x24, 0x08, 0xA5, 0x00, 0x00, 0x90, 0xA3, 0x00, 0x00, 0xBE, 0x26, 0xB4, 0x26,
    ..etc...
    Le 2ème format a un inconvénient: le tableau va se retrouver intégralement
    dans le firmware du loader. Suivant le processeur, il est possible qu'il n'y ait
    pas la place.

    Dans le 2ème cas, c'est facile, il faut juste écrire les MyFirmware[i] dans la flash SPI
    page par page.

    Dans le premier cas, il faut transformer les donnés texte au vol (vous les lisez dans
    une carte SD ou par port série, etc...)

    Et à chaque fois que vous lisez une paire de caractère:
    Code:
        uint8 * charpair;
        uint8 low;
        uint8 high
        uint8 value;
        high = charpair[0];
        low = charpair[1]
        // Transformation du premier digit
        if(high <= '9') high -= '0';
        else high += 10 - 'A';
        // Transformation du 2 ème digit
        if(low <= '9') low -= '0';
        else low += 10 - 'A';
        // Calcul de la valeur à écrire
        value = high<<4+low;
        // Ecrire la valeur... etc...
    Et voilà! Bon, vous n'êtes pas obligé d'utiliser autant de variables, vous pouvez
    utiliser une macro pour transformer les digits, etc... mais c'est écrit pour être facile
    à comprendre.

    Dora.

  15. #12
    R4V3N76

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Faut demander au bureau R&D de fournir les docs d'utilisation de cette carte.
    justement on ne peu pas leur demander (plus de contact avec eux), sinon on ne serais pas ici à se poser la question.

    l'usine qui fabrique nos produit vient de nous fournir l'information qu'il utilise un appareil "Programmateur universel superpro-280u" c'est pas donnée.

    Merci Murayama pour ta réponse mais ca me dépasse la, on ne cherche pas a réécrire le code source non plus, on veux juste lui apporté des améliorations sans passer par le bureau R&D

  16. Publicité
  17. #13
    ftorama

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Citation Envoyé par R4V3N76 Voir le message
    justement on ne peu pas leur demander (plus de contact avec eux), sinon on ne serais pas ici à se poser la question.

    l'usine qui fabrique nos produit vient de nous fournir l'information qu'il utilise un appareil "Programmateur universel superpro-280u" c'est pas donnée.

    Merci Murayama pour ta réponse mais ca me dépasse la, on ne cherche pas a réécrire le code source non plus, on veux juste lui apporté des améliorations sans passer par le bureau R&D
    Dans ce cas, il faut voir si il y a des ponts de soudure ou un autre moyen d'isoler le port SPI de la mémoire du micro. A ce moment-là, il devient possible de brancher un module SPI directement sur la mémoire pour la flasher.

    Si il n'y a rien de tout ça, c'est qu'un loader est présent dans le programme du PIC et le retrouver est impossible à moins de disposer du code-source du micro
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  18. #14
    R4V3N76

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Je dispose justement du code source du micro

  19. #15
    RISC

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Salut,

    Il existe une carte à base de PIC24FJ256DA210 qui intègre 2 mémoire FLASH SST : une mémoire FLASH parallèle et une autre FLASH SPI SST25VF040B.
    Les librairies graphiques pour cette carte sont fournies avec un utilitaire qui reçoit sur la liaison série le fichier HEX et qui programme la (les?) mémoire(s) FLASH. Je ne sais pas si cet utilitaire programme la FLASH parallèle, la FLASH série ou les 2. Mais tu peux donc déjà au-moins récupérer l'utilitaire pour la liaison PC <==> PIC.
    Tu trouveras cela en téléchargeant les librairies Microchip. Ensuite tu les installes et tu vas dans ce répertoire :
    c:\microchip_solutions_v2013-06-15\Graphics\External Memory\
    et tu lis le document : Getting Started - Running the Graphics External Memory Programmer and Demo.htm
    C'est également là que se trouve le projet source de l'utilitaire.

    Si l'utilitaire ne flashe que la flash parallèle tu vas récupérer le driver pour ta flash SPI comme suit :

    Il existe aussi un kit de cartes comportant les mémoire flash SPI SST ( Serial SuperFlash Kit 1) au format Pictail Plus qui s'adapte à la carte EXPLORER16 qui est équipée d'origine avec un PIC24FJ128GA010.
    Les drivers de flash SPI sont fournis pour la carte EXPLORER16 ;=)
    Tu devrais donc pouvoir adapter sans trop de PB ce code avec le précédent (flasheur mémoire) pour avoir la solution complète ;=)

    Bon lego
    a+
    Dernière modification par RISC ; 08/11/2013 à 18h21.
    Ma marotte ? les microcontrôleurs ;=)

  20. #16
    R4V3N76

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Dans la doc technique, j'ai retrouvé un dossier contenant un programme nommé "External memory programmer", c'est forcément pour charger ma flash SST25VF016B avec le fichier donc j'ai besoin ...
    capt1.JPG

    Je l'ai lancé
    capt2.JPG

    et fais les réglages,
    capt3.JPG

    J'ai été cherché mon .hex a charger.
    capt4.JPG

    puis j'ai alimenté en 3V3 avec un générateur la broche d'alim,
    et enfin lancé la programmation mais rien ne charge.
    capt5.JPG

    hésitez pas si vous avez des questions.

  21. #17
    RISC

    Re : Reprogrammer une mémoire flash série SPI 4Mbits 80MHz

    Salut,

    Pas étonnant que cela ne marche pas vu ce que je voies sur tes captures d'écran...Je te renvoies à mon post précédent.
    Lis la documentation du logiciel External Memory programmer et tu comprendras comment cela fonctionne et quelles sont les conditions pour que cela fonctionne.
    Comme tu peux le remarquer la société qui a développé votre logiciel a utilisé la même méthode que j'avais préconisée.

    a+
    Dernière modification par RISC ; 12/11/2013 à 23h02.
    Ma marotte ? les microcontrôleurs ;=)

Sur le même thème :

Discussions similaires

  1. DSP & mémoire flash
    Par wes16F84 dans le forum Électronique
    Réponses: 0
    Dernier message: 28/03/2011, 15h57
  2. aide pour reprogrammer une mémoire nand flash
    Par bugess dans le forum Électronique
    Réponses: 6
    Dernier message: 03/10/2008, 01h13
  3. Actu - Deux bits par cellule mémoire pour le successeur de la mémoire Flash ?
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 0
    Dernier message: 04/02/2008, 15h45
  4. mémoire flash
    Par merou dans le forum Physique
    Réponses: 1
    Dernier message: 22/04/2006, 20h41
  5. Mémoire flash
    Par jayagus dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 16/03/2006, 13h34
Découvrez nos comparatifs produits sur l'informatique et les technologies.