Yes, very strange.
In playing around with the hex I found another couple of things. I tended to get err files when the record length was less than 16 and it looked like maybe a buffer in the DFU is not being initialised properly and the checksum fails. If I preloaded with a hex with 16 00's or the 16 test bytes then it would pass even if I reduced the number of bytes in the record, but otherwise it would sometimes fail.
The other thing that I guess could be predicted is that it looks like overall blocks of records must be aligned on 2Kbyte boundaries. If not then the hex returns an err file. E.g. after a 04 address record the addresses should be 2K aligned. I think the flash is in 2k pages so the DFU will only deal with complete page updates.
Statistics : Posted by defacato • on Sun Feb 23, 2014 12:09 am • Replies 8 • Views 344
In playing around with the hex I found another couple of things. I tended to get err files when the record length was less than 16 and it looked like maybe a buffer in the DFU is not being initialised properly and the checksum fails. If I preloaded with a hex with 16 00's or the 16 test bytes then it would pass even if I reduced the number of bytes in the record, but otherwise it would sometimes fail.
The other thing that I guess could be predicted is that it looks like overall blocks of records must be aligned on 2Kbyte boundaries. If not then the hex returns an err file. E.g. after a 04 address record the addresses should be 2K aligned. I think the flash is in 2k pages so the DFU will only deal with complete page updates.
Statistics : Posted by defacato • on Sun Feb 23, 2014 12:09 am • Replies 8 • Views 344