AnsweredAssumed Answered

Checksum over the whole range of a HCS12XDP512 Flash

Question asked by Peter von Rohr on Oct 16, 2006


I want calculate the Checksum over the whole range of a HCS12XDP512 Flash (including vector table). The Checksum should be placed at address 0xFFBEFE.

Is it possible to place the checksum within checksum area (checksum area: 0xE08000 to 0xFFBFFF).

Can I calculate the Checksum over more than one segment?



SEGMENTS      ROM_4000      = READ_ONLY     0x4000 TO   0x7FFF FILL 0x00;     ROM_C000      = READ_ONLY     0xC000 TO   0xFEFF FILL 0x00;     PAGE_E0       = READ_ONLY   0xE08000 TO 0xE0BFFF FILL 0x00;     PAGE_E1       = READ_ONLY   0xE18000 TO 0xE1BFFF FILL 0x00;     PAGE_E2       = READ_ONLY   0xE28000 TO 0xE2BFFF FILL 0x00;     PAGE_E3       = READ_ONLY   0xE38000 TO 0xE3BFFF FILL 0x00;     PAGE_E4       = READ_ONLY   0xE48000 TO 0xE4BFFF FILL 0x00;     PAGE_E5       = READ_ONLY   0xE58000 TO 0xE5BFFF FILL 0x00;     PAGE_E6       = READ_ONLY   0xE68000 TO 0xE6BFFF FILL 0x00;     PAGE_E7       = READ_ONLY   0xE78000 TO 0xE7BFFF FILL 0x00;     PAGE_E8       = READ_ONLY   0xE88000 TO 0xE8BFFF FILL 0x00;     PAGE_E9       = READ_ONLY   0xE98000 TO 0xE9BFFF FILL 0x00;     PAGE_EA       = READ_ONLY   0xEA8000 TO 0xEABFFF FILL 0x00;     PAGE_EB       = READ_ONLY   0xEB8000 TO 0xEBBFFF FILL 0x00;     PAGE_EC       = READ_ONLY   0xEC8000 TO 0xECBFFF FILL 0x00;     PAGE_ED       = READ_ONLY   0xED8000 TO 0xEDBFFF FILL 0x00;     PAGE_EE       = READ_ONLY   0xEE8000 TO 0xEEBFFF FILL 0x00;     PAGE_EF       = READ_ONLY   0xEF8000 TO 0xEFBFFF FILL 0x00;     PAGE_F0       = READ_ONLY   0xF08000 TO 0xF0BFFF FILL 0x00;     PAGE_F1       = READ_ONLY   0xF18000 TO 0xF1BFFF FILL 0x00;     PAGE_F2       = READ_ONLY   0xF28000 TO 0xF2BFFF FILL 0x00;     PAGE_F3       = READ_ONLY   0xF38000 TO 0xF3BFFF FILL 0x00;     PAGE_F4       = READ_ONLY   0xF48000 TO 0xF4BFFF FILL 0x00;     PAGE_F5       = READ_ONLY   0xF58000 TO 0xF5BFFF FILL 0x00;     PAGE_F6       = READ_ONLY   0xF68000 TO 0xF6BFFF FILL 0x00;     PAGE_F7       = READ_ONLY   0xF78000 TO 0xF7BFFF FILL 0x00;     PAGE_F8       = READ_ONLY   0xF88000 TO 0xF8BFFF FILL 0x00;     PAGE_F9       = READ_ONLY   0xF98000 TO 0xF9BFFF FILL 0x00;     PAGE_FA       = READ_ONLY   0xFA8000 TO 0xFABFFF FILL 0x00;     PAGE_FB       = READ_ONLY   0xFB8000 TO 0xFBBFFF FILL 0x00;     PAGE_FC       = READ_ONLY   0xFC8000 TO 0xFCBFFF FILL 0x00;     PAGE_FE       = READ_ONLY   0xFE8000 TO 0xFEBFFF FILL 0x00;PLACEMENT_PRESTART,                   STARTUP, .....          INTO  ROM_C000, ROM_4000;     DEFAULT_ROM   INTO           PAGE_FE,          PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8,                           PAGE_F7, PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0,                          PAGE_EF, PAGE_EE, PAGE_ED, PAGE_EC, PAGE_EB, PAGE_EA, PAGE_E9, PAGE_E8,                          PAGE_E7, PAGE_E6, PAGE_E5, PAGE_E4, PAGE_E3, PAGE_E2, PAGE_E1, PAGE_E0; ENDCHECKSUM      CHECKSUM_ENTRY            METHOD_CRC_CCITT            OF       READ_ONLY       0xE08000 TO 0xFFBFFF            INTO       READ_ONLY       0xFFBEFE SIZE 2            UNDEFINED 0x00      ENDEND

Message Edited by Alban on 2006-10-16 01:32 PM