PIC mesure de la mémoire restante
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

PIC mesure de la mémoire restante



  1. #1
    invite3f493f86

    PIC mesure de la mémoire restante


    ------

    Bonjour,

    Je programme un PIC 18f4550 en C avec C18.
    Mon programme est basé sur un code de microchip pour gérer l'USB.

    La taille de la RAM est de 2048 octets mais je ne connais pas le quantité de RAM réservée pour la gestion de l'usb.

    Je voudrais déclarer un tableau de unsigned char aussi grand que possible. Comment connaitre la quantité de mémoire disponible au moment de la réservation?

    Je n'ai aucun message d'erreur ou de warning si je réserve une valeur délirante.

    -----

  2. #2
    RISC

    Re : PIC mesure de la mémoire restante

    Salut,

    Ce qui est sur c'est que tu ne peux pas réserver de si grands tableaux que cela (256 octets max je pense) sans modifier le Linker file :

    DATABANK NAME=gpr0 START=0x60 END=0xFF
    DATABANK NAME=gpr1 START=0x100 END=0x1FF
    DATABANK NAME=gpr2 START=0x200 END=0x2FF
    DATABANK NAME=gpr3 START=0x300 END=0x3FF

    DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED
    DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED
    DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED
    DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED
    ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED

    (attention en mode debug une petite partie de la banque 3 disparait)

    1ere possibilité : dans MPLAB
    Project > Build options > project > onglet [MPLINK linker] > cocher "Generate map file".
    Cette option génére un fichier xxxx.map qui te donne l'image mémoire des différents tableaux et variables

    2e possibilité : dans MPLAB
    View > Memory Usage Gauge

    a+
    Dernière modification par RISC ; 14/10/2009 à 11h41. Motif: addition

  3. #3
    invite3f493f86

    Re : PIC mesure de la mémoire restante

    Merci pour ta réponse, je n'avais pas percuté avec les histoires de page mémoire et je me suis embrouillé avec une histoires de extern variable. J'ai corrigé et pas de problème, je réserve correctement ma mémoire par pages de 256 octets.

    J'ai juste une question complémentaire :

    Comme j'utilise le module USB, je ne dispose donc que de 3 pages complètes (GPR), 4 pages sont réservées à la gestion de l'usb
    (voir doc, pages 57&64
    http://ww1.microchip.com/downloads/e...Doc/39632b.pdf)

    Un partie de la Bank0 (jusqu'à 0x60 = 96 octets) est réservée au BSR mais je devrais pouvoir utilisé le reste, soit 160 octets, non?

    Cependant, si je déclare une 4ème page, je ne peux y réserver que 60 octets, pourquoi?

  4. #4
    RISC

    Re : PIC mesure de la mémoire restante

    Salut,

    La banque 0 est utilisable complètement.
    Simplement la première partie est déclarée en banque ACCESS, c'est à dire que le compilateur va placer automatiquement tes variables globales dans cette zone pour éviter les changements de banque.
    Cette zone est privilégiée (voir la datasheet). Tu peux TOUJOURS y accéder en 1 cycle quelquesoit la banque actuelle.

    NB : si tu as besoin de zones plus grosses que 256 octets, tu peux changer le linker file (SURTOUT crée ton propre linker file dans TON projet et ne touche pas à l'original).
    Je pense simplement que le code généré par le compilateur va être plus gros...
    Exemple pour déclarer une zone de 512 octets (banques 1& 2) :
    DATABANK NAME=gpr1et2 START=0x100 END=0x2FF

    a+

  5. A voir en vidéo sur Futura
  6. #5
    invite3f493f86

    Re : PIC mesure de la mémoire restante

    .......Merci!

Discussions similaires

  1. pic SPI et mémoire MMC
    Par inviteef26fb36 dans le forum Électronique
    Réponses: 47
    Dernier message: 31/05/2011, 10h02
  2. PIC 18f et mémoire SPI
    Par invite06caf16f dans le forum Électronique
    Réponses: 2
    Dernier message: 02/04/2009, 09h43
  3. Probleme de memoire PIC et LCD
    Par invite6cb06424 dans le forum Électronique
    Réponses: 10
    Dernier message: 26/03/2009, 22h26
  4. PIC-mémoire flash (FAT16)
    Par invite86ffa844 dans le forum Électronique
    Réponses: 39
    Dernier message: 13/10/2008, 13h46
  5. pic 16F877 et la mémoire
    Par invite0d9691eb dans le forum Électronique
    Réponses: 1
    Dernier message: 08/05/2008, 11h15
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...