Je sais que le 1er code de démarrage est exécuté et, si le contrôleur n'est pas conservé dans ISP et CRP, il passe au code utilisateur, Table vectorielle (Chargement SP et PC). Pouvez-vous spécifier précisément comment cela va au code de démarrage. S'il vous plaît fournir si des documents étaient disponiblesCortex M3 séquence d'opérations de la mise sous tension (Précisément du 1er cycle machine)
Répondre
L'endroit à rechercher se trouve dans un manuel de référence du microcontrôleur Cortex-M3, en particulier des sections sur la réinitialisation et/ou le comportement de démarrage. Puisque vous posez des questions sur un microcontrôleur NXP, je me référerai au LPC176x/5x User Manual à titre d'exemple. La section 3.4 «Reset» indique que lorsque la réinitialisation interne est désactivée, le compteur de réveil IRC (oscillateur interne) à 2 bits démarre et, une fois le délai écoulé, le processeur commence à exécuter le code de démarrage à partir de la ROM. Puisque la ROM est à une adresse fixe, le CPU est probablement câblé pour sauter au code de démarrage.
Bien sûr, cela peut varier d'un microcontrôleur à un microcontrôleur. A titre d'exemple, la série STM32 de microcontrôleurs Cortex-M3 de ST semble exécuter du code utilisateur presque immédiatement après la réinitialisation, en particulier sur le 4ème cycle de SYSCLK.