flashmagic.js
Version:
NXP LPC Microprocessor Programmer
22 lines (21 loc) • 691 B
JavaScript
;
function validateVectorTable(buffer, reserved) {
if (reserved === void 0) { reserved = 0x14; }
buffer[reserved + 0] = 0;
buffer[reserved + 1] = 0;
buffer[reserved + 2] = 0;
buffer[reserved + 3] = 0;
var crc = 0;
for (var i = 0; i < (4 * 8);) {
crc += buffer[i++];
crc += buffer[i++] << 8;
crc += buffer[i++] << 16;
crc += buffer[i++] << 24;
}
crc = (0 - crc) >>> 0;
buffer[reserved + 0] = (crc >>> 0) & 0xFF;
buffer[reserved + 1] = (crc >>> 8) & 0xFF;
buffer[reserved + 2] = (crc >>> 16) & 0xFF;
buffer[reserved + 3] = (crc >>> 24) & 0xFF;
}
exports.validateVectorTable = validateVectorTable;