Do you have a question? Post it now! No Registration Necessary
September 17, 2003, 4:19 pm
rate this thread
I am working with a terminal, 512K RAM (small huh?). Little bit
old-fashioned H8510 micro or so.
I want to calculate a simple 1-byte xor-checksum (crc) over the bytes
written in Flash (where among others the program-code resides). This is the
map from 0 to 80000:
# -Z(CODE)CODELIBS707%0000-07FFFF -R -B -z
With a function called read_mem (from the IAR compiler) I can read bytes
from any place in memory. Also cool! :p
With a small software all works great, the checksum is steady.
The problem is; each time the crc is calculated for a big sized program in
flash, it ends up being a different value.
While I thought the program code in flash was always the same. At both the
first crc-calculating and in my calc-routine the bytes x00 and xFF are
ignored because some blocks in the flash seem to be xFF where the original
byte-code contains x00's.
Can somebody explain why my crc-calculating differs eacht time I execute the