SLAU320AJ July 2010 – May 2021
Reference function: VerifyMem
Verification is performed using a pseudo signature analysis (PSA) algorithm, which is built into the MSP430 JTAG logic and executes in approximately 23 ms/4KB.
ExecutePOR | ||
PSA_CRC = StartAddr-2 | ||
Device has EnhancedVerify (see Table 2-14) | Device does not have EnhancedVerify (see Table 2-14) | |
SetPC(StartAddr-4) | SetPC(StartAddr-2) | |
HaltCPU | SetTCLK | |
ClrTCLK | ClrTCLK | |
IR_SHIFT("IR_DATA_16BIT") | ||
DR_SHIFT16(StartAddr-2) | ||
IR_SHIFT("IR_DATA_PSA") | ||
Calculate the PSA value: | No | |
PSA_CRC & 0x8000 == 0x8000 | PSA_CRC & 0x8000 != 0x8000 | |
XOR PSA_CRC with 0x0805 | PSA_CRC <<= 0x1 | |
PSA_CRC <<= 0x1 | ||
PSA_CRC |= 0x0001 | ||
Actual Verify or EraseCheck? | ||
Verify | EraseCheck | |
XOR PSA_CRC with next word from reference data | XOR PSA_CRC with 0xFFFF | |
Clock through the PSA: | ||
SetTCLK | ||
ClrTCK | ||
SetTMS | ||
SetTCK : Select DR-Scan | ||
ClrTCK | ||
ClrTMS | ||
SetTCK : Capture-DR | ||
ClrTCK | ||
SetTCK : Shift-DR | ||
ClrTCK | ||
SetTMS | ||
SetTCK : Exit-DR | ||
ClrTCK | ||
SetTCK | ||
ClrTMS | ||
ClrTCK | ||
SetTCK | ||
ClrTCLK | ||
Reached end of memory area to verify? | ||
Yes | ||
IR_SHIFT("IR_SHIFT_OUT_PSA") | ||
DR_SHIFT16(0x0000) : Read out the PSA value | ||
SetTCLK | ||
Call ReleaseCPU() here if device has Enhanced Verify feature (see Table 2-14) | ||
Compare shifted out PSA value with PSA_CRC |
ExecutePOR | ||
PSA_CRC = StartAddr-2 | ||
SetPC(StartAddr) | ||
SetTCLK | ||
IR_SHIFT("IR_CNTRL_SIG_16BIT") | ||
DR_SHIFT16(0x0501) | ||
IR_SHIFT("IR_DATA_16BIT") | ||
DR_SHIFT16(StartAddr-2) | ||
IR_SHIFT("IR_DATA_PSA") | ||
Calculate the PSA value: | No | |
PSA_CRC & 0x8000 == 0x8000 | PSA_CRC & 0x8000 != 0x8000 | |
XOR PSA_CRC with 0x0805 | PSA_CRC <<= 0x1 | |
PSA_CRC <<= 0x1 | ||
PSA_CRC |= 0x0001 | ||
Actual Verify or EraseCheck? | ||
Verify | EraseCheck | |
XOR PSA_CRC with next word from reference data | XOR PSA_CRC with 0xFFFF | |
Clock through the PSA: | ||
ClrTCLK | ||
ClrTCK | ||
SetTMS | ||
SetTCK : Select DR-Scan | ||
ClrTCK | ||
ClrTMS | ||
SetTCK : Capture-DR | ||
ClrTCK | ||
SetTCK : Shift-DR | ||
ClrTCK | ||
SetTMS | ||
SetTCK : Exit-DR | ||
ClrTCK | ||
SetTCK | ||
ClrTMS | ||
ClrTCK | ||
SetTCK | ||
SetTCLK | ||
Reached end of memory area to verify? | ||
Yes | ||
IR_SHIFT("IR_SHIFT_OUT_PSA") | ||
DR_SHIFT16(0x0000) : Read out the PSA value | ||
Call ExecutePOR_430Xv2() here if device has Enhanced Verify feature (see Table 2-14) | ||
Compare shifted out PSA value with PSA_CRC |