# nrfutil DFU BLE and connectivity firmware

Hey Guys,

I noticed when I use nrfutil DFU BLE command on the nRF52 DK the nrfutil program a "connectivity firmware" before the perform the DFU BLE to a Target device.

The issue I am facing is I am using a custom hardware with a different pinout that nRF52 DK and with no J-Link OB like the nRF5X DK boards. Making incompatible it with the "connectivity firmware"

Are there any documentation to use nrfutil DFU BLE using a custom hardware with no J-Link OB chip? or where can I find an using that firmware (I dont know the correct name) to edit the board.h and make it compatible with my hardware and be able to make BLE DFU from a window PC

Regards, Marco

edit retag close delete

Sort by » oldest newest most voted

Hi Marco,

in order to create connectivity firmware that is compatible with custom nRF52 hardware you have to apply the sdk121_connectivity.patch, found here in the pc-ble-driver GitHub repo, to the connectivity example in SDK v12.1.0. You can find the connectivity example in examples\ble_central_and_peripheral\ble_connectivity\pca10040\ser_s132_hci. You can then change the pinout in pca10040.h or create a custom_board.h to match your custom hardware.

Best regards

Bjørn

more

Does it works using SDK v13?

( 2017-05-18 15:04:20 +0200 )editconvert to answer
1

The patch is based on SDK v12.1.0. It will not work on other SDK releases. If you need to base it on another version of the SDK then you must port this patched version to the target SDK on your own.

( 2017-05-18 15:12:38 +0200 )editconvert to answer
1

The patch is SDK v12.1.0 specific, however it might work with SDK v13, but I have not tried that.

( 2017-05-18 15:14:32 +0200 )editconvert to answer

@tesc I want to port it to another SDK version

@bjorn-spockeli Thank for the info now it is more clear for me

Marco

( 2017-05-18 16:08:59 +0200 )editconvert to answer

@MarcoTull Hi, I have given this some more thought, and it is definitely best to keep it at the SDK and SoftDevice it was originally made for. Porting it would quickly require changes in pc-ble-driver as well. You may have a wish to do all development using the same SDK, I can see great value in that, but in this case it simply is not worth the effort. If you miss functionality in the current version then please let us know, so that we can consider it for future releases.

( 2017-05-18 17:12:56 +0200 )editconvert to answer

@terje SchjelderupTerje Thanks for the reply. Before I made any changes I am trying make to work the connectivity firmware with no luck. I am able to compile it using gcc, but when I runnrfutil DFU BLE it keeps programming other 'connectivity firmware' removing the one I programmed before

update:

I am getting the following error:

Thanks, Marco

( 2017-05-18 17:20:40 +0200 )editconvert to answer

If you apply the patch then it should recognise the firmware. Also, by default it should not flash the connectivity firmware. It will do so only if you provide the -f option. What is the nrfutil version?

( 2017-05-18 17:33:38 +0200 )editconvert to answer

I tried using the patch, but I always got the following message :

Nordic/nRF5_SDK_12.1.0_0d23e2a
\$ git apply < sdk121_connectivity.patch
error: corrupt patch at line 194

( 2017-05-19 00:58:07 +0200 )editconvert to answer

That is the last line. I suspect whitespace. Can you double check that you have the full last line, and try with the --ignore-whitespace option?

( 2017-05-19 10:53:08 +0200 )editconvert to answer

@terje Schjelderup I was able to apply the patch :)

Now I am testing with the ser_s132_hci being a little slow about 2mins to perform the DFU and ser_s132_uart (unable to perform the DFU yet)

trying to improve the speed

( 2017-05-19 15:07:33 +0200 )editconvert to answer

Of course! We use the hci version, not uart, so you were trying with the wrong example. Sorry for missing that.

( 2017-05-19 17:59:46 +0200 )editconvert to answer

Thanks, for all the help. A last question my whole program was made on SDK13 is possible apply it for the SDK13? making the changes for myself and what values for RAM (rwx) : ORIGIN = 0x2000bcc0, LENGTH = 0x4340 should I put SDK13>

( 2017-05-19 18:14:11 +0200 )editconvert to answer

[hide preview]

## Recent blog posts

• ### Introducing nRF5 SDK for Mesh

Posted 2017-07-20 09:42:44 by Pär H

Posted 2017-07-19 06:53:42 by Mohammad Afaneh
• ### Unique Thread/Bluetooth multiprotocol solution with nRF5 SDK for Thread and nRF52840 SoC by Nordic

Posted 2017-07-14 10:31:56 by Krzysztof Loska
• ### nRF Connect macros (currently Android only)

Posted 2017-07-14 13:29:14 by Aleksander Nowakowski
• ### Power Optimization — From 3 to 7 Months on a Single Charge

Posted 2017-07-10 14:34:39 by Yaniv Nis

## Recent questions

• ### openocd configuration file nrf51.cfg not working

Posted 2017-07-22 18:40:18 by phob
• ### Problems with UART running ble_app_uart_c on nRF52832

Posted 2017-07-22 17:44:12 by kont40
• ### Wake-up source with nRF52 capacitive touch and current consumption

Posted 2017-07-22 17:35:46 by MANGO
• ### Different master instances for two slaves in nrf51422

Posted 2017-07-22 12:48:29 by Khan
• ### Receiving notifications from Android Phone

Posted 2017-07-22 12:29:52 by kian79