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

secure_bootloader_uart_mbr_pca10056_debug questions

Parents
  • I tried following your instructions with my ARM host connected to the MIMEW board so I decided to flash the bootloader directly to the Nordic SDK and use Jimmy Wong's C++ program by the SDK's USB interface.

    I also did not succeed.

    Here is what I did.

    Thanks You.


    1) Bootloader
     a) Copied pca10056_uart_debug_266089 zip to E:\Nordic\nRF5_SDK_17.0.2_d674dde\examples\dfu\secure_bootloader
     b) Cleared button and hardware flow control
        //==========================================================
        // <e> NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press.
        //==========================================================
        #ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON
        #define NRF_BL_DFU_ENTER_METHOD_BUTTON 0
        #endif
        // <o> NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN  - Button for entering DFU mode.
        
        //==========================================================
        // <q> NRF_DFU_SERIAL_UART_USES_HWFC  - HWFC configuration
        
        
        #ifndef NRF_DFU_SERIAL_UART_USES_HWFC
        #define NRF_DFU_SERIAL_UART_USES_HWFC 0
        #endif
     c) Added to Preprocessor
        RX_PIN_NUMBER=8
        TX_PIN_NUMBER=6
        CTS_PIN_NUMBER=7
        RTS_PIN_NUMBER=5
     d) Remarked as no leds
        static void dfu_observer(nrf_dfu_evt_type_t evt_type)
        {
            switch (evt_type)
            {
                case NRF_DFU_EVT_DFU_FAILED:
                case NRF_DFU_EVT_DFU_ABORTED:
                case NRF_DFU_EVT_DFU_INITIALIZED:
        #if LEDS_NUMBER > 0
                    bsp_board_init(BSP_INIT_LEDS);
                    bsp_board_led_on(BSP_BOARD_LED_0);
                    bsp_board_led_on(BSP_BOARD_LED_1);
                    bsp_board_led_off(BSP_BOARD_LED_2);
        #endif
                    break;
                case NRF_DFU_EVT_TRANSPORT_ACTIVATED:
        #if LEDS_NUMBER > 0
                    bsp_board_led_off(BSP_BOARD_LED_1);
                    bsp_board_led_on(BSP_BOARD_LED_2);
        #endif
                    break;
                case NRF_DFU_EVT_DFU_STARTED:
                    break;
                default:
                    break;
            }
        }
     e) Flashed the built secure_bootloader_uart_mbr_pca10056_debug.hex and s140_nrf52_7.2.0_softdevice.hex (for my program use).
       Now the DFU bootloader runs since there is no application.
     
    2) Build my application package app_dfu_package.zip
    nrfutil pkg generate --hw-version 52 --application-version 1 --application E:\Projects\Nordic\alfa_laval_gateway\pca10056\s140\ses\Output\Debug\Exe\alfa_laval_gateway_pca10056_s140.hex --sd-req 0x0100 --key-file E:\Projects\Nordic\alfalval_gateway_keys\priv.pem E:\Projects\Nordic\AlfaLavalFlashfiles\app_dfu_package.zip
    pause

    3) I built Jimmy Wong's c++ program that my ARM host's code is built upon and ran it on my PC connected to the Nordic SDK, since something might have gotten messed up in my conversion code.
    In the end I will perform an application update recived by a cellular modem on our ARM host and update the MIMEW board serially.
    Jimmy's C++ program also failed when trying to program the data part before it sends the application code.
    In dfu_serial_execute_obj() the dfu_serial_get_rsp() returns an error.

    jimmywongbluetooth.wordpress.com/.../

    Sending Application image.
    SLIP: --> [9, 1]
    SLIP: <-- [96, 9, 1, 1]
    Set Packet Receipt Notification 0
    SLIP: --> [2, 0, 0]
    SLIP: <-- [96, 2, 1]
    SLIP: --> [7]
    SLIP: <-- [96, 7, 1, 131, 0]
    Sending init packet...
    Selecting Object: type:1
    SLIP: --> [6, 1]
    SLIP: <-- [96, 6, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    Object selected:  max_size:512 offset:0 crc:0x00000000
    SLIP: --> [1, 1, 141, 0, 0, 0]
    SLIP: <-- [96, 1, 1]
    Streaming Data: len:141 offset:0 crc:0x00000000
    SLIP: --> [8, 18, 138, 1, 10, 68, 8, 1, 18, 64, 8, 1, 16, 52, 26, 2, 128, 2, 32, 0, 40, 0, 48, 0, 56, 140, 175, 9, 66, 36, 8, 3, 18, 32, 212, 176, 254, 147, 100, 224, 60, 28, 43, 210, 13, 155, 200, 58, 136, 167, 98, 55, 196, 194, 68, 233, 177, 134, 127, 163, 183, 171, 47, 30, 252]
    SLIP: --> [8, 147, 72, 0, 82, 4, 8, 1, 18, 0, 16, 0, 26, 64, 191, 204, 125, 154, 71, 87, 252, 12, 223, 86, 90, 21, 50, 67, 33, 114, 149, 210, 212, 134, 102, 233, 32, 13, 115, 212, 214, 80, 143, 187, 128, 2, 123, 76, 156, 183, 137, 129, 62, 134, 1, 75, 75, 0, 130, 172, 198, 62, 157, 235, 79]
    SLIP: --> [8, 192, 112, 57, 190, 116, 143, 0, 214, 130, 56, 229, 181, 185]
    SLIP: --> [3]
    SLIP: <-- [96, 3, 1, 141, 0, 0, 0, 115, 111, 140, 185]
    SLIP: --> [4]
    SLIP: <-- [96, 4, 5]
    Bad result code (0x5)!

    E:\Nordic\nRF5_SDK_17.0.2_d674dde\examples\nrf-slim-serial-uart-dfu-host-c-code-master\Debug\UartSecureDFU.exe (process 21456) exited with code 1.
    To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
    Press any key to close this window . . .



     

  • Hi,

    You are using the USB interface and run on the UART bootloader , right?

    On the UART, it used the 64bytes payload.

    if you use the USB, the size would be changed on both side.

  • Rever back to the default setting:

    disable NRF_CRYPTO_BACKEND_NRF_SW_ENABLED (0) and  NRF_CRYPTO_BACKEND_NRF_SW_ENABLED (0), and enable NRF_CRYPTO_BACKEND_CC310_BL_ENABLED (1). 

    Let me know that can fix the error or not. Thanks. 

    -Amanda H.

  • I changed the defines not to use uECC and got passed sending the x.dat part of the update.

    Do I need to change the starting or other addresses in my Application to work with the non-uECC secure bootloader?

    I got from my host debug something that the offset and CRC are not correct.

    It looks like I have a bug in my code that I will now check as it seems that the program code sent is all 0xFFs.

    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 3, 1, 0, 16, 1, 0, 234, 100, 197, 116]
    18/03/2021 14:31:36[dfu_serial.c: 494] Invalid offset (65536 -> 69632)!
    18/03/2021 14:31:36[dfu_serial.c: 500] Invalid CRC (0x34EF5950 -> 0x74C564EA)!

    Thank you

    ARM host
    18/03/2021 14:31:32[dfu_serial.c: 201] SLIP: --> [9, 5]
    18/03/2021 14:31:32[dfu_serial.c: 216] SLIP: <-- [96, 43, 2]
    18/03/2021 14:31:32[dfu_serial.c: 238] Invalid response!
    18/03/2021 14:31:34[ami_io.c:1141] ADC 2778 0 1 0 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [9, 6]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 9, 1, 6]
    18/03/2021 14:31:36[dfu_serial.c: 281] Set Packet Receipt Notification 0
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [2, 0, 0]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 2, 1]
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [7]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 7, 1, 131, 0]
    18/03/2021 14:31:36[dfu_serial.c: 658] Sending init packet...
    18/03/2021 14:31:36[dfu_serial.c: 334] Selecting Object: type:1
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [6, 1]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 6, 1, 0, 2, 0, 0, 141, 0, 0, 0, 173, 88, 200, 169]
    18/03/2021 14:31:36[dfu_serial.c: 353] Object selected:  max_size:512 offset:141 crc:0xA9C858AD
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [4]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 4, 1]
    18/03/2021 14:31:36[dfu_serial.c: 717] Sending firmware file...
    18/03/2021 14:31:36[dfu_serial.c: 334] Selecting Object: type:2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [6, 2]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 6, 1, 0, 16, 0, 0, 0, 0, 1, 0, 254, 81, 122, 123]
    18/03/2021 14:31:36[dfu_serial.c: 353] Object selected:  max_size:4096 offset:65536 crc:0x7B7A51FE
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [1, 2, 0, 16, 0, 0]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 1, 1]
    18/03/2021 14:31:36[dfu_serial.c: 479] Streaming Data: len:4096 offset:61440 crc:0x1F227120
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2
    18/03/2021 14:31:36[dfu_serial.c: 201] SLIP: --> [3]
    18/03/2021 14:31:36[dfu_serial.c: 216] SLIP: <-- [96, 3, 1, 0, 16, 1, 0, 234, 100, 197, 116]
    18/03/2021 14:31:36[dfu_serial.c: 494] Invalid offset (65536 -> 69632)!
    18/03/2021 14:31:36[dfu_serial.c: 500] Invalid CRC (0x34EF5950 -> 0x74C564EA)!
    
    ===============================================
    RTT
    
    J-Link - Web control panel [RTT]
    General
    Settings
    Breakpoints
    RTT
    Log
    CPU Regs
    Target Power
    SWV
    RAWTrace
    STrace
    LiveTrace
    Flash
    Commander
    Help
    Status & Settings
    Control block address:
    (0 == Auto-detection)
    Status:
    Data rate:
    Total received:
    Buffered:
    Target -> Host
    Show data for channel:
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <info> nrf_dfu_req_handler: Invalid opcode received: 0x2B.
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x2
    
    <warning> nrf_dfu_serial: DFU request completed with result: 0x2
    
    <debug> nrf_dfu_serial: Sending Response: [0x2B, 0x2]
    
    <debug> nrf_dfu_serial: Received ping 6
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_PING
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x9, 0x1]
    
    <debug> nrf_dfu_serial: Set receipt notif target: 0
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_RECEIPT_NOTIF_SET
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x2, 0x1]
    
    <debug> nrf_dfu_serial: Received serial mtu
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_MTU_GET
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x7, 0x1]
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (command)
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x6, 0x1]
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (command)
    
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    
    <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    
    <debug> nrf_dfu_req_handler: Writing valid init command to flash.
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x4, 0x1]
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (data)
    
    <debug> nrf_dfu_req_handler: crc = 0x7B7A51FE, offset = 0x10000, max_size = 0x1000
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x6, 0x1]
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00037000, len=1 pages), queue usage: 0
    
    <debug> nrf_dfu_flash: Flash erase success: addr=0x00037000, pending 0
    
    <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00010000, CRC: 0x7B7A51FE
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x1, 0x1]
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037000, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037000, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037040, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037040, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037080, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037080, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000370C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000370C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037100, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037100, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037140, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037140, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037180, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037180, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000371C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000371C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037200, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037200, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037240, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037240, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037280, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037280, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000372C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000372C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037300, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037300, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037340, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037340, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037380, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037380, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000373C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000373C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037400, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037400, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037440, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037440, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037480, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037480, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000374C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000374C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037500, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037500, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037540, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037540, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037580, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037580, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000375C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000375C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037600, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037600, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037640, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037640, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037680, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037680, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000376C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000376C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037700, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037700, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037740, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037740, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037780, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037780, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000377C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000377C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037800, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037800, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037840, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037840, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037880, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037880, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000378C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000378C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037900, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037900, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037940, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037940, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037980, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037980, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000379C0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x000379C0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037A00, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037A00, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037A40, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037A40, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037A80, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037A80, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037AC0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037AC0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037B00, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037B00, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037B40, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037B40, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037B80, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037B80, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037BC0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037BC0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037C00, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037C00, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037C40, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037C40, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037C80, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037C80, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037CC0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037CC0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037D00, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037D00, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037D40, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037D40, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037D80, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037D80, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037DC0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037DC0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037E00, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037E00, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037E40, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037E40, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037E80, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037E80, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037EC0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037EC0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037F00, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037F00, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037F40, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037F40, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 2000380C
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037F80, src=0x2000378C, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037F80, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00037FC0, src=0x20003810, len=64 bytes), queue usage: 1
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x00037FC0, pending 0
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <info> nrf_dfu_serial_uart: Allocated buffer 20003788
    
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (data)
    
    <debug> nrf_dfu_req_handler: Offset:69632, CRC:0x74C564EA
    
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    
    <debug> nrf_dfu_serial: Sending Response: [0x3, 0x1]
    
    <debug> app: timer_stop (0x20000024)
    
    <debug> app: : Initializing nrf_fstorage_nvmc backend.
    
    <debug> nrf_dfu_settings: Using settings page.
    
    <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    
    <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    
    <debug> app: Enter nrf_bootloader_fw_activate
    
    <info> app: No firmware to activate.
    
    <info> app: Boot validation failed. No valid app to boot.
    
    <debug> app: DFU mode because app is not valid.
    
    <info> nrf_bootloader_wdt: WDT is not enabled
    
    <debug> app: in weak nrf_dfu_init_user
    
    <debug> app: timer_stop (0x20000024)
    
    <debug> app: timer_activate (0x20000024)
    
    <info> app: Entering DFU mode.
    
    <debug> app: Initializing transports (found: 1)
    
    <debug> nrf_dfu_serial_uart: serial_dfu_transport_init()
    
    <debug> nrf_dfu_serial_uart: serial_dfu_transport_init() completed
    
    <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    
    <debug> nrf_dfu_validation: PB: Init packet data len: 64
    
    <debug> app: Enter main loop
    
    Host -> Target
    Send CR on <Return>
    Send LF on <Return>
    
     
    
    SEGGER Microcontroller GmbH || www.segger.com

  • Shalom!

     I am advancing it seems. This is my last log till next week as we work Sunday through Thursday.

    My host debug:

    18/03/2021 15:30:26[dfu_serial.c: 216] SLIP: <-- [96, 3, 1, 0, 0, 1, 0, 45, 33, 232, 235]
    18/03/2021 15:30:26[dfu_serial.c: 201] SLIP: --> [4]
    18/03/2021 15:30:26[dfu_serial.c: 216] SLIP: <-- [96, 4, 1]
    18/03/2021 15:30:26[dfu_serial.c: 201] SLIP: --> [1, 2, 0, 16, 0, 0]
    18/03/2021 15:30:26[dfu_serial.c: 216] SLIP: <-- [96, 1, 1]
    18/03/2021 15:30:26[dfu_serial.c: 479] Streaming Data: len:4096 offset:65536 crc:0xEBE82

    The RTT:

    <info> nrf_dfu_serial_uart: Allocated buffer 20003788

    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)

    <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00037000, len=1 pages), queue usage: 1

    <debug> nrf_dfu_flash: Flash erase success: addr=0x00037000, pending 0

    <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00010000, CRC: 0xEBE8212D

    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1

    <debug> nrf_dfu_serial: Sending Response: [0x1, 0x1]

    Thank you and have a good week end

    David Kaplan

    RTT3.txt

  • Hi David, 

    Not sure the problem is in the bootloader or the host. Are you able to test the bootloader and application without updating via ARM host? To make sure this part can work without issue. 

    You could upload the application by entering the following command to start the DFU process over the serial link, where package.zip is the name of the firmware package that you want to upload and COM_PORT is the COM port to which the device is connected:
    nrfutil dfu serial -pkg package.zip -p COM_PORT for UART transport

    Do you see any error from the RTT log? Could the nRF52840 boot up to the new application after updating?

    -Amanda H.

  • Shalom!

     This morning I was able to update my application image by way of the serial connection from my ARM host after having time to debug things properly, I hope.

    Thank you for your help.

Reply Children
Related