54L15: ZMS requires SPI for internal memory??

So my board uses uart00; I also need to use ZMS for storing configuration data.

If I try to compile with no SPI enabled the Flash drivers throw an error '__device_dts_ord_130' undeclared here (not in a function);

Which as far as I can tell is spi00. If I enable spi00 then I get a conflict 'can only use one of spi00 twi00 uart00' etc

How can I resolve this?

I'm not using external memory. Can I force ZMS or rather the Flash driver not to require SPI?

My NV storage is only a few dozen bytes. Is there another way apart from ZMS? (I was advised to use ZMS in another ticket as it works best with RRAM)

(My code for ZMS storage is based on this example The application builds fine using 54DK with different uart port)

*Note I cannot change hardware design at this stage*

Thanks

Parents
  • Hello,

    This error means '' '__device_dts_ord_130' undeclared here (not in a function);'' a missing kconfig or a device is referenced but not properly enabled in the device tree. 

    ''Which as far as I can tell is spi00. If I enable spi00 then I get a conflict 'can only use one of spi00 twi00 uart00' etc'''

    This means that flash driver is trying to use SPI0 which conflict with your UART0 as they both have same instances.

    When you set SPI0 pin for internal flash, no other external flash or device should have the same SPI0 instance.

    To use ZMS exclusively you can try to set the following config:

    # Enable flash support (for internal flash)
    CONFIG_FLASH=y
    
    # Enable ZMS
    CONFIG_ZMS=y
    
    # Explicitly disable external flash drivers
    CONFIG_SPI_NOR=n
    CONFIG_NORDIC_QSPI_NOR=n

  • Thanks! That's the missing piece that was eluding me.

    To use ZMS exclusively you can try to set the following config:

    # Explicitly disable external flash drivers
    CONFIG_SPI_NOR=n
    CONFIG_NORDIC_QSPI_NOR=n

Reply Children
Related