En augmentant la taille du tableau, le programme cesse de fonctionner
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

En augmentant la taille du tableau, le programme cesse de fonctionner



  1. #1
    mmm999

    Red face En augmentant la taille du tableau, le programme cesse de fonctionner


    ------

    Bonjour chères membres
    J’avais développé un programme pour un PIC 18F452 cadencé à 10 MHZ qui permet de démarrer la stack TCP/IP et de se connecter à un réseau domotique via Ethernet en utilisant un contrôleur d’Ethernet le ENC28J60.
    Cette plateforme fonctionne comme un serveur TCP (pas d’application spécifique, juste je reçois les données brutes et je manipule ces données).
    Le programme n’est pas stable en fonctionnement, plusieurs reset système pour passer le cycle DHCP et entrer dans le régime serveur.
    Lorsque je mets un buffer de réception sous forme d’un tableau de caractère de 100 cases. L’application ne fonctionne jamais même avec plusieurs tentatives de reset.
    J’ai diminué ce buffer jusqu’au 16. Ça fonctionné avec la série de reset.
    Maintenant j’ai installé un LCD couleur
    Alors là, aucun vivant
    Quelqu’un peut m’expliquer le phénomène technique ou physique ?

    -----

  2. #2
    jiherve

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    Bonjour,
    Out of memory ? (1,536 bytes c'est pas bezef)
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    mmm999

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    non pas de problème de mémoire
    le compilateur n'a pas atteint la totalité de mémoire

  4. #4
    Jack
    Modérateur

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    je ne vois pas le rapport entre le compilateur et l'utilisation dynamique de la ram

    A+

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

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    A mon avis, tu devrais déjà essayer de faire fonctionner le tout en IP fixe, le débugguer entièrement, et ensuite quand tout va bien tu remets en route le DHCP.

  7. #6
    mmm999

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    non je n'utilise pas l'allocation dynamique de la ram dans le PIC Jack, c'est interdit !
    c'est une allocation static assuré par le compilateur : char buffer[100];
    A mon avis, tu devrais déjà essayer de faire fonctionner le tout en IP fixe, le débugguer entièrement, et ensuite quand tout va bien tu remets en route le DHCP.
    j'ai pas un debugger
    il ne veut pas s'inscrire dans le routeur quand le buffer est de taille de 100 octet
    si je vais désactiver le DHCP ça va demander beaucoup de travail

  8. #7
    Jack
    Modérateur

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    et la stack TCP-IP n'utilise pas de ram dynamiquement non plus?

    Je ne savais pas que le C pour ces pics interdisait l'usage de ram dynamiquement. C'est drôlement limité tout çà.

    A+

  9. #8
    mmm999

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    Jack, pour une allocation dynamique de la mémoire, on a un mécanisme qui le permet, il prend la totalité de la mémoire de la machine et la partage entre les processus suivant la demande. ce mécanisme est le système d'exploitation et on prend exemple la fonction malloc et free sous les systèmes UNIX.
    dans le PIC, on trouve parfois des OS embarqué qui permet ça, mais on l'évite car il consomme les ressources de pauvre MCU.
    donc la mémoire est partagé depuis le cycle de programmation, on tient compte du tous le besoin de la mémoire dé le début. et on laisse au compilateur de choisir les zones mémoires et les affecter au variable.
    mon problème peut être technique (la pile, le compteur ordinale ...) ou problème de compilation

  10. #9
    jiherve

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    Bonsoir,
    Citation Envoyé par mmm999 Voir le message
    non pas de problème de mémoire
    le compilateur n'a pas atteint la totalité de mémoire
    Voila un compilateur performant!
    JR
    l'électronique c'est pas du vaudou!

  11. #10
    mmm999

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    j'ai pas compris JR
    il y'a pas de compilateur parfait , mais si j'utilise 1 % de la mémoire, il y'a pas risque de saturation de la mémoire

  12. #11
    jiherve

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    Encore,
    1% de 1,5 Koctets là ce n'est plus de la performance c'est un miracle!
    JR
    l'électronique c'est pas du vaudou!

  13. #12
    mmm999

    Re : En augmentant la taille du tableau, le programme cesse de fonctionner

    hhhhhhhhhhhhhhhh
    alors vous avez la solution?
    je suis entrain de mesurer les tensions peut etre un problème électrique
    mais tous va bien

Discussions similaires

  1. game launcher a cessé de fonctionner( windows 7)
    Par coquite dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 15/08/2012, 13h55
  2. CLSched Module a cessé de fonctionner
    Par invite7ca42584 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 13/02/2012, 11h28
  3. .exe qui cesse de fonctionner...
    Par invite016c063e dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 21/10/2009, 23h16
  4. windows mail a cessé de fonctionner
    Par jolg2006 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 06/11/2008, 18h05
  5. Internet à cessé de fonctionner ???
    Par invitef0b77be6 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 06/01/2008, 19h27
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...