Hi,
I'm trying to flash an application via UDS which is in boot of TMS570LS1224.
In UDS I'm receiving the data via blocks, where max size of a block can be 4093.
So, if the data to be flashed is > 4093, it will be divided into blocks. Lets say i have data of size 2BEF. then in the 1st block will have 4093 bytes, 2nd block has 4093 bytes and the remaining bytes r in next block.
1. In each block I'm trying to flash 4 bytes at a time, if the data is more than 4 bytes. Else i flash whatever number of bytes r present.
So, in 4093 bytes, 4 bytes at a time gets flashed so 4,8,....4092 bytes gets flashed, now since 1 byte got remained, only 1 byte gets flashed.
lets say i have flashed at address 0x20000, now 1 block of data got successfully flashed till 0x20ffc (4093 bytes).
after this data didnt get flashed from 0x20ffd - 0x21000(4 bytes), it remained as FF. from 0x21001 - 0x2100C(12 bytes), data got successfully flashed. again 4 bytes remained as FF and 12 bytes got successfully flashed and this pattern is repeated.
2. when i use the same logic but flash 1 byte instead of 4 bytes, all data got successfully flashed. but this apporach takes more time than needed.
So please help us with what's happening in the 1st case.