I tried to upgrade only a part of firmware of application, not all. I used buttonless DFU and found that the new code was located at bank1 and not moved at the specified address in bank0. How can I solve this problem? Thanks!
I'm a bit unsure what you mean by "upgrade only a part of firmware of application".
You cannot upgrade only a part of the Application. What I mean by this is that you if you do some modification in your application, you cannot upgrade only that part, you have to upgrade the whole application.
When the new code is located at Bank1, it is because it awaits validation. And if it does not move to Bank0, then it was not validated, and the DFU failed.
So to summarize: If you do some modifications in your application and wish to upgrade it, you have to "load the whole new application", not just the part you modified.