This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Flash crash

I used nRF51822 IC and SDK11 with softdevice S130. I found a problem that our product cannot work. I dumped the hex code of 2sets from 0x00000000 to 0x0003ffff. One can work, the other cannot. The differences are between address of 0x0003b808 and 0x0003b937. Please see the attach file for the details. Does anyone know that? err.png

  • Hi Ted, could you explain a bit more in detail what you mean by not working? Are you using a bootloader?The flash section below 0x3C000 is usually used by the Persistant Storage Manager to store application data and bonding information.

  • Hi Bjorn, The set will flash LED during power on if it is working, but it didn't flash LED. Yes, I am using a bootloader. I used nrfjprog to dump the codes both sets for entire flash (256Kbytes). then I found that the differences are at the address of 0x0003b808 to 0x0003b937. The working set's datas are 0xffffffff between the address of 0x0003b808 and 0x0003b937. But the broken set's datas aren't 0xffffffff between the address of 0x0003b808 and 0x0003b937. Does it make the set broken? How to solve it?

  • Have you tried debugging the non-working product? You should be able to check if the bootloader is running and if it passes execution to the application. If it passes execution to the application then you know that the problem lies in the application.

  • Yes, the bootloader passes execution to the application. Application runs to some function and causes it run into a dead loop. I want to know why and when the flash is modified and how to protect flash? The address at 0x0003b800 is similar pstorage area.

  • Which function specifically? Are you using the persistant storage manager to store any application data? Would it be possible for you to share your firmware? If it is confidential then we can move the case to Mypage which is our closed support portal.

1 2