NordicPlayground / nRF51-ble-bcast-mesh

Other
323 stars 121 forks source link

DFU questions #190

Open mykhaylokohut opened 7 years ago

mykhaylokohut commented 7 years ago

Hi, During DFU signed image transfer I see following:

  1. Segment count performed in two places:
    • in function segment_count_from_start_packet()
    • in function dfu_transfer_start() For some images these values are different.
  2. In function dfu_transfer_data() there is verification like below:
    if ((p_addr & (SEGMENT_LENGTH - 1)) != 0 ||
            p_addr          < (uint32_t) m_transfer.p_start_addr ||
    p_addr + length > (uint32_t) m_transfer.p_start_addr + m_transfer.size) 

    For image length which is not aligned to segment size last packet will be dropped. Thanks, Mykhaylo