Cypress MCU frappe dans Hard Fault Handler [fermé]

anandamu16

Cypress MCU frappe dans Hard Fault Handler [fermé]


J’ai commencé à utiliser Cypress MCU Cortex M0 + mais je constate que le débogueur est toujours frappé dans le gestionnaire de pannes matérielles. Le comportement est aléatoire, parfois il entre dans le gestionnaire de pannes matérielles au début de l’exécution du code et parfois après l’exécution du code demi / complet. Une idée, quel pourrait être le problème? Tout ce que je peux vérifier. De plus, si je peux douter du matériel ou du firmware, c’est le coupable?

Réponses


 filo

Un morceau de votre code serait certainement utile. Vous avez besoin d’un gestionnaire de pannes qui vous expliquera ce qui s’est passé.
Suivez ce guide .

La plupart du temps, les fautes graves sont causées par:

  • Accéder à une mauvaise adresse en mémoire (par exemple, écrire sur une mémoire flash ou lire une adresse inexistante) – techniquement, il s’agit d’une erreur de bus et d’un gestionnaire distinct, mais elle est transformée en erreur matérielle lorsqu’elle n’est pas traitée. Cela peut être dû à votre code ou à votre script de l’éditeur de liens
  • Essayer d’exécuter des données sous forme de code (pointeurs génériques, pointeurs de fonctions non valides, débordement de pile)
  • Accéder à un périphérique dont l’horloge est désactivée

Un RTOS peut également provoquer des problèmes de mémoire géniaux.

Lorsque l’on regarde le gestionnaire, la variable la plus importante est le compteur de programmes empilés (PC). Il vous indique les instructions exactes qui ont provoqué le problème sur un Cortex-M0 (M4 peut avoir besoin de désactiver le tampon d’écriture en mémoire, sinon le défaut dur peut être imprécis).

 

[fermé], Cypress, dans, Fault, frappe, Handler, Hard, MCU

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *