Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

[MPLAB] Remplacer mémoire inutilisée par des Nop
Simlock
Membre
Membre
Messages : 21
Enregistré en : mai 2016
Localisation : Sur mon siege

#1 Message par Simlock » lun. 22 août 2016 10:44

Bonjour !

J'ai une question qui se généralise à tout les PICs...

Comment fait-on pour dire qu'à la compilation, je veux que toute la mémoire inutilisée soit remplacé par des "Nop" ? Je sais que ça se fait pour éviter certains problèmes mais je ne trouve pas l'option dans MPLAB.

Merci pour le coup de main !

[MPLAB] Remplacer mémoire inutilisée par des Nop
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1653
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#2 Message par Gérard » lun. 22 août 2016 11:33

Et de quel problème parles-tu?
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

[MPLAB] Remplacer mémoire inutilisée par des Nop
Simlock
Membre
Membre
Messages : 21
Enregistré en : mai 2016
Localisation : Sur mon siege

#3 Message par Simlock » lun. 22 août 2016 11:44

Si le programme tente d'aller sur un emplacement vide ou un emplacement avec un bout d'instruction non effacée, j'en sais rien moi tout se qui peux se passer dans une mémoire.... l'avantage d'un nop c'est que le programme va lire l'instruction et passer à la suivante sans problème alors que dans d'autres cas, le programme peut très bien planter car l'instruction va le mener à une erreur ou à un emplacement réservé au lieu de continuer son programme.

Je n'ai jamais fait de formation mais apparemment c'est ce qui est conseillé lorsque le système peut atterrir dans un environnement avec des perturbations électromagnétique. Pour limiter le risque de panne.

[MPLAB] Remplacer mémoire inutilisée par des Nop
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1653
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#4 Message par Gérard » lun. 22 août 2016 11:52

Une idée est d'utiliser le chien de garde qui va faire un reset en cas de plantage.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

[MPLAB] Remplacer mémoire inutilisée par des Nop
Simlock
Membre
Membre
Messages : 21
Enregistré en : mai 2016
Localisation : Sur mon siege

#5 Message par Simlock » lun. 22 août 2016 11:57

Oui le chien de garde peut aider mais ce n'est pas le sujet... moi je demande une méthode en particulier que je trouve intéressante. Sauf si vraiment c'est du pipo et ça n'existe pas ou que l'on me démontre que c'est vraiment inutile.

Merci pour ton aide.

[MPLAB] Remplacer mémoire inutilisée par des Nop
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#6 Message par Guest » lun. 22 août 2016 19:33

Bonjour

sujet qui est intéressant

Déjà on est dans la rubrique du C .
le compilateur n'a aucune regle pour placer son programme a moins de le contraindre, cela signifie qu'il y a des spg qui traînent, un peu partout .Que tu es obligé de mettre dans les trous des NOP.

-Maintenant l’utilité, la question qui fait dire beaucoup de choses sur plein de site ABC en autre.

Mon point de vue sur le sujet: je pose une seule question. Comment peux-tu être sur, si le programme viens a planter, que le pointeur instruction va te renvoyer dans le champs des NOP et non pas en plein milieu d'un spg par exemple ? Moi j'ai pas de réponse à cette question. DONC je ne suis pas convaincu de l’utilité de la chose.

Par contre si tu me prouves que le pointeur te renvoi dans les champs des NOP( va etre dur) et que tu as le chien c'est parfait car un RAZ va suivre sans dégât au niveau de tes variables quoi que :wink: .

AMHA il vaut mieux se pencher sur le problème, pourquoi cela plante? coté code: le plus propre possible et il y a du boulot , cote hard: exemple sur microcoupure plantage assuré, déjà vécu .Voir solution sur MCLR de microchip

A+

[MPLAB] Remplacer mémoire inutilisée par des Nop
Claudius
Avatar de l’utilisateur
Passionné
Passionné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#7 Message par Claudius » lun. 22 août 2016 20:16

Bonsoir,
maï a écrit:

sujet qui est intéressant

Déjà on est dans la rubrique du C .
le compilateur n'a aucune regle pour placer son programme a moins de le contraindre, cela signifie qu'il y a des spg qui traînent, un peu partout .Que tu es obligé de mettre dans les trous des NOP.

-Maintenant l’utilité, la question qui fait dire beaucoup de choses sur plein de site ABC en autre.

Mon point de vue sur le sujet: je pose une seule question. Comment peux-tu être sur, si le programme viens a planter, que le pointeur instruction va te renvoyer dans le champs des NOP et non pas en plein milieu d'un spg par exemple ? Moi j'ai pas de réponse à cette question. DONC je ne suis pas convaincu de l’utilité de la chose.


+1 car c'est une technique, bien qu’intéressante, ne répond pas au problème des perturbations électriques...

C'est ce qui était préconisé au siècle dernier mais qui a fait long feu...

NB: Maintenant, quitte à mettre des NOP, je préfèrerais mettre des GOTO RESET voire l'instruction invalide qui provoque le trap vers une routine d'interruptrion.

[MPLAB] Remplacer mémoire inutilisée par des Nop
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#8 Message par Guest » mar. 23 août 2016 18:24

Bonjour Clauduis

Et OUI c'est comme cela :wink: Pour le goto, bof, pas sur que cela fonction si pointeur est sur 2 octets comme 18F les NOP c'est codé 00 00 00 00 00 pas de risque .Perso rien, c'est encore mieux.

Allez le plaisir de vous lire et

A+

[MPLAB] Remplacer mémoire inutilisée par des Nop
Simlock
Membre
Membre
Messages : 21
Enregistré en : mai 2016
Localisation : Sur mon siege

#9 Message par Simlock » mar. 6 sept. 2016 15:30

Merci pour vos réponses.

En effet maï, je ne peux pas prouver que je pointerai forcément sur un Nop mais j'augmente les chances que ça le soit :-D

Par contre... c'est quoi un spg ?

[MPLAB] Remplacer mémoire inutilisée par des Nop
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1653
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#10 Message par Gérard » mar. 6 sept. 2016 16:58

spg = sous-programme
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 45 invités