Any instructions or link I can follow to do this instead of having to use an iOS or Android mobile device with the nRF Connect mobile app?
Any instructions or link I can follow to do this instead of having to use an iOS or Android mobile device with the nRF Connect mobile app?
Hi,
Are you using the nRF5 SDK or the nRF connect SDK? In either case, we do not provide any libraries intended to perform DFU from a PC to integrate in your (potential) custom application, but we do provide some tools intended for development and testing.
If using the nRF5 SDK, you can perform DFU from a computer using nRF Connect Bluetooth LE. You can also use nrfutil for a command line tool. Note that you will need to have a DK or dongle connected to the PC (this does not use any native BLE support or device in the computer).
If using the nRF Connect SDK, you can use mcumgr.
Hi Einar,
I am using nRF5 SDK. I tried nRF Connect BLE to no avail. I connect my J-Link EDU device to the SWD i/f of my nRF52832 custom board and click on SELECT DEVICE in nRF Connect for Desktop Bluetooth Low Energy Standalone v4.0.4. The app shows J-Link + S/N. When I click on it, I get the following output in the log:
Hi,
You cannot use a normal Segger debugger with nRF Connect Bluetooth. It relies on the nRF chip on a DK or a dongle for Bluetooth conectivity. So you need to use a DK. To be clear, this DK connected to the PC and that you use with nRF Connect, is then used as part of the DFU master side. And can communicate over BLE with the device you want to upgrade. Once you get that working (can scan BLE devices etc), you are ready to try to do DFU of the device.
To do DFU via nRF Connect, you will need to provide a zip image just as you do with nRF Connect for iOS, so I suggest you use an image you know is working (that you had working with nRF Connect for iOS).
Hi Einar,
I may not have been clear in explaining, my apologies for that. So let me try again.
The custom board has SWD support. I can use the iOS or Android nRF Connect mobile app to do DFU over BLE. But that is not desirable for the manufacturer. They require a PC based solution.
The only way I can connect the board to a PC is via a J-Link device, connecting to the board via the SWD i/f and to the PC via USB. The manufacturer can use nRFutil to flash the merged bootloader + softdevice hex file to the board in this setup. But the has to flash the application via nRF Connect for iOS or Android, because using nRFutil to flash a merged bootloader + softdevice + application hex file doesn't work. What am I doing wrong?
Hi,
OK, so in production programming you first flash the bootloader + SoftDevice hex via SWD, then you use DFU via BLE to program the application. Is that correct? May I ask why don ton't also flash the application + bootloader settings page, so that you do all the programming in one go?
Though it seems odd, if you really want to DFU in the application via DFU over BLE from a PC, you need to do as I attempted to describe in my previous post (after first have programmed the bootloader + SoftDevice via SWD). That is to use either nRF Connect Bluetooth Low Energy as described in the documentation DFU over Bluetooth Low Energy, or use nrfutil as described under Updating firmware over the air. Note that in both cases you will need an nRF DK or dongle.