What is the communication protocol of UART DFU?

Hi:

I use nrf52840 for UART DFU.

sdk 17.1.0.

Use bootloader:pca10056_uart_debug

I want to know what is the communication protocol of UART DFU?

Parents Reply Children
  • I see. Line 11 : 01 8E 00 00 00 & Line 18: 02 00 10 00 00 is the Command/Data and length.

    But 2 & 3 Still don't understand。

  • Hi, 

    Not sure how you capture the log and how to read it. 

    I would suggest to run serial dfu with nrfutil and append -vvvv for verbose logging and read it with the Message sequence charts.

    Command example: nrfutil -v -v -v -v dfu serial -pkg blinky_mbr.zip -p COM9 -b 115200

    Log would look like this:

    C:\nRF5 SDK\nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_dfu_test_images\uart\nrf52840>nrfutil -v -v -v -v dfu serial -pkg blinky_mbr.zip -p COM9 -b 115200
    2022-08-08 14:35:57,591 Using board at serial port: COM9
    2022-08-08 14:35:57,595 Sending Application image.
    2022-08-08 14:36:01,122 SLIP: --> [9, 1]
    2022-08-08 14:36:01,139 SLIP: <-- [96, 9, 1, 1]
    2022-08-08 14:36:01,139 Serial: Set Packet Receipt Notification 0
    2022-08-08 14:36:01,139 SLIP: --> [2, 0, 0]
    2022-08-08 14:36:01,156 SLIP: <-- [96, 2, 1]
    2022-08-08 14:36:01,156 SLIP: --> [7]
    2022-08-08 14:36:01,172 SLIP: <-- [96, 7, 1, 131, 0]
    2022-08-08 14:36:01,173 Sending init packet...
    2022-08-08 14:36:01,176 Serial: Selecting Object: type:1
    2022-08-08 14:36:01,176 SLIP: --> [6, 1]
    2022-08-08 14:36:01,192 SLIP: <-- [96, 6, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2022-08-08 14:36:01,192 Serial: Object selected:  max_size:512 offset:0 crc:0
    2022-08-08 14:36:01,193 SLIP: --> [1, 1, 139, 0, 0, 0]
    2022-08-08 14:36:01,206 SLIP: <-- [96, 1, 1]
    2022-08-08 14:36:01,207 Serial: Streaming Data: len:139 offset:0 crc:0x00000000
    2022-08-08 14:36:01,207 SLIP: --> [8, 18, 136, 1, 10, 66, 8, 1, 18, 62, 8, 1, 16, 52, 26, 1, 0, 32, 0, 40, 0, 48, 0, 56, 244, 11, 66, 36, 8, 3, 18, 32, 49, 253, 154, 246, 66, 215, 195, 121, 116, 227, 153, 143, 193, 191, 153, 220, 78, 227, 230, 73, 144, 62, 79, 176, 25, 93, 196, 232, 39, 133, 69, 207, 72]
    2022-08-08 14:36:01,207 SLIP: --> [8, 0, 82, 4, 8, 1, 18, 0, 16, 0, 26, 64, 131, 233, 25, 211, 39, 45, 234, 155, 7, 44, 95, 199, 60, 132, 1, 138, 221, 213, 203, 53, 17, 127, 0, 170, 192, 184, 158, 172, 241, 236, 24, 195, 140, 201, 103, 248, 36, 10, 40, 144, 232, 74, 242, 137, 6, 213, 88, 60, 179, 98, 29, 39, 19]
    2022-08-08 14:36:01,218 SLIP: --> [8, 36, 8, 157, 217, 82, 208, 80, 103, 64, 225, 206]
    2022-08-08 14:36:01,222 SLIP: --> [3]
    2022-08-08 14:36:01,256 SLIP: <-- [96, 3, 1, 139, 0, 0, 0, 243, 47, 112, 192]
    2022-08-08 14:36:01,256 SLIP: --> [4]
    2022-08-08 14:36:01,476 SLIP: <-- [96, 4, 1]
    2022-08-08 14:36:01,476 Sending firmware file...
    2022-08-08 14:36:01,481 Serial: Selecting Object: type:2
    2022-08-08 14:36:01,481 SLIP: --> [6, 2]
    2022-08-08 14:36:01,551 SLIP: <-- [96, 6, 1, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2022-08-08 14:36:01,551 Serial: Object selected:  max_size:4096 offset:0 crc:0
    2022-08-08 14:36:01,551 SLIP: --> [1, 2, 244, 5, 0, 0]
    2022-08-08 14:36:01,656 SLIP: <-- [96, 1, 1]
    2022-08-08 14:36:01,657 Serial: Streaming Data: len:1524 offset:0 crc:0x00000000
    2022-08-08 14:36:01,658 SLIP: --> [8, 16, 32, 0, 32, 21, 18, 0, 0, 29, 18, 0, 0, 31, 18, 0, 0, 33, 18, 0, 0, 35, 18, 0, 0, 37, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 18, 0, 0, 41, 18, 0, 0, 0, 0, 0, 0, 43, 18, 0, 0, 45, 18, 0, 0]
    2022-08-08 14:36:01,658 SLIP: --> [8, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0]
    2022-08-08 14:36:01,663 SLIP: --> [8, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2022-08-08 14:36:01,680 SLIP: --> [8, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 47, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 18, 0, 0, 0, 0, 0, 0, 47, 18, 0, 0]
    2022-08-08 14:36:01,699 SLIP: --> [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2022-08-08 14:36:01,718 SLIP: --> [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2022-08-08 14:36:01,732 SLIP: --> [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2022-08-08 14:36:01,753 SLIP: --> [8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2022-08-08 14:36:01,769 SLIP: --> [8, 223, 248, 12, 208, 0, 240, 24, 248, 0, 72, 0, 71, 253, 20, 0, 0, 16, 32, 0, 32, 6, 72, 128, 71, 6, 72, 0, 71, 254, 231, 254, 231, 254, 231, 254, 231, 254, 231, 254, 231, 254, 231, 254, 231, 254, 231, 254, 231, 93, 18, 0, 0, 1, 18, 0, 0, 6, 76, 7, 77, 6, 224, 224, 104]
    2022-08-08 14:36:01,780 SLIP: --> [8, 64, 240, 1, 3, 148, 232, 7, 0, 152, 71, 16, 52, 172, 66, 246, 211, 255, 247, 218, 255, 208, 21, 0, 0, 240, 21, 0, 0, 48, 181, 79, 240, 128, 82, 0, 35, 210, 233, 76, 16, 8, 41, 6, 209, 204, 6, 196, 248, 12, 49, 196, 248, 16, 49, 98, 76, 35, 96, 8, 41, 85, 209, 97, 75]
    2022-08-08 14:36:01,790 SLIP: --> [8, 27, 104, 97, 76, 35, 96, 95, 75, 27, 29, 27, 104, 36, 29, 35, 96, 92, 75, 8, 51, 27, 104, 36, 29, 35, 96, 90, 75, 12, 51, 27, 104, 36, 29, 35, 96, 87, 75, 16, 51, 27, 104, 36, 29, 35, 96, 85, 75, 20, 51, 27, 104, 36, 29, 35, 96, 82, 75, 24, 51, 27, 104, 82, 76]
    2022-08-08 14:36:01,818 SLIP: --> [8, 32, 52, 35, 96, 79, 75, 28, 51, 27, 104, 36, 29, 35, 96, 77, 75, 32, 51, 27, 104, 36, 29, 35, 96, 74, 75, 36, 51, 27, 104, 36, 29, 35, 96, 72, 75, 40, 51, 27, 104, 36, 29, 35, 96, 69, 75, 44, 51, 27, 104, 36, 29, 35, 96, 67, 75, 48, 51, 27, 104, 66, 76, 64, 52]
    2022-08-08 14:36:01,836 SLIP: --> [8, 35, 96, 64, 75, 52, 51, 27, 104, 36, 29, 35, 96, 61, 75, 56, 51, 27, 104, 36, 29, 35, 96, 59, 75, 60, 51, 27, 104, 36, 29, 35, 96, 56, 75, 64, 51, 27, 104, 36, 29, 35, 96, 8, 41, 4, 209, 3, 0, 2, 209, 55, 76, 53, 75, 35, 96, 8, 41, 4, 209, 3, 0, 2, 209]
    2022-08-08 14:36:01,855 SLIP: --> [8, 52, 76, 251, 35, 35, 96, 8, 41, 8, 209, 3, 0, 6, 209, 50, 75, 146, 248, 88, 82, 28, 104, 101, 243, 3, 4, 28, 96, 8, 41, 4, 209, 3, 0, 2, 209, 45, 76, 139, 1, 35, 96, 8, 41, 6, 209, 44, 72, 1, 104, 201, 7, 2, 208, 111, 240, 1, 1, 1, 96, 41, 72, 1, 104]
    2022-08-08 14:36:01,860 SLIP: --> [8, 65, 244, 112, 1, 1, 96, 191, 243, 79, 143, 191, 243, 111, 143, 210, 233, 76, 16, 79, 240, 16, 34, 8, 41, 6, 209, 3, 40, 4, 217, 210, 248, 8, 2, 23, 73, 32, 49, 8, 96, 210, 248, 0, 2, 0, 40, 3, 219, 210, 248, 4, 2, 0, 40, 31, 218, 1, 32, 0, 240, 243, 248, 18, 33]
    2022-08-08 14:36:01,892 SLIP: --> [8, 194, 248, 0, 18, 24, 72, 3, 104, 0, 43, 252, 208, 194, 248, 4, 18, 1, 104, 0, 41, 252, 208, 0, 32, 0, 240, 228, 248, 191, 243, 79, 143, 16, 72, 124, 56, 1, 104, 17, 74, 1, 244, 224, 97, 17, 67, 1, 96, 191, 243, 79, 143, 0, 191, 253, 231, 14, 73, 13, 72, 8, 96, 48, 189]
    2022-08-08 14:36:01,906 SLIP: --> [8, 56, 5, 0, 64, 4, 4, 0, 16, 32, 197, 0, 64, 72, 129, 3, 0, 140, 86, 0, 64, 24, 245, 0, 64, 228, 14, 0, 64, 64, 150, 2, 64, 0, 4, 0, 64, 136, 237, 0, 224, 0, 228, 1, 64, 4, 0, 250, 5, 0, 144, 208, 3, 8, 0, 0, 32, 2, 224, 8, 200, 18, 31, 8, 193]
    2022-08-08 14:36:01,913 SLIP: --> [8, 0, 42, 250, 209, 112, 71, 112, 71, 0, 32, 1, 224, 1, 193, 18, 31, 0, 42, 251, 209, 112, 71, 0, 0, 45, 233, 252, 65, 6, 70, 192, 7, 79, 240, 0, 5, 14, 208, 16, 79, 0, 36, 1, 34, 56, 93, 0, 149, 0, 35, 17, 70, 1, 149, 0, 240, 89, 248, 100, 28, 4, 44, 244, 211]
    2022-08-08 14:36:01,942 SLIP: --> [8, 0, 240, 50, 248, 176, 7, 13, 213, 7, 78, 0, 36, 54, 29, 0, 34, 48, 93, 3, 35, 0, 149, 17, 70, 1, 149, 0, 240, 71, 248, 100, 28, 4, 44, 244, 211, 189, 232, 252, 129, 198, 21, 0, 0, 9, 73, 8, 181, 8, 92, 0, 144, 104, 70, 0, 240, 83, 248, 208, 248, 4, 37, 0, 155]
    2022-08-08 14:36:01,944 SLIP: --> [8, 1, 33, 153, 64, 33, 234, 2, 3, 192, 248, 8, 53, 17, 64, 192, 248, 12, 21, 8, 189, 198, 21, 0, 0, 2, 73, 8, 92, 1, 33, 0, 240, 77, 184, 0, 0, 198, 21, 0, 0, 16, 181, 0, 36, 32, 70, 255, 247, 243, 255, 100, 28, 4, 44, 249, 211, 16, 189, 0, 0, 1, 32, 255, 247]
    2022-08-08 14:36:01,975 SLIP: --> [8, 171, 255, 9, 76, 79, 244, 250, 120, 79, 244, 122, 71, 0, 38, 48, 70, 255, 247, 204, 255, 69, 70, 97, 28, 56, 70, 136, 71, 109, 30, 250, 209, 118, 28, 4, 46, 243, 219, 241, 231, 192, 21, 0, 0, 45, 233, 255, 65, 28, 70, 221, 233, 10, 120, 21, 70, 14, 70, 104, 70, 0, 240, 16, 248]
    2022-08-08 14:36:01,989 SLIP: --> [8, 70, 234, 69, 1, 65, 234, 132, 1, 65, 234, 7, 34, 66, 234, 8, 65, 0, 154, 0, 235, 130, 0, 192, 248, 0, 23, 189, 232, 255, 129, 0, 0, 1, 104, 32, 41, 2, 210, 79, 240, 160, 64, 112, 71, 1, 240, 31, 1, 1, 96, 1, 72, 112, 71, 0, 0, 0, 3, 0, 80, 56, 181, 1, 36]
    2022-08-08 14:36:01,995 SLIP: --> [8, 0, 144, 104, 70, 49, 177, 255, 247, 235, 255, 0, 153, 140, 64, 192, 248, 8, 69, 56, 189, 255, 247, 228, 255, 0, 153, 140, 64, 192, 248, 12, 69, 56, 189, 0, 0, 3, 73, 8, 96, 3, 72, 1, 104, 0, 41, 252, 208, 112, 71, 0, 0, 4, 229, 1, 64, 0, 228, 1, 64, 0, 0, 0, 0]
    2022-08-08 14:36:02,025 SLIP: --> [8, 3, 56, 253, 216, 112, 71, 13, 14, 15, 16, 11, 12, 24, 25, 0, 0, 240, 21, 0, 0, 8, 0, 0, 32, 4, 0, 0, 0, 56, 20, 0, 0, 244, 21, 0, 0, 12, 0, 0, 32, 4, 32, 0, 0, 72, 20, 0, 0, 0, 144, 208, 3]
    2022-08-08 14:36:02,028 SLIP: --> [3]
    2022-08-08 14:36:02,058 SLIP: <-- [96, 3, 1, 244, 5, 0, 0, 197, 40, 142, 89]
    2022-08-08 14:36:02,058 SLIP: --> [4]
    2022-08-08 14:36:02,094 SLIP: <-- [96, 4, 1]
    2022-08-08 14:36:02,095 Image sent in 0.9216358661651611s
    Device programmed.

    Regards,
    Amanda

  • Hi Amanda:

    I measured it with the method you provided. It's very useful. Thank you.

    But I still can't find an explanation for this part.

    3,483 Serial: Streaming Data: len:142 offset:0 crc:0x00000000
    2022-08-09 16:54:23,486 SLIP: --> [8, 18, 139, 1, 10, 69, 8, 1, 18, 65, 8, 255, 1, 16, 52, 26, 2, 128, 2, 32, 0, 40, 0, 48, 0, 56, 152, 165, 3, 66, 36, 8, 3, 18, 32, 246, 244, 65, 2, 227, 15, 11, 221, 248, 230, 147, 22, 229, 106, 198, 71, 183, 123, 101, 194, 121, 249, 45, 25, 251, 133, 85, 72, 251, 220]
    2022-08-09 16:54:23,486 SLIP: --> [8, 128, 192, 72, 0, 82, 4, 8, 1, 18, 0, 16, 0, 26, 64, 92, 85, 19, 48, 223, 252, 196, 113, 74, 107, 13, 21, 140, 221, 26, 82, 156, 37, 73, 143, 250, 29, 39, 196, 96, 180, 154, 30, 235, 148, 127, 240, 79, 201, 52, 108, 24, 22, 125, 108, 81, 154, 182, 63, 245, 163, 205, 91, 91, 225]
    2022-08-09 16:54:23,486 SLIP: --> [8, 174, 3, 72, 239, 78, 177, 92, 0, 216, 189, 232, 79, 204, 69]
    This part is not explained.

    [8, 18, 139, 1, 10, ...What do these data represent?

Related