![]() |
![]() |
JTAG Control Sequences for Erasing / Programming / Fuse Burning.
Definition in file JTAGfunc430.c.
Go to the source code of this file.
Functions | |
word | DR_Shift16 (word data) |
Function for shifting a given 16-bit word into the JTAG data register through TDI. More... | |
word | IR_Shift (byte instruction) |
Function for shifting a new instruction into the JTAG instruction register through TDI (MSB first, but with interchanged MSB - LSB, to simply use the same shifting function, Shift(), as used in DR_Shift16). More... | |
void | ResetTAP (void) |
Reset target JTAG interface and perform fuse-HW check. More... | |
word | ExecutePOR (void) |
Function to execute a Power-On Reset (POR) using JTAG CNTRL SIG register. More... | |
word | SetInstrFetch (void) |
Function to set target CPU JTAG FSM into the instruction fetch state. More... | |
void | SetPC (word Addr) |
Load a given address into the target CPU's program counter (PC). More... | |
void | HaltCPU (void) |
Function to set the CPU into a controlled stop state. More... | |
void | ReleaseCPU (void) |
Function to release the target CPU from the controlled stop state. More... | |
word | GetDevice (void) |
Function to take target device under JTAG control. Disables the target watchdog. Sets the global DEVICE variable as read from the target device. More... | |
void | ReleaseDevice (word Addr) |
Function to release the target device from JTAG control. More... | |
void | WriteMem (word Format, word Addr, word Data) |
This function writes one byte/word at a given address ( <0xA00) More... | |
void | WriteMemQuick (word StartAddr, word Length, word *DataArray) |
This function writes an array of words into the target memory. More... | |
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. More... | |
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 "WriteFLASH()" function. It conforms with the "CodeArray" structure convention of file "Target_Code_(IDE).s43" or "Target_Code.h". More... | |
word | ReadMem (word Format, word Addr) |
This function reads one byte/word from a given address in memory. More... | |
void | ReadMemQuick (word StartAddr, word Length, word *DataArray) |
This function reads an array of words from the memory. More... | |
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 specified by the given mode and address. Large memory devices get additional mass erase operations to meet the spec. (Could be extended with erase check via PSA) More... | |
word | EraseCheck (word StartAddr, word Length) |
This function performs an Erase Check over the given memory range. More... | |
word | VerifyMem (word StartAddr, word Length, word *DataArray) |
This function performs a Verification over the given memory range. More... | |
word | BlowFuse (void) |
This function blows the security fuse. More... | |
word | IsFuseBlown (void) |
This function checks if the JTAG access security fuse is blown. More... | |
void | UnlockInfoA (void) |
This Function unlocks segment A of the InfoMemory (Flash) More... | |
word BlowFuse | ( | void | ) |
This function blows the security fuse.
Definition at line 1240 of file JTAGfunc430.c.
word DR_Shift16 | ( | word | data | ) |
Function for shifting a given 16-bit word into the JTAG data register through TDI.
[in] | word | data (16-bit data, MSB first) |
Definition at line 94 of file JTAGfunc430.c.
word EraseCheck | ( | word | StartAddr, |
word | Length | ||
) |
This function performs an Erase Check over the given memory range.
[in] | word | StartAddr (Start address of memory to be checked) |
[in] | word | Length (Number of words to be checked) |
Definition at line 1220 of file JTAGfunc430.c.
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 specified by the given mode and address. Large memory devices get additional mass erase operations to meet the spec. (Could be extended with erase check via PSA)
[in] | word | Mode (could be ERASE_MASS or ERASE_MAIN or ERASE_SGMT) |
[in] | word | Addr (any address within the selected segment) |
Definition at line 1044 of file JTAGfunc430.c.
word ExecutePOR | ( | void | ) |
Function to execute a Power-On Reset (POR) using JTAG CNTRL SIG register.
Definition at line 239 of file JTAGfunc430.c.
word GetDevice | ( | void | ) |
Function to take target device under JTAG control. Disables the target watchdog. Sets the global DEVICE variable as read from the target device.
Definition at line 659 of file JTAGfunc430.c.
void HaltCPU | ( | void | ) |
Function to set the CPU into a controlled stop state.
Definition at line 311 of file JTAGfunc430.c.
word IR_Shift | ( | byte | instruction | ) |
Function for shifting a new instruction into the JTAG instruction register through TDI (MSB first, but with interchanged MSB - LSB, to simply use the same shifting function, Shift(), as used in DR_Shift16).
[in] | byte | Instruction (8bit JTAG instruction, MSB first) |
Definition at line 137 of file JTAGfunc430.c.
word IsFuseBlown | ( | void | ) |
This function checks if the JTAG access security fuse is blown.
Definition at line 1290 of file JTAGfunc430.c.
word ReadMem | ( | word | Format, |
word | Addr | ||
) |
This function reads one byte/word from a given address in memory.
[in] | word | Format (F_BYTE or F_WORD) |
[in] | word | Addr (address of memory) |
Definition at line 980 of file JTAGfunc430.c.
void ReadMemQuick | ( | word | StartAddr, |
word | Length, | ||
word * | DataArray | ||
) |
This function reads an array of words from the memory.
[in] | word | StartAddr (Start address of memory to be read) |
[in] | word | Length (Number of words to be read) |
[out] | word | *DataArray (Pointer to array for the data) |
Definition at line 1013 of file JTAGfunc430.c.
void ReleaseCPU | ( | void | ) |
Function to release the target CPU from the controlled stop state.
Definition at line 325 of file JTAGfunc430.c.
void ReleaseDevice | ( | word | Addr | ) |
Function to release the target device from JTAG control.
[in] | word | Addr (0xFFFE: Perform Reset, means Load Reset Vector into PC, otherwise: Load Addr into PC) |
Definition at line 721 of file JTAGfunc430.c.
void ResetTAP | ( | void | ) |
Reset target JTAG interface and perform fuse-HW check.
Definition at line 180 of file JTAGfunc430.c.
word SetInstrFetch | ( | void | ) |
Function to set target CPU JTAG FSM into the instruction fetch state.
Definition at line 267 of file JTAGfunc430.c.
void SetPC | ( | word | Addr | ) |
Load a given address into the target CPU's program counter (PC).
[in] | word | Addr (destination address) |
Definition at line 289 of file JTAGfunc430.c.
void UnlockInfoA | ( | void | ) |
This Function unlocks segment A of the InfoMemory (Flash)
Definition at line 1307 of file JTAGfunc430.c.
word VerifyMem | ( | word | StartAddr, |
word | Length, | ||
word * | DataArray | ||
) |
This function performs a Verification over the given memory range.
[in] | word | StartAddr (Start address of memory to be verified) |
[in] | word | Length (Number of words to be verified) |
[in] | word | *DataArray (Pointer to array with the data) |
Definition at line 1232 of file JTAGfunc430.c.
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.
[in] | word | StartAddr (Start address of FLASH memory) |
[in] | word | Length (Number of words to be programmed) |
[in] | word | *DataArray (Pointer to array with the data) |
Definition at line 797 of file JTAGfunc430.c.
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 "WriteFLASH()" function. It conforms with the "CodeArray" structure convention of file "Target_Code_(IDE).s43" or "Target_Code.h".
[in] | const | unsigned int *DataArray (Pointer to array with the data) |
[in] | const | unsigned long *address (Pointer to array with the startaddresses) |
[in] | const | unsigned long *length_of_sections (Pointer to array with the number of words counting from startaddress) |
[in] | const | unsigned long sections (Number of sections in code file) |
Definition at line 957 of file JTAGfunc430.c.
void WriteMem | ( | word | Format, |
word | Addr, | ||
word | Data | ||
) |
This function writes one byte/word at a given address ( <0xA00)
[in] | word | Format (F_BYTE or F_WORD) |
[in] | word | Addr (Address of data to be written) |
[in] | word | Data (shifted data) |
Definition at line 741 of file JTAGfunc430.c.
void WriteMemQuick | ( | word | StartAddr, |
word | Length, | ||
word * | DataArray | ||
) |
This function writes an array of words into the target memory.
[in] | word | StartAddr (Start address of target memory) |
[in] | word | Length (Number of words to be programmed) |
[in] | word | *DataArray (Pointer to array with the data) |
Definition at line 769 of file JTAGfunc430.c.