我们修改了现有 TI 为 MSP430F5659提供的自定义 BSL 代码的 BSL 调用序列。 BSL 部分中有一个无限 while 循环、用于检查 BSL 的调用序列。
但是、即使未执行 BSL 进入序列、BSL 也会跳转到应用部分。 在 cstartup.s43和 api.c 中禁用看门狗。 在其中一个论坛(http://processors.wiki.ti.com/index.php/MSP430_FAQ)中,我们发现以下语句:“根据所有 MSP430上的默认看门狗计时器设置为启动后激活” 这条语句的含义是什么? 由于在 cstartup 和 TI 提供的自定义 BSL 代码的所有其他文件中已禁用看门狗。
在跳转到 Request_BSL 之前,我们已放置此循环以检查 USB 是否已连接 。
Label1: bit.W #USBBGVBV、&USBPWRCTL
Jnz P
JZ Label1