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 | ||