Building nrf7002/nrf5340 application with wifi firmware in external flash (STORE)

As I am running out of flash space on the nrf5340 (mainly due to the 500+kB needed to run a basic wifi application), I want to put the nrf70 firmware into the external flash (connected via QSPI on my custom PCB).

The simplest way looked to be using the CONFIG_NRF_WIFI_PATCHES_EXT_FLASH_STORE option (even though my hw would support the XIP case). I also want to give the DFU option using mcuboot.

I set up my partitions as per the doc:

# allow wifi patches to be updated by mcuboot
nrf70_wifi_fw_mcuboot_pad:
    region: external_flash
    address: 0x741e00
    size: 0x200
    #device: MX25R64

nrf70_wifi_fw:
    region: external_flash
    # 128kB size, its for the wifi fw
    address: 0x742000
    size: 0x20000

mcuboot_primary_2:
    region: external_flash
    orig_span: &id003
    - nrf70_wifi_fw_mcuboot_pad
    - nrf70_wifi_fw
    span: *id003
    address: 0x741e00
    size: 0x20200
    #device: MX25R64

mcuboot_secondary_2:
    region: external_flash
#    address: 0x762e00
    address: 0x762000
    size: 0x20200
    #device: MX25R64

I enable the options in prj.conf as per what I understand from the doc and the source:

CONFIG_NRF_WIFI_PATCHES_BUILTIN=n
CONFIG_NRF_WIFI_PATCHES_EXT_FLASH_STORE=y
CONFIG_NRF_WIFI_FW_PATCH_INTEGRITY_CHECK=n
CONFIG_NRF_WIFI_FW_PATCH_DFU=y

The partitions work fine, the partition ids are in pm_config.h as expected by the ext_fw_load.c code.

However, the build fails as a rule to generate the hex file required (nrf70.hex) from the binary blob (nrf70.bin) doesn't seem to be in the mix:

-- Configuring done
-- Generating done
-- Build files have been written to: C:/work/dev/if-device-nrf53/cc1-med/build
←[92m-- west build: building application
←[0mninja: error: 'zephyr/nrf70.hex', needed by 'zephyr/nrf70_signed.hex', missing and no known rule to make it
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\b620d30767\opt\bin\cmake.EXE' --build 'C:\work\dev\if-device-nrf53\cc1-med\build'

The bin blob, nrf70.bin, should be nrfxlib/nrf_wifi/bin/ncs/default/nrf70.bin for my case, as I have 

CONFIG_NRF70_SYSTEM_MODE=y
What config is missing to force the hex generation?
Parents Reply Children
No Data
Related