Can you please confirm if your question is about the row chceksum. If yes then, Checksum: two hex digits (1 byte), which is the least significant byte of the two's complement of the sum of the values of all fields except fields 1 and 6 (Start code ‘:’ byte and two hex digits of the Checksum)
Please have a look at the "PSoC® 3 Device Programming Specifications" (Link:http://www.cypress.com/documentation/programming-specifications/psoc-3-device-programming-specifications-cy8c32xxx)
Thanks for linking that. I found a description of the checksum on page 71 of the document. I've embedded it below.
Both in the example and in the checksum definition it seems that the checksum is only of the header data contained in the Intel Hex File Format. It seems the checksum in not a summation of the entire program data stored in Flash, but of just this Intel Hex header?
If I were trying to read the checksum through Psoc Programmer it seems that it just checks this Intel Hex File Format and looks for the calculated checksum of the Intel Hex File.
If I wanted to double check a PSOC 3 checksum by creating an algorithm to compute the checksum from bytecode of a programmed PSOC 3, if I'm understanding this correctly, I would need to:
1.) Read the byte code generate a Intel Hex File Format record.
2.) Compute the checksum of the that Intel Hex File Format record.
3.) I'm assuming this would be the same exact checksum as the one that is read through the PSOC Programmer tool?
I'm asking this because I have a manufacturer that is mass programmer the ICs prior to being populated and placed on boards. They are not able to use the PSOC programmer with the mass programming equipment. Their equipment only has the options for checksumming that I mentioned in the first post on this thread.
You will get checksum of entire flash in hex file at hex file address location 0x9030 000. I have attached screenshot of my hex file highlighting checksum data. You can see description about in document "PSoC 3 Device Programming Specifications"page no.72.
All you need to do is use this value and compare against the value read from programming tool. Note that programming tool returns four bytes in that lower two bytes you need to compare.
HexFileCheckSum.png 105.6 K