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

UART DFU Sequence number, ACK, image len

What I have to do if I met this ? I round length to fit (len+4-(len % 4)). Is it right ?

if (!(IS_WORD_SIZED(m_start_packet.sd_image_size) &&
          IS_WORD_SIZED(m_start_packet.bl_image_size) &&
          IS_WORD_SIZED(m_start_packet.app_image_size)))
    {
        // Image_sizes are not a multiple of 4 (word size).
        return NRF_ERROR_NOT_SUPPORTED;
    }

Has every data packet own sequence number and ack? I think that yes, but I have more than 8 packets.Has to be sequence number unique for each packet or sequence number is repeating ? What is starting sequence number for first data packet ? Can be SEQ = 0 if packet is reliable ?

Is there some difference between application loading by hci or ble ?

Parents
  • I use SDK11 and SD130. I uploading only APP, so length of SoftDevice and bootloader is 0. My app has length 22326 bytes, so right solution is: Divide app to 43 packets with 512 bytes + (1 * 310 bytes + 2bytes) or I have to find divisible numbers as 61 packets with 366bytes ? The second solution can be problem, because I have another app with length 53225bytes and it is not divisible...I have problem with starting application after I finished upload. Image verification is right and bootloader_app_start is running, but app doesn't run. Can be problem with wrong length ?...I take compile HEX-files to upload. Is it right ?

Reply
  • I use SDK11 and SD130. I uploading only APP, so length of SoftDevice and bootloader is 0. My app has length 22326 bytes, so right solution is: Divide app to 43 packets with 512 bytes + (1 * 310 bytes + 2bytes) or I have to find divisible numbers as 61 packets with 366bytes ? The second solution can be problem, because I have another app with length 53225bytes and it is not divisible...I have problem with starting application after I finished upload. Image verification is right and bootloader_app_start is running, but app doesn't run. Can be problem with wrong length ?...I take compile HEX-files to upload. Is it right ?

Children
No Data
Related