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

nrf52832-QFAB Flash/RAM sizes

I'm using the nrf52832-QFAB variant (32K RAM 256K Flash)

The part is marked as NRF52832 QFABB0 1630AC

Surprisingly, this part is happily running my application and bootloader that is built for the larger variant (QFAA with 64K RAM 512K Flash).

When I read the FICR registers I get the following:

  • FICR.INFO.VARIANT = 0x41424230 (="ABB0")
  • FICR.INFO.RAM = 0x00000040 (= 64 kByte RAM variant)
  • FICR.INFO.FLASH = 0x00000100 (= 256 kByte FLASH variant)
  • FICR.CODEPAGESIZE = 0x00001000
  • FICR.CODESIZE = 0x00000080
  • CODEPAGESIZE * CODESIZE = 0x80000 = 512kByte

This information doesn't make the situation much clearer :)

Why does the QFAB part have the larger RAM and FLASH?

Why do the FICR registers have contradicting values?

We may end up having both QFAA and QFAB variants in our production lines (for different products). I would like to be able to check in firmware that the correct parts are in place.

Which of the FICR registers can I rely on in code to check capabilities?

Parents
  • I don't use undocumented features or go beyond specs in my commercial designs, for the very reasons you've mentioned. My main concern here is knowing what to trust when the FICR registers have incorrect or conflicting information. Unfortunately this is one of those cases where the silicon does not match the datasheet. We may end up having both variants used in the same production environment and I'd like to be able check in code that the right part is loaded.

Reply
  • I don't use undocumented features or go beyond specs in my commercial designs, for the very reasons you've mentioned. My main concern here is knowing what to trust when the FICR registers have incorrect or conflicting information. Unfortunately this is one of those cases where the silicon does not match the datasheet. We may end up having both variants used in the same production environment and I'd like to be able check in code that the right part is loaded.

Children
No Data