TI中文支持网
TI专业的中文技术问题咨询交流网站

MSP430F2418: software BSL 無法正常回應

Part Number:MSP430F2418

你好,

我實際運用的需求是要在電路板上進入software BSL模式,我目前使用下面程式碼做開發驗證

int main(void)

{
uint16_t ite = 0;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
initClockTo16MHz();
__bis_SR_register(GIE);
while (1)
{
__disable_interrupt(); // disable interrupts
for(ite = 0 ; ite < 1000 ; ite++);
((void ( * )())0x0C00)(); // jump to BSL
}

理論上開機後等一小段時間後就進入software BSL,這時使用外部uart送0x80的sync字元,都沒有回應,這時候我用hardware BSL invocation,再送一次0x80,就有正確的0x90回復了,也用過1 Mhz的clock設定,也是一樣的狀況,不知道為什麼進入不了software BSL模式。

Yale Li:

您好,热启动的话BSL地址应该是0x0C02

,

LiehChun Chang:

我測試過,用0x0C02進入結果software BSL invocation結果一樣。

,

LiehChun Chang:

我多做了一個測試,在進入software BSL前,把P2.0設定為high 輸出,結果用software BSL invocation,該腳位還是high,用hardware invocation就會變成low,這樣看起來並沒有進入software BSL。

也換過一顆MSP430F2418,還是沒用。

,

LiehChun Chang:

我在文件slau319ae的table 5-6看到下面文字

是說進入software BSL還要輸入上面asm嗎?

,

Yale Li:

看起来是这样,您可以先试一下。

并且注意下面的注释(1):

在进入 BSL 之前,用户应用必须清除 LOCK 和 LOCKA 位:

mov.w #FWKEY+LOCKA,&FCTL3

之后有什么结果还请您和我反馈一下。

,

LiehChun Chang:

我後來還加了下面的asm code

然後就可以了,我發現直接原因是SR沒有設成0x00,不清楚為何這樣,不過後來又有別的現象,感覺這顆IC和手冊上描述的不太一樣,之後整理好再用別的討論串討論心的問題吧。

,

Yale Li:

好的,非常感谢您的反馈

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F2418: software BSL 無法正常回應
分享到: 更多 (0)