Multiple DFU Transports

jhendr gravatar image

asked 2017-11-17 22:12:43 +0100

More of a suggestion than a question:

Using the info available on the infoCenter, especially here and here, I'm trying to implement a way to dynamically select the DFU transport to be used. I was able to build my project without breaking the DFU over BLE functionality; I don't have a way to test the UART yet. My suggestion is changing the identifier "dfu_trans" in one or both of nrf_ble_dfu.c and nrf_uart_dfu.c. The fact that both files were using the same identifier caused build errors in my Segger Studio setup. It doesn't seem like there is any reason for them to share that identifier. So, I changed them to "sdfu_trans" and "bdfu_trans" and was able to build and run.

Another suggestion, more of a request really - it would be nice to be able to select, or simply init and uninit transports from outside the DFU and bootloader libraries. Thanks.

I'm working on a custom board based on the nRF52832. I'm developing on Win 8.1 using SES and a J-Link Plus. SDK version 14.1.

edit retag flag offensive close delete report spam


Thanks for your suggestion. The bootloader was developed so it can be transport layer agnostic. User are free to choose and add more transport layers. However combining multiple transport layers in one bootloader was not prioritized, mostly because of the size constrain.

I will send your request and suggestion to R&D.

Hung Bui ( 2017-11-20 15:21:43 +0100 )editconvert to answer

Just an update - I was able to test the UART DFU and it works. So our app on our custom board supports DFU over either BLE or UART.

Jason Hendrix ( 2017-12-14 17:53:43 +0100 )editconvert to answer

Thanks Jason for the update. Did you face any challenge when combining the 2 transport layer that you want to share ?

Hung Bui ( 2017-12-15 13:04:20 +0100 )editconvert to answer

Hi Hung, - the software pretty much worked with the mods to nrf_uart_dfu.c and nrf_ble_dfu.c described in the post. If I get a chance I'll post more details.

Jason Hendrix ( 2017-12-15 17:41:05 +0100 )editconvert to answer