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

NRF_FICR->CONFIGID values

Is there a list somewhere that correlates the NRF_FICR->CONFIGID value with the actual nRF51 variant?

I had orginally used the 16K Ram versions, but when Nordic release the 32K variant I started using it. I now have both versions out.

At some point, it is possible that my application may require the 32K variant. I want to read NRF_FICR->CONFIGID, if the chip happens to have 32K allow the DFU to update the app. It it is the older 16K part then the update won't be allowed.

  • Somewhere inside nrf studio is a file, nrf51deviceids.xml (which I'd be very happy if Nordic published separately on their git somewhere so it's easier to keep up to date). That has HWID -> chip revision mapping.

    However there are better ways to accomplish what you're trying to do. You can read the FICR fields NUMRAMBLOCKS and SIZERAMBLOCKS to work out how much RAM is on the chip or you can call the function added in SDK8, nrf_ic_info_get() which gives you that and a few other bits of information and doesn't require an updating table.

  • I found the nrf_ic_info_get() call a couple of hours after posting. It has what I needed. I agree there are several things I wish Nordic would publish, in a fixed location, and keep updated, like the Firmware ID of the stack.

Related