2013-04-09 11:35 AM
The specific device: STM32F205RG
Issue: I have a small boot code region that I'm using to jump from 0x0800000 to 0x08020000 the intervening blocks are to be used for static data... Unfortunately once I've jumped to 0x08020000 and start executing (even if I just infinite loop) I end up with the PGPERR and PGSERR bits set and if I clear them they just get reset. Code to make the jump from 08000000 to 08020000:HWM_reset_handler PROC
EXPORT HWM_reset_handler
; Go to boot loader.
ENTRY
ldr r0, =0x08020000
ldr r1, [r0]
msr msp, r1 ; Initialize Stack for boot loader
add r0, r0, #4 ; r0 now has addr of reset handler in boot loader
ldr r0, [r0] ; Load the Reset Handler Address
orr r0, r0, #1 ; Ensure thumb mode
bx r0 ; jump to boot loader image
ENDP
ALIGN
I'm using the RVCT 3.1 compiler and assembler. (RVDS toolchain) So I can't exactly use the ST example libraries except as code examples...
I also attempted to set the flash parallelism before making the jump, but this didn't help. I have a feeling it's not related to my code, as I'm not yet writing flash anywhere, rather related to the tool chain configuration...any ideas?
2013-04-17 08:57 AM
library source code...
I was looking at F1XX source when I mentioned I had a reference before and I realize now it's a bad example for F2xx flash. A few days ago I tried to find a more recent F2XX library source but had no luck...do you have a link to an app. note or something where I could download it?2013-04-17 10:35 AM
http://www.st.com/web/en/catalog/tools/PF257898
2014-09-17 03:16 AM
Hello all,
I've got same trouble with STM42F415RGT6 using Attolic and Segger Jlink ultra+ Using debug mode with segger probe, the flash has a correct state but after a Power On reset (without segger probe) the flash status has surely PGSERR bit set and sometime PGPERR bit set. Don't know where it came from. Olivier2014-09-17 04:46 AM
Ok, and is this a problem? Can you clear the error/status like the ST examples do and proceed?
2014-09-17 12:26 PM
Maybe not a problem, I clear all pending flag before doing any flash writing (with eeprom emulation from ST).