This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

DFU and Serial communication over USB

I am trying to enable DFU over USB with the nRF52480, while keeping the possibility for Serial communication. I got a working example with both separate, however when I try to combine the examples I get a lot problems.

As of my understanding I have to use the nrf_dfu_trigger_usb.h library, however I can't seem to figure out how. The documentation says to call "nrf_dfu_trigger_usb_init()" after USB is initialized but before it is enabled. Do you have an example of how to do this, i.e. how to use DFU over USB while still using the USB for something else (Serial communication)?

I guess my main problem is that the DFU library initialises the variable "m_app_cdc_acm" and thus I cannot use do that myself for the Serial communication. Should I access this variable through something like: "extern const app_usbd_cdc_acm_t m_app_cdc_acm", or am I missing some basic understanding of how this works Slight smile

Also when compiling I get a lot of undefined reference to f.x. `slip_decode_add_byte' and `crc32_compute'. I have added the files containing these functions to my makefile, but I am wondering if the order of the includes makes a difference? 

Thanks Smiley

Parents
  • MrSolidGeek,

    As of my understanding I have to use the nrf_dfu_trigger_usb.h library, however I can't seem to figure out how. The documentation says to call "nrf_dfu_trigger_usb_init()" after USB is initialized but before it is enabled. Do you have an example of how to do this, i.e. how to use DFU over USB while still using the USB for something else (Serial communication)?

    Unfortunately, we have not tried the combo to work together ourselves. So I am not sure what are the efforts and challenges involved to integrate them. Sorry that this answer is not much of any help. Lets wait out to see if any other forum members experimented with it. 

Reply
  • MrSolidGeek,

    As of my understanding I have to use the nrf_dfu_trigger_usb.h library, however I can't seem to figure out how. The documentation says to call "nrf_dfu_trigger_usb_init()" after USB is initialized but before it is enabled. Do you have an example of how to do this, i.e. how to use DFU over USB while still using the USB for something else (Serial communication)?

    Unfortunately, we have not tried the combo to work together ourselves. So I am not sure what are the efforts and challenges involved to integrate them. Sorry that this answer is not much of any help. Lets wait out to see if any other forum members experimented with it. 

Children
No Data
Related