Stop et run [Forums - HC908 et S08]
Stop et run [Forums - HC908 et S08]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes



(1) 2 3 »


Stop et run
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Salut à tout le monde,

Je suis actuellement face à un problème que je ne parviens pas à identifier.
La situation:
Plusieurs cartes à base de uC communiquent entre-elles par via un bus RS485.
Sur l'une, servant à commander des servo-moteurs, équipée d'un AW60, cette communication se passe très bien durant un certain temps, quelques minutes.
Ensuite, il ne rentre plus dans l'IT de reception SCI, alors que des messages sont toujours envoyés sur le bus et que les interruptions sont activées.
Il me suffit de cliquer sur "STOP" dans le debugger, puis de relancer par un "RUN" pour que tout reprenne son fonctionnement normal pour quelques minutes.
Le COP est désactivé.
J'avoue ne jamais avoir rencontré cette situation, et ne pas savoir comment la traiter.

Maverick

Posté le : 04/03/2012 12:59
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Pilier de la communauté
Inscrit:
09/10/2006 11:47
De Cambridge, Angleterre & Glasgow, Ecosse
Messages: 858
Hors Ligne
Bonjour,
1-Pourrais-tu avoir des interruptions a plus hautes priorités qui empechent d'aller dans l'IT SCI?
2-Comment es-tu certain que le programme ne va pas dans l'IT SCI?
3-Les interruptions et autres flags sont-ils remis a zero?
4-Aurais-tu une condition d'overflow sur le buffer SCI? Tu recevrais un message alors que le precedent n'a pas ete traité et ne le gere pas dans les interruptions? Un leger decalage progressif pourrait expliquer que le probleme ne devienne apparent qu'apres un certain temps.
Alban.

Posté le : 04/03/2012 13:16
Alban Rampon / 冉昂理 - blog
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1495
Hors Ligne
Salut,
Je pense comme Alban, regarde dans le registre SPIS, tu dois avoir un des 4 bits de poids faible (les erreurs) qui est monté.
Ce que je fais, c'est une lecture périodique de ces bits pour détecter une éventuelle erreur et l'acknowledger au plus vite pour que la com reprenne.

Yvan

Posté le : 04/03/2012 14:29
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Merci pour vos avis,

Pour répondre à Alban:
1- En effet j'ai une IT issue d'un timer de niveau supérieur à celle de la SCI qui se contentais de me lever un flag et d'effacer celui de l'IT
2- J'ai mis un breakpoint à l'entrée ;)
3- Tous les flags sont effacés
4- Pas d'overflow, les messages sont espacés de 5ms sur le bus et traités durant ce laps de temps.

@Yvan: c'est du SCI ;)

Sinon, depuis, ça semble fonctionner. J'ai supprimé l'IT du timer, pour ne garder que celle de SCI. Et au lieu de tester le flag que je levais dans l'IT, je me contente de tester de flag du registre du timer : TPM1SC_TOF. Du coup, plus d'IT qui prend la main, et je garde le fonctionnement de l'appli.

Merci,
Maverick

Posté le : 04/03/2012 14:59
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1495
Hors Ligne
SCIS, désolé, mais je pensais à la SCI, oui.
Yvan

Posté le : 04/03/2012 15:02
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Pilier de la communauté
Inscrit:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1162
Hors Ligne
Bonjour,

COP désactivé ce n'est pas une bonne idée. Réactive le d'une part et surveille ensuite la source du dernier reset afin de voir s'il n'y a pas des instructions illégales ou a

Posté le : 04/03/2012 18:59
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Pilier de la communauté
Inscrit:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1162
Hors Ligne
Bonjour,

COP désactivé ce n'est pas une bonne idée. Réactive le d'une part et surveille ensuite la source du dernier reset afin de voir s'il n'y a pas des instructions illégales ou autre, signe par exemple d'un débordement de pile.
Tu peux aussi vérifier que la pile n'explose pas (cas de l'IT réentrante par exemple)... Dans l'IT pense à désactiver les IT !

Stéphane

Posté le : 04/03/2012 19:00
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
perso, je n'utilise pas de breakpoint dans une ISR... j' ai trop peur d'un aléa de fonctionnement du bdm... donc j’incrémente une variable globale typé volatile (que je regarde au bdm).

Posté le : 04/03/2012 21:25
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Pilier de la communauté
Inscrit:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1162
Hors Ligne
un aléa de fonctionnement du bdm ?
Que crains tu exactement ???

On peut mettre des breakpoints sans autre dans une IT ou pas. Une IT n'est qu'une partie de code appelée par le hardware, mais ne diffère en rien d'autre....
Stéphane

Posté le : 04/03/2012 22:00
Transférer la contribution vers d'autres applications Transférer


Re: Stop et run
Pilier de la communauté
Inscrit:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1162
Hors Ligne
Maverick,
Les priorités d'IT étant dans un S08 étant définies en hardware, on ne peut pas les modifier. Si tu as une IT qui est appelée durant une IT, il faut veiller à ce que tu n'ais pas de code récursif, et veiller à ce que cela n'éclate pas la pile.
Si c'est possible, il est plus prudent d'interdire les IT lorsqu'une IT intervient.
De mémoire, le timer est prioritaire sur la SCI ce qui effectivement peut conduire à avoir des interruptions de communication sur la SCI lorsqu'une IT timer intervient. J'ai déjà eu le cas. Je m'en étais sortis en minimisant le code dans l'IT timer afin que cela soit très court. En gros je positionnais un flag me permettant en polling dans l'application de déclencher une action.
mais c'est en effet toujours délicat et c'est l'une des limites des S08....
Stéphane


Posté le : 04/03/2012 22:05
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
(1) 2 3 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Stop et run [Forums - HC908 et S08]