Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Using Zephyr HCI-UART application with a DFU bootloader?

I am investigating an H4 HCI over a UART implementation for a client which plans to use the 52832 (or 52840) as a replacement for a TI BLE chip in a new design.

I have built and installed the zephyr.hex file on their prototype hardware and have it working using some HCI DTM diagnostics from the earlier TI design.

My question is how do I transition this into a production product where it must be possible to upgrade the Zephyr firmware as new releases are available?  Is it possible to package the zephyr hex file as part of an application DFU package with your secure DFU serial bootloader?  I assume a SoftDevice would not be needed as a BLE stack is already part of the Zephyr application?

Thanks in advance for any further information on this topic.

  • Hi Paul, 

    The secure DFU bootloader provided in our SDK won't work with Zephyr as it can only be used with our softdevice. 

    There is some activity to implement DFU on Zephyr: https://github.com/zephyrproject-rtos/zephyr/issues/5382

    As far as I know the implementation is going to be finished soon. I will get back to you when I find the module is ready. 

  • Hi Hung,

    Thanks for the update!  I believe v1.11 has been released and will take a look to see if this was included.

  • I just pulled down the latest Zephyr code and I see that there is some documentation on the mcuboot support but it is not clear if it has been wired in completely.  Will this be completed in an upcoming release, and when will that be?   My client has a deadline to create a product based on the 52832/52840 and the lack of immediate upgrade support will force the need to find another BLE chip solution.

    Thanks.

  • One further question on this topic.  If we do use the mcuboot boot loader would it be possible to move back to the Nordic boot loader using DFU support over the UART?   I am concerned as my client is interested in possible Thread support (by using multiprotocol support in the 52840) in the future and it does not sound like this would be possible.   Do other customers make use of the "pc-ble-driver" you provide rather than HCI support (using BlueZ) to integrate under Linux?

    Thanks again.

  • Thread is supported in Zephyr, you can have a look here

    I don't know the detail about if MCUboot would be able to update to Nordic bootloader or if Zephyr would support dual mode BLE Thread or not. You may want to direct your questions to Zephyr directly. Please use the mailing lists here

1 2