AnsweredAssumed Answered

DFU issue

Question asked by przemhb on May 21, 2014
Latest reply on May 26, 2014 by przemhb
I am trying to make DFU work on STM32F205ZF. At the moment it is recognized by the host PC. I can upload flash to PC, verify it, but "DfuSe Demo" stucks when it comes to updating a flash. It manages to erase just sector #3, and then it freezes. I guess I need to change hex start location from default 0x08000000 to 0x0800C000, to reserve sectors #0-#2 for the temporary data, for update process, so I have changed:
rom (rx)        : org = 0x08000000, len = 768k
to:
rom (rx)        : org = 0x0800C000, len = 768k - 0xC000
in my linker script file.

The problem is that, although program starts and I can debug it, it doesn't go far - just configures pins, clocks and when it comes to the first delay loop, which checks SysTick it never returns. When I pause debuging I found PC somewhere near 0xffffffff, I get "unknown instructions", "symbol is not define" etc.
Of course the loop works fine, when program origin is set to 0x08000000. When it is set to 0x0800C000 and I enter the loop in instruction stepping mode I see SysTick works. Then it seems it's IRQ comes and isn't handled, or program goes to a wrong address. I have checked vector table in the LSS file and it is fine.

What may be the cause of such a behaviour and how to fix it?

Outcomes