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

In Application Programming

Hi All,

I am in the last miles for FW remote update in my application.

I already manage to write data to the internal FLASH and now I am working on FW update. Currently I managed to download the new FW to the upper FLASH sectors (The lower sectors are for the current FW).

Currently I am trying (with no success) to burn the new FW to the lower FLASH (I run the IAP functions from the RAM).

I managed to erase the old FW(The lower FLASH), prepare the new data to burn (the RAM functions is running after I erased the FLASH) but, the IAP functions stuck after the FLASH erase.

Why the IAP functions do not work after I erase the FLASH(it stores at non erasable memory)?

I am working with LCP2136 with no additional external FLASH and uVision3.

Please advice Kobi

Parents
  • Have you remembered your interrupt handlers? When reprogramming the flash, you can't run _any_ code from flash!

    If the interrupt vector table is mapped to flash, or any of the interrupt handlers point to a routine in flash, you will get into big troubles quite quickly.

Reply
  • Have you remembered your interrupt handlers? When reprogramming the flash, you can't run _any_ code from flash!

    If the interrupt vector table is mapped to flash, or any of the interrupt handlers point to a routine in flash, you will get into big troubles quite quickly.

Children
  • Hi,

    My interrupt vector is mapped to the FLASH but, I disable it before I run from the RAM. All the code that required for the burn, I run from the RAM.

    The code that runs from the RAM is:
    All the prepare functions for the IAP.
    Init CPU.
    Burn routine.

    Kobi

  • Hi,

    I dig through the assembly lines and I found out that I miss some code after I erase the FLASH ( __rt_switch8 is missing), all of my burning code is running from the RAM.

    I don't have external FLASH but I have the new FW at the upper internal FLASH.

    Is it possible to upgrade running FW?
    Is there any AN that explain how to upgrade running FW( Something more than the the regular IAP commands AN)?

    Please Advice Kobi