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

Problem with Flash memory Read Protection

We have a problem with disable a Read Flash protection inside our application with the STM32F103RG.

We arrive in a situtation that the flash memory entire in a Read Protection state because there was a power supply failure. After a power reset, the system is in Flash Read Protection and we would like to disabled this protection without Flash Loader software and without to do an erase mass.

How can we do that ?

Can everybody help us ?

Thanks,

Parents
  • So a mass-erase is a well working solution for a developer. But may not help with shipped devices
    if, indeed, this happens at a "customer upgrade" I do see the issue.
    however, out of curiousity I tried cutting power during a download of the same chip and nothing happened.

    so,
    a) verify sufficient decoupling, whatchdogging etc is in place, as I can not reproduce it.
    b) contact ST directly for advise

    Erik

Reply
  • So a mass-erase is a well working solution for a developer. But may not help with shipped devices
    if, indeed, this happens at a "customer upgrade" I do see the issue.
    however, out of curiousity I tried cutting power during a download of the same chip and nothing happened.

    so,
    a) verify sufficient decoupling, whatchdogging etc is in place, as I can not reproduce it.
    b) contact ST directly for advise

    Erik

Children
  • Yes, I would think that it is common practice that the charge-pumps in the chips holds enough memory to perform one flash write operation on stored power, in which case the chip shouldn't end up in some random lockup state.

  • verify sufficient decoupling, whatchdogging etc is in place
    I have seen strange effects from the above, e.g. I have seen an example where a 3cm trace to the decoupling cap was enough to cause problems. As a general rule, when someone exposes me to something unexplainable I ALWAYS check the decoupling and, if anything is not PERFECT, solder caps directly across the chips. this has "solved the unexplainable" more than once.

    Erik

  • Hi,

    Well at the end we are foud the problem, I 'm going to try to explian the most clear possibe.

    First of all , we have three ways to programming FLASH memory into ST32M103RG:

    - In Circuit Programming(ICP), with tha JTAG or SWD protocol
    - In Application Programming (IAP), with differents communications channels like UART,USB, etc.., in this cas the CPU must to be in System Memory boot.
    - With intructions in your applicattion like FLASH_ProgramWord, etc..

    With the uVision IDE during downloading the program with JTAG or SWD, if you switch off the power supply, immediately the flash memory change to Read Protection State. The only way to disable the Read Protection is with the Load Flash Demonstrator Software from ST. After to disable the read Protection the FLASH memory is erased (mass erased).

    In the rest of the cases if you switch off the power supply during the programming firmware, the Memory flash state don't change and doesn't happen.

    You can try to do that...

    Thanks for your help,

    Xavi,