STM32 im Flash debuggen

OP #4068465
Lesenswert?

Guten Tag alle zusammen,

ich arbeite zurzeit mit einem STM32F407. Um den Flash zu schonen debugge 
ich diesen im RAM, was auch wunderbar funktioniert. Jedoch schaffe ich 
es nicht mehr, ganz normal den Flash zu nutzen. Er startet immer alte 
Programme.

Kann mir jemand sagen, was ich wie einstellen muss, dass die Programme 
an der richtigen Stelle im Flash landen und ausgeführt werden?

Mein Speicher ist wie folgt eingeteilt:
MEMORY
1
{
2
SECTOR0  (rx) : ORIGIN = 0x08000000, LENGTH = 16K
3
FEEPROM  (rx) : ORIGIN = 0x08004000, LENGTH = 32K
4
    ROM (rwx) : ORIGIN = 0x0800C000, LENGTH = 976K
5
    RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K
6
  CCRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K
7
}

In den Release-Einstellungen in den Build-options habe ich folgendes:
Policy: Use target settings
Linker script: stm32f407vg_flash.ld
Stack size: 0x0200
Heap size 0x0200

Im Interface (Target Settings) ist nur "Run to main()" aktiviert.

Der ST-Link ist folgendermaßen konfiguriert:
Interface: swd
Vector table start: 0x08000000
Reset Type: System
Nur "Load program" und "Vector table relocation" sind aktiviert.


Vielen Dank schonmal.

Edit: Entschuldigung, ich nutze Em::Blocks 2.30

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren