Open
Description
Hi,
During DFU signed image transfer I see following:
- 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.
- 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