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

How to get Build Type information from FICR?

Is it possible to get the Build Type from the Factory information configuration registers (FICR)?

From https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52832/COMP/nrf52832/ic_revision_overview.html there's a nice overview with revisions, for example QFAA and build type Bx0 with x any digit. It's not so hard to retrieve the hardware information from the FICR registers, for example:

Nordic hardware version:	 52832
Board variant:			     AAB0
Board package:			     QFxx - 48-pin QFN

However, in the documentation (in this case the errata documents) often something like QFAA-B00 is specified. I can compose package and variant as QFAA-B0, but where does the second 0 come from?

Parents
  • Never mind. From https://devzone.nordicsemi.com/f/nordic-q-a/40153/understanding-nrf52832-package-marking it seems that the last/second 0 does not mean anything. It's not on the packaging, it's not in the hardware itself either. Maybe best to leave out of the documentation as well. :-)

  • Actually I assumed it means delivered without pre-loaded firmware .. from my notes for the nRF52832:

    // 13.1.17 INFO.VARIANT
    // Address offset: 0x104
    // Part Variant, Hardware version and Production configuration
    // Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
    //         Id  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A A A A A A A A A A A
    // Reset 0x41414142 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0
    // Id RW Field Value Id Value Description
    // A R VARIANT Part Variant, Hardware version and Production configuration,
    // encoded as ASCII
    //   AAAA 0x41414141 AAAA
    //   AAAB 0x41414142 AAAB
    //   AABA 0x41414241 AABA
    //   AABB 0x41414242 AABB
    //
    // We have 41414230 = "AAB0"
    //
    // Unspecified 0xFFFFFFFF Unspecified
    //
    // Table 134: Function variant codes
    // <VV> Flash (kB) RAM (kB)
    // ==== ========== ========
    //  AA      512      64
    //  AB      256      32
    //
    // Table 135: Hardware version codes
    //     <H>   Description
    // ========= ==================================================
    // [A .. Z]  Hardware version/revision identifier (incremental)
    //
    // Table 136: Production configuration codes
    //   <P>   Description
    //  ====== ===========================================
    //  [0..9] Production device identifier (incremental)
    //  [A..Z] Engineering device identifier (incremental)
    //
    // Table 137: Production version codes
    //     <F>       Description
    // ============  ========================================
    // [A..N, P..Z]  Version of preprogrammed firmware
    // [0]           Delivered without preprogrammed firmware
    

  • I guess that's it indeed! And probably(!) when you get the chips with preprogrammed firmware Nordic will provide some FICR register (or through other means) with a production version code different from 0.

    It still stands that the errata should still be valid for a particular chip if there is or if there is not firmware preprogrammed. Hence, referring to the production version code in the documentation is confusing.

Reply
  • I guess that's it indeed! And probably(!) when you get the chips with preprogrammed firmware Nordic will provide some FICR register (or through other means) with a production version code different from 0.

    It still stands that the errata should still be valid for a particular chip if there is or if there is not firmware preprogrammed. Hence, referring to the production version code in the documentation is confusing.

Children
No Data
Related