How can I program an already programmed nRF52840 dongle without reset button

I have nRF52840 dongles that have something already programmed on it. They are encased in plastic and I have no access to the little reset button. How can I install my SoftDevice application on this dongle?

I have another dongle with something pre-programmed on it which in device manager shows nRF52 SDFU USB which I think is the standalone DFU trigger application located here in my SDK: nRF5_SDK_17.0.2_d674dde\examples\connectivity\ble_connectivity\pca10059\ser_s140_usb_hci

or this application located here in my SDK: nRF5_SDK_17.0.2_d674dde\examples\dfu\open_bootloader\pca10059_usb

It is NOT a Fanstel dongle.

I am not sure how to tell and I am not sure how the two differ. I think (but I am far from sure) that the ser_s140_usb_hci code is to be integrated as part of your own application and the other one is a standalone app that shares memory with your application. If it is a stand-alone app (nRF Connect programmer shows the usb application sitting above SoftDevice), am I to load my application on top of this one? If so, I assume I have to change the memory locations in the SES or Keil IDEs before generating the HEX file that shall share flash with this pre-loaded DFU. This pre-loaded SoftDevice may not be compatible with the SoftDevice I use so I may not be able to use these pre-loaded apps in my case regardless. I do not know how to find out what the SoftDevice ID is. nRF Connect Programmer does not provide that information.

Clarification and any help appreciated!

  • I have another dongle with something pre-programmed on it which in device manager shows nRF52 SDFU USB which I think is the standalone DFU trigger application located here in my SDK: nRF5_SDK_17.0.2_d674dde\examples\connectivity\ble_connectivity\pca10059\ser_s140_usb_hci

    nRF52 SDFU USB is the DFU USB transport (USB CDC ACM DFU Transport) which indicates that the dongle is already running in Bootloader DFU mode.

    The connectivity example you point to is meant for the Connectivity chip in our Serialization setup, so it's not a standalone application for the DFU trigger library. But it will include it if you build the example for the pca10059 dongle.

    I am not sure how to tell and I am not sure how the two differ. I think (but I am far from sure) that the ser_s140_usb_hci code is to be integrated as part of your own application and the other one is a standalone app that shares memory with your application.

    As mentioned above, this application is only meant to be used when you use serialization (BLE application running on another host processor or PC). You can however use it as a reference when integrating the trigger library in your application.

    I assume I have to change the memory locations in the SES or Keil IDEs before generating the HEX file that shall share flash with this pre-loaded DFU.

    Your application must configured to start on top of the Softdevice. The Bootloader will always be placed at the end of flash as shown here: Memory layout

    I do not know how to find out what the SoftDevice ID is. nRF Connect Programmer does not provide that information.

    The FWID is listed in the Softdevice release notes. Another option is to merge the Softdevice with your application and program it as one big application. Then you will not have to have to specify the FWID.

Related