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

nRF52 processor version

I continue to debug, via remote control on the other side of the world, a particularly nasty issue that is occurring in only certain units of a device. I had been blaming my own software, and continue to believe that it may be floating-point related: devzone.nordicsemi.com/.../

For reasons far too nuanced to go into, I am now beginning to suspect that this problem is only occurring on certain versions/steppings of the processor.

I am using nRF52832, with sdk 12.2.

My question is: is there an API or small bit of C code that someone can share with me that would enable me to fetch a number that would indicate the very specific stepping of the CPU so that I can print it and see if this theory might be true?

Thanks

Parents
  • Hi Ray,

    I guess there is nothing like "stepping" but Nordic calls it "part" and "variant" which belongs to certain chip "revision" (that's what could be analogy of "stepping" used at bigger silicon vendors). Note that there should be only one "production ready" revision of nRF52832 (Rev1) but if you have some of earlier Engineering variants (A/B/C that would easily explain your problems. How to get from "part" and "variant" to "revision":

    1. Read FICR registers FICR->INFO.PART, FICR->INFO.VARIANT, FICR->INFO.INFO.PACKAGE etc. (all 32-bit registers which you can read normally as any RAM or NVM memory area). There are NRF_FICR->INFO.PACKAGE etc. defines in nrf52.h ready, just include them.
    2. Take retrieved values and compare with nRF52832 Compatibility Matrix to see which errata list applies to that part.
    3. Try to find applicable known errata item. If not report to Nordic;)

    Cheers Jan

Reply
  • Hi Ray,

    I guess there is nothing like "stepping" but Nordic calls it "part" and "variant" which belongs to certain chip "revision" (that's what could be analogy of "stepping" used at bigger silicon vendors). Note that there should be only one "production ready" revision of nRF52832 (Rev1) but if you have some of earlier Engineering variants (A/B/C that would easily explain your problems. How to get from "part" and "variant" to "revision":

    1. Read FICR registers FICR->INFO.PART, FICR->INFO.VARIANT, FICR->INFO.INFO.PACKAGE etc. (all 32-bit registers which you can read normally as any RAM or NVM memory area). There are NRF_FICR->INFO.PACKAGE etc. defines in nrf52.h ready, just include them.
    2. Take retrieved values and compare with nRF52832 Compatibility Matrix to see which errata list applies to that part.
    3. Try to find applicable known errata item. If not report to Nordic;)

    Cheers Jan

Children
Related