Hallo allerseits, ich programmiere meinen STM32f030 mit einem ST-Link/V2. Nun habe ich folgendes Problem: - Spannungsversorgung wird eingeschalten - ich lade ein Programm auf meinen STM -> Programm wird ausgeführt - ich trenne ST-LINK/V2 und Spannungsversorgung - schalte Spannungsversorgung wieder ein -> Nun wird mein vorher aufgespieltes Programm nicht mehr ausgeführt. Jedoch will ich, dass es automatisch nach dem Einschalten der Spannungsversorgung wieder ausgeführt wird. Das bedeutet doch, dass das Programm nicht auf dem µC gespeichert wird? Könnt ihr mir Tipps geben, woran das liegen kann? Zur Info (falls es damit etwas zu tun hat): Der Boot Pin ist mit GND verbunden.
>-> Nun wird mein vorher aufgespieltes Programm nicht mehr ausgeführt.
Hast du das Programm ins RAM gelegt?
holger schrieb: > Hast du das Programm ins RAM gelegt? Ich weiß nicht in welchen Speicher ich das Programm schreibe, aber in den RAM sollte ich es wohl nicht schreiben. Wie kann ich das bei Keil µVision nachschauen? Oder kann ich das auch im STCubeMX auswählen?
Ein weiterer Grund könnten printf() Ausgaben über ITM sein.
>Ein weiterer Grund könnten printf() Ausgaben über ITM sein.
Bzw. Semihosting benutzt.
Evtl. musst Du den Pin BOOT0 auf GND legen. Der legt fest, von wo der Controller beim Reset (also auch Start) bootet, aus dem FLASH oder aus dem "System memory" aka. Bootloader (oder in Verbindung mit BOOT1 aus dem RAM). Siehe RefManual Abschnitt 2.5 "Boot configuration".
oder die Reset Leitung floatet ohne angesteckten Programmer. >Oder kann ich das auch im STCubeMX auswählen? Nein >Wie kann ich das bei Keil µVision nachschauen? Keil->Project->Options for Target-> und dann da irgendwo Steht aber Default auf Flash. Besser Boot0/1 und Reset erst mal prüfen.
ziggner schrieb: > Das bedeutet doch, dass das Programm nicht auf dem µC gespeichert wird? > Könnt ihr mir Tipps geben, woran das liegen kann? Lies doch einfach mal den Flash aus und vergleiche ihn mit deinem Programm. Oder laß deinen Programmer einfach mal ein Verify machen. Dann weißt du, ob im Flash das drin ist, was du haben willst. Wenn ja und es klappt noch immer nicht, dann hat du was an der Schaltung falsch gemacht. W.S.
dasrotemopped schrieb: > oder die Reset Leitung floatet ohne angesteckten Programmer. Vielen Dank. Das war das Problem. Habe nun einen Pull-up ergänzt und es funktioniert einwandfrei. W.S. schrieb: > Lies doch einfach mal den Flash aus und vergleiche ihn mit deinem > Programm. Oder laß deinen Programmer einfach mal ein Verify machen. Auch wenn ich mein Problem gelöst habe interessiert es mich, wie ich den Flash auslesen oder ein Verify machen kann.
Zum Auslesen und Verifizieren kannst du das "STM32 ST-LINK Utility" nehmen. Findest du direkt bei ST.
ziggner schrieb: > dasrotemopped schrieb: >> oder die Reset Leitung floatet ohne angesteckten Programmer. > > Vielen Dank. Das war das Problem. Habe nun einen Pull-up ergänzt und es > funktioniert einwandfrei. Dann hast Du den Fehler noch nicht gefunden. NRST hat einen internen Pullup Widerstand mit rund 40 k. Extern sollte ein 0,1 µF Kondensator zugeschaltet werden. Markus M. schrieb: > Evtl. musst Du den Pin BOOT0 auf GND legen. Darum solltest Du Dich kümmern und zwar nicht eventuell sondern unbedingt.
m.n. schrieb: > > Markus M. schrieb: >> Evtl. musst Du den Pin BOOT0 auf GND legen. > > Darum solltest Du Dich kümmern und zwar nicht eventuell sondern > unbedingt. Jupp, das evtl. bezog sich auf "falls es nicht in der Schaltung schon so vorgesehen ist".
ziggner schrieb: > Auch wenn ich mein Problem gelöst habe interessiert es mich, wie ich den > Flash auslesen oder ein Verify machen kann. O ha. Du möchtest mit Mikrocontrollern umgehen und weißt nicht mal die Basics? Mit ner Harley umgehen wollen und nicht mal Fahrradfahren können? Normalerweise bietet jedes ernstzunehmende Flash-Tool ein Verify und ein Auslesen des Flashs an. Genau so wie das dedizierte Löschen und den Blankcheck. W.S.
>O ha. Du möchtest mit Mikrocontrollern umgehen und weißt nicht mal die >Basics? >Normalerweise bietet jedes ernstzunehmende Flash-Tool ein Verify und ein >Auslesen des Flashs an. @W.S. Ich höre, wie lautet die Lösung für den STM32 ? Gruß, dasrotemopped.
dasrotemopped schrieb: >>Normalerweise bietet jedes ernstzunehmende Flash-Tool ein Verify und ein >>Auslesen des Flashs an. > > @W.S. > Ich höre, wie lautet die Lösung für den STM32 ? ST-LINK_CLI.exe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.