-
-
Erfahrener Benutzer
Begeisterter Techniker
So inzwischen bin ich mir sicher, dass das Problem mit dem Programmaufruf nur durch das Stackproblem bedingt ist. Ich hab ein wenig das Datenblatt durchforstet und bin auf das CONTROL register gestoßen bei dem man zwischen dem mainstack und dem process stack wählen kann. Nun stellt sich mir die Frage wo genau liegt der unterschied. Und Handler und Thread mode ist mir auch noch ein wenig suspekt. Und wie und wo initialisiere ich am besten den Stackpointer?
-
Schau in den Startup Code und in dein Linker command-file. Nach einem reset wird der Stackpointer mit dem Wort initialisiert, das an Adresse 0 im Flash steht. Danach wird der Program Counter mit dem 2. Wort (ab Adresse 4) geladen. An dieser Adresse sollte sich der Reset-Handler befinden. Der Reset Handler initialisiert die Variablen und ruft dann irgendwann main() auf.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen