KeyNote Vidéo: Elecia White découvre Trésor dans la carte mémoire

author
4 minutes, 20 seconds Read

Si vous creusez des microcontrôleurs, ainsi que vous souhaitez creuser exactement comment ils fonctionnent, Elecia White souhaite de vous aider à naviguer dans leurs trucs les plus profonds avec l’aide de la carte mémoire des dossiers. Dans cette discussion drôle rafraîchissante, mais extrêmement profonde parler de la 2021 Hackaday Remoticon, Elecia nous guide avec l’un des artefacts les plus intimidants de la compilation – une donnée que les annonces où tout ce qui est mis dans la mémoire du microcontrôleur – ainsi que l’explication des points de repère qui aident pour le rendre plus navigable.

Et lorsque vous souhaitez examiner le fichier de carte, vous avez probablement vraiment besoin d’examiner le fichier de carte. Lorsque votre widget intégré cesse de travailler, les problèmes de mémoire sont quelques-uns des suspects habituels. Peut-être avez-vous manqué d’espace de stockage de la RAM ou de la mémoire flash, peut-être que vous avez une étrange faute difficile aussi bien que vous souhaitez comprendre quelle partie du programme déclenche le problème, ou peut-être que vous avez besoin de faire du profilage de vitesse pour que tout fonctionne plus rapidement. Dans tous ces cas, vous obtenez une adresse mémoire absolue. Quelle vit là-bas? Regarde-le dans la mémoire de la mémoire!

Graphique d’un cours

Elecia commence avec les données cartographiques d’un programme “Hello World”, mais c’est un monde Hello qui s’exécute sur un RTO, il y a donc déjà suffisamment de viande à creuser. Elle commence avec la vue d’ensemble de niveau supérieur: Flash pour le code ainsi que la RAM pour le programme à utiliser. En flash, le code vit en .text ainsi que .Const, ainsi que RAM propose des sections qui devraient vous être familières comme .Heap ainsi que. Sontacles, mais aussi .data ainsi que .bss. Les données de carte mémoire sont également configurées avec cette structure: tout d’abord une vue d’ensemble, puis les marqueurs de section, ainsi que les détails de ce qui se trouve à l’intérieur de chaque section.

Si vous obtenez un crash, par exemple, aussi bien que vous comprenez où la valeur numérique du compteur de programme lorsqu’elle est allé toute forme de poire, la section de la section .Text Le nom de la fonction où cela s’est passé. La section avec des définitions variables mondiales, énumérées par ordre alphabétique? Vous pouvez probablement faire défiler tout cela – il y a beaucoup de redondance dans le fichier de carte, parfois triés par adresse de mémoire, parfois triés par ordre alphabétique. Vous ne voulez pas vérifier un fichier de carte, vous voulez simplement vous plonger, obtenez ce dont vous avez besoin, ainsi que de sortir. Vous avez une variable que vous croyez être écrasée? Découvrez-le dans la section indiquée par adresse, ainsi que de regarder ses voisins – l’un d’entre eux peut être dépassé.

Mais la véritable étoile du spectacle est la magnifique carte Elecia fabriquée dans le style d’un jeu de rôle. À travers la rivière de l’initialisation des rives statiques, vous découvrirez Ramlandia, les plans élevés des piles, les hauts piles, ainsi que le port de registres périphériques (mémoire mappés). Il y a vraiment des dragons dans l’océan d’espace d’adresses inutilisé. En remplaçant également entre ce plaisir, aussi utile, cartographique, ainsi que le fichier de carte mémoire de texte réelle, ELECIA lance une vue inoubliable de la mémoire avec le texte dense des données cartographiques comme il vit dans votre dossier de travail.

Et aucune discussion sur la mémoire dans les microcontrôleurs est totale sans noter les dangers de ce qui se passe lorsque le tas de Ram, qui pousse vers le bas, embrasse la pile de Ram, qui pousse vers le haut. Qu’est-ce qui se passe alors? Un autre appel téléphonique de fonction ainsi que les fonctions commencent à écraser vos données. “C’est bon. comme un chien assis dans un café en feu. ” Le problème est que c’est la partie de l’administration de la mémoire qui est dynamique, les fonctions téléphoniques appels téléphoniques d’autres fonctions ainsi que la mémoire est allouée et effacée. Modifications individuelles d’entrée que les parties du programme exécutent, ainsi que par conséquent, lorsque des données sont stockées. Ici est le seul endroit où la carte mémoire ne vous aidera pas, sauf pour découvrir ce qui se passe à proximité de l’accident. Cependant, la vraie réponse à “combien de bélier ai-je maintenant?” véritablement est inefficablement “je ne dunno”.

Si vous êtes nouveau dans la conception intégrée, les vingt-cinq premières minutes de la conversation sont peut-être pour vous, ainsi que même si vous êtes un vétéran durci, vous découvrirez quelque chose des sections ultérieures. J’ai vraiment apprécié la conversation d’Elecia, ainsi que vous. Vous pouvez le regarder intégré juste en dessous. Apportez une copie des diapositives aussi.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *