Part Number: TMS570LS3137
I am trying to implement FEE functionality and I run into an issue: when value is 0x00 I cannot write 0xFF and when value is 0xFF I cannot write 0x00.
In the file ti_fee_writeSync.c in the function Std_ReturnType TI_Fee_WriteSync(uint16 BlockNumber,uint8* DataBufferPtr) I notice that the line below output the same value if my payload in DataBufferPtr is 0x00 and OxFF:
TI_Fee_u32FletcherChecksum = TI_FeeInternal_Fletcher16(DataBufferPtr, TI_Fee_GlobalVariables[u8EEPIndex].Fee_u16BlockSize-TI_FEE_BLOCK_OVERHEAD);
Therefore the function TI_Fee_WriteSync doesn't write the new data in the bloack as the checksum appears to be the same! if(TI_Fee_u32FletcherChecksum == u32CheckSum) is not true few lines below.
I do not see that as a wished behavior,
Am I doing something wrong or is it a bug ?
We fixed it by documenting the issue and explicitly forbid 255 value when handling TI_Fee_WriteSync function but it is not very convenient.