B.4 BSL Implementation Functions
BSL Implementation Functions
The following functions assist with the implementation of the BSL protocol.
• bslEntrySeq(void) – generates BSL entry sequence. If the input signal BSL_SEQ is tied to VCC, then
the signals required to place a MSP430 device having dedicated JTAG pins into BSL mode will be
generated. If BSL_SEQ is tied low, then the signals required to place a MSP430 device having shared
JTAG pins into BSL mode will be generated.
• bslChecksum(BslMsg* pMsg) – generates check sum for BSL message. Parameter:
– pMsg – pointer to BslMsg data structure
• bslTxMsg(BslMsg* pMsg) – transmits message to target BSL. Parameter:
– pMsg – pointer to BslMsg data structure
• bslTxSync(void) – transmits SYNC character to target BSL.
• bslSendChar(unsigned char val) – transmits a single character to target BSL. Parameter:
– val – any 8-bit value
• bslWaitForReply(unsigned char type) – waits for reply from target BSL. The BSL can respond in two
ways. It either sends an ACK character or it responds with a message having a specified length. If
target BSL does not reply, function returns a timeout error. Parameter:
– type – BSL reply type, BSL_ACK_REPLY or BSL_MSG_REPLY
• bslStateReset(void) – resets host to restart communications with target BSL.
• bslDownloadCode(unsigned int* pCodeArray, unsigned char patchFlag) – downloads code to
target BSL. Code can be for BSL patch or target program. Parameters:
– pCodeArray – pointer to host array containing code to download to target
– patchFlag – !0 value indicates BSL patch code is installed on target
• bslDownloadProgram(void) – downloads program to target. Program is stored in flash memory on
host in global array called CodeArray[].
• bslInstallPatch(void) – installs BSL patch on target. Patch is stored in flash memory on host in global
array called PatchArray[].
Features of the MSP430 Bootstrap Loader28 SLAA089D – December 1999 – Revised August 2006
Submit Documentation Feedback