SAMD51 Unable to save to NV user space after security fuse blown

Go To Last Post
2 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have a situation where we save some data to NV memory, specifically the user area. These writes are infrequent, and well below the endurance of the flash. However once the security fuse is blown for production units, this writing to NV no longer works.This also causes our field upgrade, and bootloader to fail.

I thought at first the may be part of the purpose of the security fuse, but out other Atmel products allow this capability. On further investigation, there is a statement in the standard ASF "hpl_nvmctrl.c" file, under the "_user_row_write_exec" function to stop write if the SB fuse is blown.

 /* Denied if Security Bit is set */
   if (DSU->STATUSB.bit.PROT) {
        return 0;
   }

Removing this fixes the problem, but I was curious as to why writing to NV memory from code should be inhibited.

We have now shipped many useless products.

So I post this as a caution to anyone blowing the security fuse without realizing the consequences.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Colin, thanks for starting this thread.

 

I have found that I am able to do NVM writes to all my memory space after the security bit is set.  However, I only do page writes.  This line of code you quote may only apply to user row writes?

 

I am about to start setting the security bit, so this thread is reminding me to double-check all of my NVM writes after it has been set.  So far, they seem to be working fine.

 

Does anyone else have feedback on code NVM writes after the security bit is set?

 

-Troy