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

Serial DFU with nRF9160 as DFU controller

I'm downloading a firmware image from AWS via cell onto the nRF9160. I want to perform a serial DFU over UART. The DFU target is the nRF52840. Are there any existing samples outlining this process?

Parents
  • Hi Ethan, 

    Could you let me know more about what firmware running on the nRF52840 ? 
    If it's running NCS , please have a look at this case: https://devzone.nordicsemi.com/support-private/support/269959

    ould you try to test using the repo that Simon pointed to in the case. 

    Simon is on vacation  but here is the instruction I got from him: 

    • cd into <..>\nrf\samples\other\test_lte_uart_dfu_lib and run
      • west build -b nrf52840_pca10090 && west flash
    • Set SW5 to nRF91
    • cd into <..>\nrf\samples\nrf9160\http_application_update and run
      • west build -b nrf9160_pca10090ns && west flash
    • Wait till you see the following log from the 9160: "Press Button 1 to start the FOTA download", then press Button 1 on the 91 DK
    • When you see the log "UART DFU transmission complete" in the log from the 9160 and the logging from the 52840 stops up (I forgot to enable log on the 52840 side signifying that the DFU was finished) do the following:
      • Set SW5 to nRF52
      • Press the RESET Button on the 91 DK
    • If everything works as expected, you will see the following log:

    Text

     *** Booting Zephyr OS build v2.1.99-ncs1 **

    [00:00:00.120,208] [1B][0m<inf> mcuboot: Starting bootloader[1B][0m

    [00:00:00.126,312] [1B][0m<inf> mcuboot: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3[1B][0m

    [00:00:00.136,108] [1B][0m<inf> mcuboot: Boot source: none[1B][0m[00:00:00.141,479] [1B][0m<inf> mcuboot: Swap type: test[1B][0m

    [00:00:02.377,655] [1B][0m<inf> mcuboot: Bootloader chainload address offset: 0xc000[1B][0m

    [00:00:02.385,162] [1B][0m<inf> mcuboot: Jumping to the first image slot[1B][0m

    ** Booting Zephyr OS build v2.1.99-ncs1 ***Hello world! nrf52840_pca10090

  • Hey Hung,

    A few clarifications:

    1. I am actually using the nRF52820. There was a misunderstanding between me and my supervisor.
    2. I'm not using any DKs. The 9160 and the 820 are on a custom PCB.
    3. NCS is not running on the 820, we're using the nRF5 SDK v17.0.02

    A follow-up questions now that my misunderstanding has been cleared up:

    Is there an example for a secure bootloader performing a DFU over UART that I should start with to apply to the 820. There are no examples that I've seen so far.

Reply
  • Hey Hung,

    A few clarifications:

    1. I am actually using the nRF52820. There was a misunderstanding between me and my supervisor.
    2. I'm not using any DKs. The 9160 and the 820 are on a custom PCB.
    3. NCS is not running on the 820, we're using the nRF5 SDK v17.0.02

    A follow-up questions now that my misunderstanding has been cleared up:

    Is there an example for a secure bootloader performing a DFU over UART that I should start with to apply to the 820. There are no examples that I've seen so far.

Children
Related