Comment puis-je visualiser la mémoire (SRAM) l'utilisation d'un RÉGULATEUR de programme?

J'ai rencontré un problème avec un programme en cours d'exécution sur un microcontrôleur AVR (ATMega328P). Je crois que c'est dû à une pile/tas de collision, mais je voudrais être en mesure de le confirmer.

Est il possible que je peux visualiser SRAM utilisation par la pile et le tas?

Remarque: le programme est compilé avec avr-gcc et utilise l'avr-libc.

Mise à jour: Le réel problème que j'ai, c'est que la fonction malloc de la mise en œuvre est un échec (de retour NULL). Tous les mallocing qui se passe au démarrage et tous les freeing arrive à la fin de l'application (ce qui en pratique n'est jamais depuis la partie principale de l'application est dans une boucle infinie). Donc, je suis sûr que la fragmentation n'est pas la question.

  • Wow. Vous devez être la seule personne à avoir jamais utilisé la fonction malloc sur un atmega. Je suis surpris qu'ils fonctionnent! Le jamais utilisé de même être inclus.
  • Quelques conseils AVR spécifiques malloc choses sont abordés ici: nongnu.org/avr-libc/user-manual/malloc.html