Matter Thermostat build fail for nRF54L15DK

I'm using NCS SDK v3.0.2 and trying to build the Matter Thermostat example for the target: ` nrf54L15DK/nrf54L15/cpuapp/ns`
However, the build fails with the following errors originating from the NFC platform source file:

In function 'nfc_platform_tagheaders_get':
/nrf/subsys/nfc/lib/platform.c:149:9: error: unknown type name 'FICR_NFC_Type'; did you mean 'NRF_FICR_NFC_Type'?
  FICR_NFC_Type ficr_nfc_ns;
                ^~~~~~~~~~~~~
                NRF_FICR_NFC_Type

/nrf/subsys/nfc/lib/platform.c:150:15: error: unknown type name 'FICR_NFC_Type'
  __IOM FICR_NFC_Type *ficr_nfc = &NRF_FICR_S->NFC;

/nrf/subsys/nfc/lib/platform.c:150:42: error: 'NRF_FICR_S' undeclared (first use in this function); did you mean 'NRF_UICR_S'?
  __IOM FICR_NFC_Type *ficr_nfc = &NRF_FICR_S->NFC;
                                     ^~~~~~~~~~
                                     NRF_UICR_S

/nrf/subsys/nfc/lib/platform.c:160:36: error: request for member 'TAGHEADER0' in something not a structure or union
  tag_header[0] = ficr_nfc_ns.TAGHEADER0;

/nrf/subsys/nfc/lib/platform.c:161:36: error: request for member 'TAGHEADER1' in something not a structure or union
  tag_header[1] = ficr_nfc_ns.TAGHEADER1;

/nrf/subsys/nfc/lib/platform.c:162:36: error: request for member 'TAGHEADER2' in something not a structure or union
  tag_header[2] = ficr_nfc_ns.TAGHEADER2;

Given this, do I need to modify the SDK source file at:
/nrf/subsys/nfc/lib/platform.c
to fix the usage of FICR_NFC_Type, and possibly replace it with NRF_FICR_NFC_Type to ensure compatibility with the nrf54L15 target?

Parents
  • Hello, 

    Can you verify that you are building the unmodified Matter Thermostat sample and that your toolchain matches the SDK version? 

    I did not have v3.0.2 installed, but I successfully used v3.0.1 to build the sample for the non-secure target on the nRF54L15 DK today. I'll try again with v3.0.2 once you confirm the versions and that the sample is unedited. 

    Best regards,

    Maria

  • Hi,
    Yes, I am using the unedited version of the Matter Thermostat example from v3.0.2.

    I was able to build the sample without any modifications to the SDK. Previously, I had not passed the extra Kconfig fragment nrf54l15dk_nrf54l15_cpuapp_ns.conf, which I believe caused the error. Now that I’m including this fragment, it’s working correctly.

    I have another query: Can DFU/FOTA be performed with the cpuapp/ns build, or is it only supported in the cpuapp build? Also, when it comes to MCUboot's secondary slot for application updates, what is the recommended approach for storage—should internal or external flash be used, and under what circumstances?

  • Sunil vignesh said:

    Yes, I am using the unedited version of the Matter Thermostat example from v3.0.2.

    I was able to build the sample without any modifications to the SDK. Previously, I had not passed the extra Kconfig fragment nrf54l15dk_nrf54l15_cpuapp_ns.conf, which I believe caused the error. Now that I’m including this fragment, it’s working correctly.

    Great that you found this solution! 

    Sunil vignesh said:
    Can DFU/FOTA be performed with the cpuapp/ns build, or is it only supported in the cpuapp build?

    Yes, this should be fine. There is currently no .conf or .overlay files in thermostat/sysbuild/mcuboot so you need to add them, but after adding those, the sample should support DFU for the ns target. 

    Sunil vignesh said:
    Also, when it comes to MCUboot's secondary slot for application updates, what is the recommended approach for storage—should internal or external flash be used, and under what circumstances?

    You should use external flash. The Matter samples are too big to use internal flash for DFU. 

    Best regards,

    Maria

Reply
  • Sunil vignesh said:

    Yes, I am using the unedited version of the Matter Thermostat example from v3.0.2.

    I was able to build the sample without any modifications to the SDK. Previously, I had not passed the extra Kconfig fragment nrf54l15dk_nrf54l15_cpuapp_ns.conf, which I believe caused the error. Now that I’m including this fragment, it’s working correctly.

    Great that you found this solution! 

    Sunil vignesh said:
    Can DFU/FOTA be performed with the cpuapp/ns build, or is it only supported in the cpuapp build?

    Yes, this should be fine. There is currently no .conf or .overlay files in thermostat/sysbuild/mcuboot so you need to add them, but after adding those, the sample should support DFU for the ns target. 

    Sunil vignesh said:
    Also, when it comes to MCUboot's secondary slot for application updates, what is the recommended approach for storage—should internal or external flash be used, and under what circumstances?

    You should use external flash. The Matter samples are too big to use internal flash for DFU. 

    Best regards,

    Maria

Children
No Data
Related