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.
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.
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.
Thanks Jason for the update. Did you face any challenge when combining the 2 transport layer that you want to share ?
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.
Hi Jason Hendrix,In nRF53832, sdk 13.0.0, I want combine BLE DFU and serial DFU in one demo, but when I transplant serial DFU function into BLE DFU demo,or transplant BLE DFU function into serial DFU demo, BLE DFU can work,but serial DFU can’t, could you tell me how you solve this problem?