67 typedef unsigned int word;
68 typedef unsigned char byte;
84 #define IR_CNTRL_SIG_16BIT 0xC8 // original value: 0x13
85 #define IR_CNTRL_SIG_CAPTURE 0x28 // original value: 0x14
87 #define IR_CNTRL_SIG_RELEASE 0xA8 // original value: 0x15
92 #define IR_PREPARE_BLOW 0x44 // original value: 0x22
93 #define IR_EX_BLOW 0x24 // original value: 0x24
99 #define IR_DATA_16BIT 0x82 // original value: 0x41
100 #define IR_DATA_QUICK 0xC2 // original value: 0x43
105 #define IR_DATA_PSA 0x22 // original value: 0x44
106 #define IR_SHIFT_OUT_PSA 0x62 // original value: 0x46
112 #define IR_ADDR_16BIT 0xC1 // original value: 0x83
113 #define IR_ADDR_CAPTURE 0x21 // original value: 0x84
115 #define IR_DATA_TO_ADDR 0xA1 // original value: 0x85
118 #define IR_BYPASS 0xFF // original value: 0xFF
128 #define V_RESET 0xFFFE
133 #define VPP_ON_TEST 1
146 void SetPC(word Addr);
149 word VerifyPSA(word StartAddr, word Length, word *DataArray);
154 void WriteMem(word Format, word Addr, word Data);
155 void WriteMemQuick(word StartAddr, word Length, word *DataArray);
156 void WriteFLASH(word StartAddr, word Length, word *DataArray);
157 word
WriteFLASHallSections(
const unsigned int *data,
const unsigned long *address,
const unsigned long *length_of_sections,
const unsigned long sections);
158 word
ReadMem(word Format, word Addr);
159 void ReadMemQuick(word StartAddr, word Length, word *DataArray);
160 void EraseFLASH(word EraseMode, word EraseAddr);
162 word
VerifyMem(word StartAddr, word Length, word *DataArray);
171 static unsigned short SegmentInfoAKey = 0xA500;
word VerifyMem(word StartAddr, word Length, word *DataArray)
This function performs a Verification over the given memory range.
void UnlockInfoA(void)
This Function unlocks segment A of the InfoMemory (Flash)
word WriteFLASHallSections(const unsigned int *data, const unsigned long *address, const unsigned long *length_of_sections, const unsigned long sections)
This function programs/verifies a set of data arrays of words into a FLASH memory by using the "Write...
word ExecutePOR(void)
Function to execute a Power-On Reset (POR) using JTAG CNTRL SIG register.
void WriteFLASH(word StartAddr, word Length, word *DataArray)
This function programs/verifies an array of words into the FLASH memory by using the FLASH controller...
word IR_Shift(byte Instruction)
Function for shifting a new instruction into the JTAG instruction register through TDI (MSB first...
void ReleaseDevice(word Addr)
Function to release the target device from JTAG control.
word EraseCheck(word StartAddr, word Length)
This function performs an Erase Check over the given memory range.
word ReadMem(word Format, word Addr)
This function reads one byte/word from a given address in memory.
word GetDevice(void)
Function to take target device under JTAG control. Disables the target watchdog. Sets the global DEVI...
void ReadMemQuick(word StartAddr, word Length, word *DataArray)
This function reads an array of words from the memory.
void HaltCPU(void)
Function to set the CPU into a controlled stop state.
void WriteMem(word Format, word Addr, word Data)
This function writes one byte/word at a given address ( <0xA00)
word BlowFuse(void)
This function blows the security fuse.
void ReleaseCPU(void)
Function to release the target CPU from the controlled stop state.
void ResetTAP(void)
Reset target JTAG interface and perform fuse-HW check.
word IsFuseBlown(void)
This function checks if the JTAG access security fuse is blown.
void WriteMemQuick(word StartAddr, word Length, word *DataArray)
This function writes an array of words into the target memory.
void SetPC(word Addr)
Load a given address into the target CPU's program counter (PC).
word SetInstrFetch(void)
Function to set target CPU JTAG FSM into the instruction fetch state.
void EraseFLASH(word EraseMode, word EraseAddr)
This function performs a mass erase (with and w/o info memory) or a segment erase of a FLASH module s...
word DR_Shift16(word Data)
Function for shifting a given 16-bit word into the JTAG data register through TDI.
Configurations for the MSP430 Replicator.