I run the LWM2M client and send the data to the server. Nrf7002dk connects to the internet via wifi. Now I would like to update the software but I can't seem to do it. The generated image is too large to fit on the internal flash and must therefore be saved on the external flash.
I keep getting this error:
C:/ncs/v2.6.1/nrf/modules/mcuboot/hooks/nrf53_hooks.c:77:42: error: 'PM_MCUBOOT_PRIMARY_1_ADDRESS' undeclared (first use in this function); did you mean 'PM_MCUBOOT_PRIMARY_ADDRESS'?
77 | img_head->ih_load_addr = PM_MCUBOOT_PRIMARY_1_ADDRESS;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| PM_MCUBOOT_PRIMARY_ADDRESS
C:/ncs/v2.6.1/nrf/modules/mcuboot/hooks/nrf53_hooks.c:77:42: note: each undeclared identifier is reported only once for each function it appears in
C:/ncs/v2.6.1/nrf/modules/mcuboot/hooks/nrf53_hooks.c:78:41: error: 'PM_CPUNET_APP_SIZE' undeclared (first use in this function)
78 | img_head->ih_img_size = PM_CPUNET_APP_SIZE;
| ^~~~~~~~~~~~~~~~~~
What I have done so far .
prj.conf
CONFIG_NETWORKING=y CONFIG_LOG=y CONFIG_GPIO=y CONFIG_LWM2M_LOG_LEVEL_DBG=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_NET_IPV6=y CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3 CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=2 CONFIG_NET_IPV4=y CONFIG_NET_DHCPV4=n CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=3 CONFIG_NET_IF_MCAST_IPV4_ADDR_COUNT=2 CONFIG_PRINTK=y CONFIG_NET_PKT_RX_COUNT=10 CONFIG_NET_PKT_TX_COUNT=10 CONFIG_NET_BUF_RX_COUNT=10 CONFIG_NET_BUF_TX_COUNT=10 CONFIG_NET_MAX_CONTEXTS=5 CONFIG_NET_LOG=y CONFIG_NET_CONFIG_NEED_IPV6=y CONFIG_NET_CONFIG_NEED_IPV4=y CONFIG_NET_CONFIG_SETTINGS=y CONFIG_LWM2M=y CONFIG_LWM2M_COAP_BLOCK_SIZE=512 CONFIG_LWM2M_IPSO_SUPPORT=y CONFIG_LWM2M_IPSO_TEMP_SENSOR=y CONFIG_LWM2M_IPSO_LIGHT_CONTROL=y CONFIG_LWM2M_IPSO_TIMER=y CONFIG_LWM2M_SHELL=y CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1" CONFIG_NET_CONFIG_PEER_IPV6_ADDR="2001:db8::2" CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1" CONFIG_NET_CONFIG_MY_IPV4_GW="192.0.2.2" # Longer endpoint name might be returned in a registration reply CONFIG_COAP_EXTENDED_OPTIONS_LEN=y CONFIG_COAP_EXTENDED_OPTIONS_LEN_VALUE=40 # General CONFIG_MAIN_STACK_SIZE=4096 CONFIG_ENTROPY_GENERATOR=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 # Wi-Fi CONFIG_WIFI=y CONFIG_WIFI_NRF700X=y CONFIG_WIFI_MGMT_EXT=y CONFIG_NRF_WIFI_IF_AUTO_START=n # Credentials CONFIG_WIFI_CREDENTIALS=y CONFIG_WIFI_CREDENTIALS_STATIC=y CONFIG_WIFI_CREDENTIALS_STATIC_SSID="bbb" CONFIG_WIFI_CREDENTIALS_STATIC_PASSWORD="ccc" CONFIG_WIFI_CREDENTIALS_STATIC_TYPE_PSK=y # WPA CONFIG_WPA_SUPP=y CONFIG_WPA_SUPP_LOG_LEVEL_ERR=y CONFIG_NET_NATIVE=y CONFIG_NET_L2_ETHERNET=y CONFIG_NET_UDP=y CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_OFFLOAD=n CONFIG_NET_BUF_RX_COUNT=18 CONFIG_NET_BUF_TX_COUNT=18 CONFIG_NET_DEFAULT_IF_WIFI=y # DNS CONFIG_DNS_RESOLVER=y # DHCPv4 CONFIG_NET_DHCPV4=y CONFIG_NET_CONFIG_AUTO_INIT=n # Connection manager CONFIG_NET_CONNECTION_MANAGER=y # Zephyr NET Connection Manager Connectivity layer. CONFIG_L2_WIFI_CONNECTIVITY=y CONFIG_L2_WIFI_CONNECTIVITY_AUTO_DOWN=n CONFIG_L2_WIFI_CONNECTIVITY_AUTO_CONNECT=n CONFIG_LWM2M_APP_ID="aaa" CONFIG_LWM2M_APP_SERVER="coaps://eu.iot.avsystem.cloud:5684" CONFIG_LWM2M_DNS_SUPPORT=y # Enable DTLS support CONFIG_LWM2M_DTLS_SUPPORT=y CONFIG_LWM2M_TLS_SESSION_CACHING=y # TLS networking CONFIG_NET_SOCKETS_ENABLE_DTLS=y CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4 CONFIG_NET_SOCKETS_SOCKOPT_TLS=y # nRF Security CONFIG_NRF_SECURITY=y # mbedTLS CONFIG_MBEDTLS=y CONFIG_MBEDTLS_ENABLE_HEAP=y CONFIG_MBEDTLS_HEAP_SIZE=120000 CONFIG_MBEDTLS_RSA_C=y CONFIG_STA_KEY_MGMT_WPA2=y CONFIG_NRFX_QSPI=y CONFIG_LWM2M_IPSO_GENERIC_SENSOR=y CONFIG_LWM2M_IPSO_GENERIC_SENSOR_NAME="air" CONFIG_LWM2M_IPSO_GENERIC_SENSOR_TYPE="air" # ==================== # Flash - Used in FOTA, settings and storage for P-GPS. CONFIG_FLASH=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_FLASH_MAP=y CONFIG_STREAM_FLASH=y CONFIG_MPU_ALLOW_FLASH_WRITE=y # MCUBOOT CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_IMG_MANAGER=y CONFIG_MCUBOOT_IMG_MANAGER=y CONFIG_IMG_ERASE_PROGRESSIVELY=y CONFIG_SECURE_BOOT=y CONFIG_BUILD_S1_VARIANT=y CONFIG_FOTA_DOWNLOAD=y CONFIG_DFU_TARGET=y CONFIG_NRF_RTC_TIMER=y CONFIG_NRF53_UPGRADE_NETWORK_CORE=y CONFIG_BOOT_IMAGE_ACCESS_HOOKS=y CONFIG_PM_EXTERNAL_FLASH_ENABLED=y CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY=y #CONFIG_ADD_MCUBOOT_MEDIATE_SIM_FLASH_DTS=y CONFIG_SECURE_BOOT=y
pm_static_nrf7002dk_nrf5340_cpuapp.yml
mcuboot_secondary: region: external_flash address: 0x0 size: 0xD0000
child_image\mcuboot.conf
CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_FW_INFO=y CONFIG_FW_INFO_FIRMWARE_VERSION=1
child_image\boards\nrf7002dk_nrf5340_cpuapp.overlay
/*
* Copyright (c) 2023 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/
&mx25r64 {
status = "okay";
};
/ {
/* Configure partition manager to use mx25r64 as the external flash */
chosen {
nordic,pm-ext-flash = &mx25r64;
};
};
child_image\boards\nrf7002dk_nrf5340_cpuapp.conf
CONFIG_FLASH=y CONFIG_SPI=y CONFIG_SPI_NOR=y CONFIG_SPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096 CONFIG_SPI_NOR_SFDP_DEVICETREE=y CONFIG_PM_PARTITION_SIZE_MCUBOOT=0x13E00 CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK=y CONFIG_MULTITHREADING=y CONFIG_MAIN_STACK_SIZE=2048 CONFIG_BOOT_MAX_IMG_SECTORS=256 # Use minimal C library instead of the Picolib CONFIG_MINIMAL_LIBC=y CONFIG_PCD_APP=y CONFIG_UPDATEABLE_IMAGE_NUMBER=2 CONFIG_FLASH_SIMULATOR=y CONFIG_FLASH_SIMULATOR_DOUBLE_WRITES=y CONFIG_FLASH_SIMULATOR_STATS=n CONFIG_BOOT_UPGRADE_ONLY=y
boards\nrf7002dk_nrf5340_cpuapp.overlay
/*
* Copyright (c) 2023 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/
/ {
/* Configure partition manager to use mx25r64 as the external flash */
chosen {
nordic,pm-ext-flash = &mx25r64;
};
aliases {
ext-flash = &mx25r64;
};
};
&mx25r64 {
status = "okay";
};
boards\nrf7002dk_nrf5340_cpuapp.conf
CONFIG_SPI=y CONFIG_SPI_NOR=y CONFIG_SPI_NOR_SFDP_DEVICETREE=y CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK=y