你好,
我正在使用 MSP‑EXP432P401R LaunchPad 開發BSL的應用,目前使用BSL,測試進入BSL的程式碼如下
if (((input )& (BIT4)) == 0)
{
chkbsl = false;
MAP_Interrupt_disableMaster();
NVIC->ICER[0] = 0xFFFF;
NVIC->ICPR[0] = 0xFFFF;
NVIC->ICER[1] = 0xFFFF;
NVIC->ICPR[1] = 0xFFFF;
P1->OUT |= BIT0;
BSL_INVOKE(BSL_SPI_INTERFACE); // Call the BSL with given BSL parameters
} //BSL_UART_INTERFACE//BSL_SPI_INTERFACE
這部分的程式碼我測試用UART是可以的,在UART測試BSL Version這個command的回應是正確的,但是我測試BSL就有問題
BSL Version Command 是 0x80 0x01 0x00 0x19 0xE8 0x62
SPI通訊
P1.4 STE Active Low
P1.5 CLK CKPH = 0 CKPL = 1
P1.6 MOSI MSB
P1.7 MISO Driven by Dummy 0xFF
Channel 1 : STE
Channel 2 : CLK
Channle 3 : MOSI
Channel 4 : MISO
BSL Version Command
當我傳遞Dummy 0xFF的時候 MISO都沒有回應
放大MISO的回應都是空的
我也實在找不出錯誤在哪裡,麻煩幫忙確認一下。
gaoyang9992006:
www.ti.com.cn/…/slau622i.pdf
参考这个BSL是手册
gaoyang9992006:
MSP432BSL_1_01_00_00.zip
看了一下,官方提供了UART、I2C、SPI的例子,你看看这个资料你看到过没。
Legend Chang:
回复 gaoyang9992006:
有的,我就是照這份規格寫的
Legend Chang:
回复 gaoyang9992006:
這是BSL的原始碼,我缺的反而是和它通訊的範例,因為我找不出來我這部分有甚麼問題。
Susan Yang:
根据MSP432P4 BSL用户指南 http://www.ti.com/lit/ug/slau622i/slau622i.pdf ,在调用引导加载程序之前,还应将中断优先级位设置为0。您能确认这些设置是零吗?
另外 BSL_INVOKE(BSL_SPI_INTERFACE); // Call the BSL with given BSL parameters
BSL_SPI_INTERFACE的值是多少?