Custom board USB DFU (buttonless)

Trying to add the capability of USB DFU (buttonless, because I forgot to have a button for it) to my custom board (nrf52840, MS88SF31 module). Reading about this process from different places gives different answers and I can't quite wrap my head around it. I have made a custom board and managed to program a LED to blink. For programming I used openocd and ST-link 2. 

If anyone can lead me in the right direction, help would be appreciated. I have read the academy course on it, and some documentation as well but a lot of the terminology is lost on me.

Biggest questions I have with it are:
1. Where do I get the MCUBoot? I have managed to build one through visual studio code with my application, but it didn't seem to work, I don't really know how to test it other than connect the board through USB and look at NRF Connect for Desktop, Programmer. I have also seen a lot of mentions of pca10040 pca10100 etc., but I don't understand what am I suppose to do with the stuff in those folders. All the file types are completly different from the ones that I have seen before.

2. If I manage to get the USB DFU to work, can I program my board through NRF Connect for Desktop, Programmer or do I need something else? 

3. How much, if at all, do I need to change the bootloader? As I understand, I need to add a few lines to make the DFU USB work, but is there something else I need to do aswell? I have read about mcumgr, which I don't really understand the purpose of I this context.

Thanks in advance!

Parents
  • Hello (to both of you);

    nordicator_prim3 answers to your questions are correct, but I would also like to inform you of the courses we have on our academy pages at https://academy.nordicsemi.com/ which sole purpose is to bring the learning curve down to a less steep level when it comes to getting started with nRF Connect SDK and Zephyr.

    For both new and intermediate developers I strongly recommend this path when you're getting started (or if you need to repeat something)

    1. Decide which SDK version you're working with. For instance if you're not going to use sysbuild, you will have to stick with NCS v2.6.x. If it doesn't really matter, start with the latest tagged release (currently NCS v3.0.2)
    2. Fundamentals NCS lesson 1, 2, 3, 4 and 5
    3. Intermediate NCS lesson 1, 2, 3, 8, and 9 and then maybe 7
    4. Any other lesson that contains peripherals that you will be using presented within these courses
    5. BLE fundamentals if you intend to have something BLE related on your application or the cellular and/or Wifi fundamentals course(s)

    I will say that at least steps 1-3 are "mandatory" to go through, but solely based on your description I strongly recommend you to at least have a look at lesson 8 and 9 in the intermediate course, which contains theory, links and samples relevant to MCUboot and DFU specifically. All the lessons should link to our official documentation at https://docs.nordicsemi.com/ 

    Kind regards,
    Andreas

Reply
  • Hello (to both of you);

    nordicator_prim3 answers to your questions are correct, but I would also like to inform you of the courses we have on our academy pages at https://academy.nordicsemi.com/ which sole purpose is to bring the learning curve down to a less steep level when it comes to getting started with nRF Connect SDK and Zephyr.

    For both new and intermediate developers I strongly recommend this path when you're getting started (or if you need to repeat something)

    1. Decide which SDK version you're working with. For instance if you're not going to use sysbuild, you will have to stick with NCS v2.6.x. If it doesn't really matter, start with the latest tagged release (currently NCS v3.0.2)
    2. Fundamentals NCS lesson 1, 2, 3, 4 and 5
    3. Intermediate NCS lesson 1, 2, 3, 8, and 9 and then maybe 7
    4. Any other lesson that contains peripherals that you will be using presented within these courses
    5. BLE fundamentals if you intend to have something BLE related on your application or the cellular and/or Wifi fundamentals course(s)

    I will say that at least steps 1-3 are "mandatory" to go through, but solely based on your description I strongly recommend you to at least have a look at lesson 8 and 9 in the intermediate course, which contains theory, links and samples relevant to MCUboot and DFU specifically. All the lessons should link to our official documentation at https://docs.nordicsemi.com/ 

    Kind regards,
    Andreas

Children
No Data
Related