hi support team,
docs says we can program 54l15 external spi flash ,please refer to :https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_external_memory.html
and i copied this :https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_external_memory.html#example-for-spi-on-nrf54l15 as jason file:
{ "firmware_config": { "peripheral": "SPIM00" }, "pins": { "sck": 65, "csn": 69, "io0": 66, "io1": 68, "io2": 67, "io3": 64 }, "flash_size": 8388608, "page_size": 4096, "sck_frequency": 8000000, "address_mode": "MODE24BIT" }
and it tells us to using 0x10000000 address for file:
i tried , but find one problem, when i program hex to external flash the internal flash is erased:
1: C:\Users\William>arm-none-eabi-objcopy -I binary -O ihex --change-address 0x10000000 C:\ncs2\v3.1.0-preview4\nrf\samples\dfu\dfu_target\build\dfu_target\zephyr\zephyr.bin zephyr1.hex
2: C:\Users\William>nrfutil device --x-ext-mem-config-file C:\Users\William\Desktop\54L15.json program --firmware C:\Users\William\zephyr1.hex --options ext_mem_erase_mode=ERASE_RANGES_TOUCHED_BY_FIRMWARE,verify=VERIFY_READ
[00:00:03] ###### 100% [4/4 1057740301] Programmed
3. but i found out the internal flash 0f 54L15 is erased.
C:\Users\William>nrfutil device --x-ext-mem-config-file C:\Users\William\Desktop\54L15.json read --address 0
1057740301
0x00000000: FFFFFFFF |....|
C:\Users\William>nrfutil device read --address 0
1057740301
0x00000000: FFFFFFFF |....|
4. where extern spi flash is correct:
C:\Users\William>nrfutil device --x-ext-mem-config-file C:\Users\William\Desktop\54L15.json read --address 0x10000000 --bytes 256 --width 8
1057740301
0x10000000: 40 2A 00 20 31 F5 00 00 8F 66 01 00 1D F5 00 00 |@*. 1....f......|
0x10000010: 1D F5 00 00 1D F5 00 00 1D F5 00 00 00 00 00 00 |................|
0x10000020: 00 00 00 00 00 00 00 00 00 00 00 00 AD F6 00 00 |................|
0x10000030: 1D F5 00 00 00 00 00 00 49 F6 00 00 1D F5 00 00 |........I.......|
0x10000040: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x10000050: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x10000060: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x10000070: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x10000080: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x10000090: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x100000A0: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x100000B0: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x100000C0: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x100000D0: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x100000E0: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
0x100000F0: 71 F8 00 00 71 F8 00 00 71 F8 00 00 71 F8 00 00 |q...q...q...q...|
here is my zephyr1.hex:
so i guess one of my command parameter is not correct:
Regards,
William.