Change nrf SDK , compiler error

Hi there,

I compiled a QSPI test program on board nrf52840dk.
The SDK version is 1.9.1.
Everything works fine.
I would like to upgrade with SDK 2.2.x but I have several errors in compiling.
How to deal with migration?
Thank you

CONFIG:

CONFIG_NORDIC_QSPI_NOR=y
CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096
CONFIG_DEBUG=y
CONFIG_FLASH=y
CONFIG_FLASH_MAP=y
CONFIG_FLASH_PAGE_LAYOUT=y

#CONFIG_PRINTK=y

CONFIG_LOG=y

OVERLAY:

#include <nordic/nrf52840_qiaa.dtsi>

&uart0 {
    compatible = "nordic,nrf-uarte";
    status = "okay";
    current-speed = <115200>;
    tx-pin = <6>;
    rx-pin = <8>;
    rts-pin = <5>;
    cts-pin = <7>;
};

// &spi2 {
    //     compatible = "nordic,nrf-spi";
    //     status = "disabled";
    //     sck-pin = <19>;
    //     mosi-pin = <20>;
    //     miso-pin = <21>;
// };

&qspi {
    status = "okay";
    sck-pin = <19>;
    io-pins = <20>, <21>;
    csn-pins = <17>;
    mx25r64: mx25r6435f@0 {
        compatible = "nordic,qspi-nor";
        reg = <0>;
        quad-enable-requirements = "NONE";
        /* MX24R64 supports only pp and pp4io */
        writeoc = "pp";
        /* MX24R64 supports all readoc options */
        readoc = "fastread";
        sck-frequency = <8000000>;
        label = "MX25R64";
        jedec-id = [ c2 28 17  ];
        sfdp-bfp = [ e5 20 f1 ff ff ff ff 03 44 eb 08 6b 08 3b 04 bb ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 10 d8 00 ff 23 72 f5 00 82 ed 04 cc 44 83 68 44 30 b0 30 b0 f7 c4 d5 5c 00 be 29 ff f0 d0 ff ff  ];
        size = <67108864>;
        has-dpd;
        t-enter-dpd = <10000>;
        t-exit-dpd = <35000>;
    };
};

MAIN:

#include <zephyr.h>
#include <drivers/flash.h>
#include <device.h>
#include <devicetree.h>
#include <stdio.h>
#include <string.h>

#include <logging/log.h>

#define LOG_MODULE_NAME main
LOG_MODULE_REGISTER(LOG_MODULE_NAME);

#define VERSIONE "1.0.0"

#if (CONFIG_NORDIC_QSPI_NOR - 0) || \
	DT_NODE_HAS_STATUS(DT_INST(0, nordic_qspi_nor), okay)
#define FLASH_DEVICE DT_INST(0, nordic_qspi_nor)

#if DT_NODE_HAS_STATUS(FLASH_DEVICE, okay)
#define FLASH_DEVICE_LABEL DT_LABEL(FLASH_DEVICE)
#define FLASH_NAME "NORDIC QSPI-NOR"
#else
#error "Your device tree has no enabled nodes with compatible "nordic,qspi_nor""
#define FLASH_DEVICE_LABEL "<none>"
#endif ///< #if DT_NODE_HAS_STATUS(FLASH_DEVICE, okay)

#else
#error Unsupported flash driver
#endif

#define FLASH_TEST_REGION_OFFSET 0xff000
#define FLASH_SECTOR_SIZE 4096

const struct device *flash_dev;
/* testMx25r64 */
void main(void)
{
	const uint8_t expected[] = {0x55, 0xaa, 0x66, 0x99, 0x00, 0x01, 0x02, 0x03};
	const size_t len = sizeof(expected);
	uint8_t buf[sizeof(expected)];
	// struct device *flash_dev;
	int rc;

	LOG_INF("" FLASH_NAME " SPI flash testing\n");
	printk("==================================\n");

	flash_dev = device_get_binding(FLASH_DEVICE_LABEL);

	if (!flash_dev)
	{
		printk("SPI flash driver %s was not found!\n",
			   FLASH_DEVICE_LABEL);
		return;
	}

	/* La protezione da scrittura deve essere disabilitata prima di ogni scrittura o
	 * cancellazione, poiché il componente flash attiva la protezione da scrittura
	 * automaticamente dopo il completamento della scrittura e della cancellazione
	 * operazioni. (deprecata)
	 */
	printk("\nTest 1: Flash erase\n");
	// flash_write_protection_set(flash_dev, false);

	rc = flash_erase(flash_dev, FLASH_TEST_REGION_OFFSET,
					 FLASH_SECTOR_SIZE);
	if (rc != 0)
	{
		printk("Flash erase failed! %d\n", rc);
	}
	else
	{
		printk("Flash erase succeeded!\n");
	}

	printk("\nTest 2: Flash write\n");
	// flash_write_protection_set(flash_dev, false);

	printk("Attempting to write %u bytes\n", len);
	rc = flash_write(flash_dev, FLASH_TEST_REGION_OFFSET, expected, len);
	if (rc != 0)
	{
		printk("Flash write failed! %d\n", rc);
		return;
	}

	memset(buf, 0, len);
	rc = flash_read(flash_dev, FLASH_TEST_REGION_OFFSET, buf, len);
	if (rc != 0)
	{
		printk("Flash read failed! %d\n", rc);
		return;
	}

	if (memcmp(expected, buf, len) == 0)
	{
		printk("\nData read matches data written. Good!!\n");
	}
	else
	{
		const uint8_t *wp = expected;
		const uint8_t *rp = buf;
		const uint8_t *rpe = rp + len;

		printk("Data read does not match data written!!\n");
		while (rp < rpe)
		{
			printk("%08x wrote %02x read %02x %s\n",
				   (uint32_t)(FLASH_TEST_REGION_OFFSET + (rp - buf)),
				   *wp, *rp, (*rp == *wp) ? "match" : "MISMATCH");
			++rp;
			++wp;
		}
	}
	LOG_HEXDUMP_INF(buf, len, "");
}

Related