Hi,
I am unable to use the new nrfutil to do even a device reset of my devkit. I have installed the recommended segger version and the apple-silicon version of nrfutil on my Macbook M3 machine (tested on my colleague's M2 as well with the same result).
The output of --version is normal:
>> nrfutil device --version nrfutil-device 2.7.5 (6460d8f 2024-11-07) commit-hash: 6460d8f68cc20bfb87b93a5311d4afe388a7a44f commit-date: 2024-11-07 host: aarch64-apple-darwin build-timestamp: 2024-11-07T10:21:59.397001000Z classification: nrf-external Detected SEGGER J-Link version: JLink_V7.94i
It can also detect the connected nrf52840-DK without problems:
>> nrfutil device list 1050321577 product J-Link board version PCA10040 ports /dev/tty.usbmodem0010503215771, vcom: 0 /dev/tty.usbmodem0010503215773, vcom: 1 traits devkit, jlink, seggerUsb, serialPorts, usb Found 1 supported device(s)
However, when attempting to reset, erase or flash code to my target, I consistently get the following error message (here copied from an NRF5340 DK, all my devkits show the same behaviour):
nrfutil device reset ❌ Failed to reset 960140919, [jlink] INTERNAL_ERROR Error: One or more reset tasks failed: * 960140919: [jlink] INTERNAL_ERROR, code: Nrfjlink
I have updated the j-link firmware using JLinkConfig. I also managed to directly use the JLinkExe tool to connect, reset, erase and flash to that same target successfully.
One thing that strikes me there in the console ouptut is the following (again from the NRF5340 DK, but equivalent result on the other DKs I have):
Found Cortex-M33 r0p4, Little endian. Cortex-M: The connected J-Link (S/N 960140919) uses an old firmware module: V1 (current is 2) Cortex-M (ARMv8-M and later): The connected J-Link (S/N 960140919) uses an old firmware module that does not handle I/D-cache correctly. Proper debugging functionality cannot be guaranteed if cache is enabled
Is this the thing nrfutil cannot handle? Are really all my devkits too old already?
Thanks for any help in advance!