ST-LINK/V2: Programm dauerhaft auf STM32 laden?

Gast #4878498
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.
Gast #4878523
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?
#4878632
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".
Gast #4878788
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.
Gast #4879553
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.
Gast #4879663
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.
Gast #4879815
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.
Gast #4880644
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.
Gast #4880725
>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.
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.