This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Offline Firmware upgrade

Hi,
I have copied a new firmware at memory location 0x0001 0000 using IAP commands. Now when i jump to this location from my old firmware then instead of coming up with this new firmware it comes up with the old one.
Kindly help me to solve this issue .If u didn't understand kindly inform.. so that i will explain in details.

  • "If u didn't understand kindly inform.. so that i will explain in details"

    Why waste time and risk misunderstanding?

    Why not just provide complete details in the first place!

    Note that includes details of what debugging you have done in an attempt to resolve the issue, what you observed, and what conclusions you reached...

  • Make sure you took care of the following:
    1) Appropriate memory map for the new firmware at link stage.
    2) The interrupt vectors.
    3) Appropriate procedure of "jumping to the new firmware".
    4) Watchdog timer? Something else?
    What you are trying to do is not straightforward for an inexperienced MCU programmer. Make sure you have solid understanding of the points listed above before you attempt this.

  • Now when i jump to this location from my old firmware then instead of coming up with this new firmware

    That is because the old firmware resides at the start address of internal flash - presumably 0x0. if you need to jump to new firmware, you must/want to:
    * Create a bootloader that resides at 0x0 which decides what to do.
    * Remap interrupt vectors.
    * Make sure an application starts not at 0x0, but at, say, 0x4000 (use scatter loading for that, or the basic uv4 configuration in the target dialog) so that the bootloader is always started and never overwritten.

    And yes, you have a lot of reading to do!