Print out warning when LPC calc_checksum will cause verification to fail.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 30 Apr 2009 09:39:24 +0000 (09:39 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 30 Apr 2009 09:39:24 +0000 (09:39 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1578 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/flash/lpc2000.c

index 1148df3bc076481d7305165d82f3e45d1dc84db1..db0602f1728653393c772eb7b6dca61df2fa85d8 100644 (file)
@@ -531,6 +531,15 @@ static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32
                }
                checksum = 0 - checksum;
                LOG_DEBUG("checksum: 0x%8.8x", checksum);
+
+               u32 original_value=buf_get_u32(buffer + (5 * 4), 0, 32);
+               if (original_value!=checksum)
+               {
+                       LOG_WARNING("Verification will fail since checksum in image(0x%8.8x) written to flash was different from calculated vector checksum(0x%8.8x).",
+                                       original_value, checksum);
+                       LOG_WARNING("To remove this warning modify build tools on developer PC to inject correct LPC vector checksum.");
+               }
+
                buf_set_u32(buffer + 0x14, 0, 32, checksum);
        }