[PIC] - Effacement de la RAM au démarrage
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

[PIC] - Effacement de la RAM au démarrage



  1. #1
    jorg1n

    [PIC] - Effacement de la RAM au démarrage


    ------

    Bonjour,

    après avoir eu quelques problèmes lors du redémarrage de mon programme, je voulais savoir si il y avait un moyen simple, en C, d'effacer la RAM (mémoire ou se trouve les variables) afin de démarrer sur une "base saine"...

    Je travaille avec un PIC18F6722...

    Merci d'avance

    -----

  2. #2
    Gérard

    Re : [PIC] - Effacement de la RAM au démarrage

    C'est décrit dans le cours N°1 de Bigonoff.

    Si tu initialises tes octets de RAM, tu n'as pas besoin de les effacer en début de programme.

  3. #3
    Jack
    Modérateur

    Re : [PIC] - Effacement de la RAM au démarrage

    +1, je ne vois pas l'intérêt d'effacer la RAM.

    A+

  4. #4
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    Citation Envoyé par Jack Voir le message
    je ne vois pas l'intérêt d'effacer la RAM.
    En programmation assembleur, c'est intéressant si on oublie d'initialiser une case mémoire (la grosse bêtise !). On est sûr ainsi de démarrer (reset ou power-on) dans la même situation
    J'aime pas le Grec

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : [PIC] - Effacement de la RAM au démarrage

    En programmation assembleur, c'est intéressant si on oublie d'initialiser une case mémoire (la grosse bêtise !). On est sûr ainsi de démarrer (reset ou power-on) dans la même situation
    Pas très convaincant. Ca semble cautionner une définition laxiste des variables.

    A+

  7. #6
    Jack
    Modérateur

    Re : [PIC] - Effacement de la RAM au démarrage

    Je rappelle d'ailleurs que si les variables sont locales, elles sont crées dans la pile. Or rien de garantit le contenu de la pile en raison des divers appels de sous programmes, passages de paramètres, etc.

    En conclusion, mieux vaut compter sur une bonne hygiène de programmation.

    A+

  8. #7
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    Citation Envoyé par Jack Voir le message
    Pas très convaincant. Ca semble cautionner une définition laxiste des variables.
    J'ai déjà motivé mon choix
    1/ je programme uniquement en assembleur
    2/ je fais un test sommaire de la mémoire (écriture/lecture de AA55)
    3/ je reset ma mémoire à 0000
    4/ Je n'initialise ensuite que les cases mémoires qui doivent être différentes de 0000
    J'aime pas le Grec

  9. #8
    Jack
    Modérateur

    Re : [PIC] - Effacement de la RAM au démarrage

    ok pour le test de la ram, mais une bonne initialisation des variables doit suffire si c'est fait dans les règles de l'art, même en asm.

    A+

  10. #9
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    Citation Envoyé par Jack Voir le message
    mais une bonne initialisation des variables doit suffire
    C'est plus simple de tout mettre à 0000 et d'initialiser les quelques variables différentes de 0000

    PS: et à chaque Reset on démarre toujours pareil
    J'aime pas le Grec

  11. #10
    jiherve

    Re : [PIC] - Effacement de la RAM au démarrage

    Bonsoir,
    En effet il existe deux méthodes:
    rincer la ram, au démarrage une ram ne contient rien ce qui signifie quelle ne vaut ni A ni non A , c'est radical mais signe un programme tombé en marche et peut être couteux en temps, avec quelques kilo c'est jouable avec plusieurs centaine de mega c'est irréaliste sauf à disposer d'un automate hard pour le faire.
    Cette méthode est cependant utile dans les cas ou il existe un code correcteur d'erreur ou plus simplement une parité et que les accès du processeur s'effectuent par burst et qu'il y a la possibilité de n'avoir qu'une partie du burst qui soit vraiment initialisé.
    Initialiser toutes les variables dans chaque module les utilisant, c'est la bonne méthode et la signature d'une programmation dans les règles.
    JR
    l'électronique c'est pas du vaudou!

  12. #11
    Gérard

    Re : [PIC] - Effacement de la RAM au démarrage

    L'auteur parlait de la RAM d'un PIC.
    Un PIC n'a pas de RAM de plusieurs centaines de mega.

  13. #12
    jiherve

    Re : [PIC] - Effacement de la RAM au démarrage

    Re
    Citation Envoyé par Gérard Voir le message
    L'auteur parlait de la RAM d'un PIC.
    Un PIC n'a pas de RAM de plusieurs centaines de mega.
    oui mais ce n'est pas parce que tu conduis une 2CV qu'il faut prendre de mauvaises habitudes!
    Il y a de ça qqs années la plupart des "informaticiens" étaient formés Fortran ou Basic et la commande RUN rinçait la ram par charité je ne dirais pas ce que j'ai vu comme code C ou ASM à l'époque!
    JR
    l'électronique c'est pas du vaudou!

  14. #13
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    Avec une 2CV, tu joues avec la boite de vitesse, avec une voiture automatique,tu ignores la boite de vitesse.
    C'est assez analogue à l'assembleur et au "C". la programmation est différente.
    J'aime pas le Grec

  15. #14
    jiherve

    Re : [PIC] - Effacement de la RAM au démarrage

    Re
    Pas d'accord les bonnes pratiques doivent être les mêmes.
    C'est un peu comme l'usage du langage SMS avec les potes cela passe avec un DRH dur dur!
    Il faut prendre le plus tôt possible de bonnes habitudes, c'est la même chose en VHDL ou tout autre langage de synthèse hard.
    Le propre d'un bug c'est de rester silencieux jusqu'au moment ou il y a qqs centaines de matos dans la nature , là il se réveille (Murphy) et comme il faut faire un rappel cela coûte un max.
    Exemple vécu : soft n'ayant pas initialisé une et une seule variable, changement de RAM (shrink) celle ci n'a plus la même valeur au démarrage => crash logiciel!!!
    Le rinçage de RAM n'étant pas toujours possible (contrainte temporelle de disponibilité après mise sous tension) il faut INITIALISER!
    JR
    l'électronique c'est pas du vaudou!

  16. #15
    Jack
    Modérateur

    Re : [PIC] - Effacement de la RAM au démarrage

    D'autant que ce n'est pas parce qu'une variable est initialisée à 0 que tout problème est résolu. Même si cette valeur est la plus fréquente lors des initialisations, d'autres valeur sont souvent nécesaires.

    La non initialisation est une des causes les plus fréquentes de bug. La seule façon d'éviter ce genre de désagrément est de soigner ses initialisations.

    A+

  17. #16
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    Citation Envoyé par Jack Voir le message
    Même si cette valeur est la plus fréquente lors des initialisations, d'autres valeur sont souvent nécesaires.
    C'est bien ce que je dis
    Citation Envoyé par DAUDET78 Voir le message
    C'est plus simple de tout mettre à 0000 et d'initialiser les quelques variables différentes de 0000

    PS: et à chaque Reset on démarre toujours pareil
    J'aime pas le Grec

  18. #17
    Gérard

    Re : [PIC] - Effacement de la RAM au démarrage

    Et quand pense l'auteur de la discussion ?

  19. #18
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    C'est moi qui lui ai donné cette idée en #7 http://forums.futura-sciences.com/el...demarrage.html

    Sûr qu'en programmant avec une boite automatique (un language évolué) cela présente moins d'intérêt. Avec un language 2CV (assembleur) , c'est primordial.

    J'ai utilisée cette technique sur des milliers de carte et je n'ai jamais eu de problème qualité après passage au contrôle de test de sortie
    J'aime pas le Grec

  20. #19
    jiherve

    Re : [PIC] - Effacement de la RAM au démarrage

    Re
    Daudet ta méthode est bien sur bonne "idiot proof" mais non généralisable à de gros logiciels utilisant beaucoup de RAM.
    Le soft c'est comme un gaz cela rempli toujours tout le volume disponible.
    Pour un PIC c'est effectivement radical, je suis un puriste.
    JR
    l'électronique c'est pas du vaudou!

  21. #20
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    mes milliers de carte, c'est pas des serveurs, mais des µCs avec quelques périphériques et en ce temps là, la RAM de 32KO était encore externe !
    J'aime pas le Grec

  22. #21
    jiherve

    Re : [PIC] - Effacement de la RAM au démarrage

    Re
    Citation Envoyé par DAUDET78 Voir le message
    mes milliers de carte, c'est pas des serveurs, mais des µCs avec quelques périphériques et en ce temps là, la RAM de 32KO était encore externe !
    A cette époque on était économe et le soft n'était pas sous traité !
    JR
    l'électronique c'est pas du vaudou!

  23. #22
    DAUDET78

    Re : [PIC] - Effacement de la RAM au démarrage

    Citation Envoyé par jiherve Voir le message
    le soft n'était pas sous traité !
    Non, je faisais le hard, le soft et le contrôle qualité ... Dans une boite de 5 personnes, il faut tout faire. Seul les typons et la fabrication des circuits imprimés étaient sous-traité
    J'aime pas le Grec

  24. #23
    jorg1n

    Re : [PIC] - Effacement de la RAM au démarrage

    Je vois que le sujet a suscité beaucoup de commentaires en mon absence... désolé, match de foot oblige... et quel match!! (passons...)
    bon:

    Et quand pense l'auteur de la discussion ?
    Et bien moi ce que j'en pense, c'est que je suis jeune, j'ai tout a apprendre, et a commencer par les bonnes habitudes, donc j'ai relus tout mon soft, initialisé toutes mes variables au niveau de la déclaration, et puis c'est tout!!

    Non, mais j'ai cru comprendre que qu'il fallait plutot carré sur l'initialisation, donc je préfère faire comme ça...

    Merci en tout cas pour votre expérience, c'est là que l'on se rend compte que les forums sont utiles...

Discussions similaires

  1. Probleme PIC 16f877 & taille de ram
    Par joseph4008 dans le forum Électronique
    Réponses: 11
    Dernier message: 21/07/2009, 09h59
  2. PIC et RAM Statique
    Par inviteb251a7e8 dans le forum Électronique
    Réponses: 1
    Dernier message: 18/05/2009, 08h06
  3. une ram à plus de 30% dés le démarrage
    Par invite0c73999c dans le forum Matériel - Hardware
    Réponses: 14
    Dernier message: 25/04/2009, 00h30
  4. Lecture SFR et RAM PIC 16F84A depuis l'extérieur
    Par WhiteBird dans le forum Électronique
    Réponses: 3
    Dernier message: 12/05/2006, 21h47
  5. Probleme de demarrage de pc lié à la RAM
    Par invite211c1e0b dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 27/05/2004, 19h27
Découvrez nos comparatifs produits sur l'informatique et les technologies.