你好,
我能够使用UART加载代码@startup,但无法从外部SPI主站加载相同。
我使用CPOL = 0,CPHA = 0和330 kHz时钟。CS线在整个时间内保持逻辑低,而无需任何切换。
我使用0作为模式字节(字节NR = 6)
我在byte nr获得前言ACK和LENGENCE ACK(0x2)。如图3和6所示。但我在字节NR处获得值0x7f。8。
基本上,当我发送时
spi_tx_buf [10] = {0x70,0x50,0,(ble_code_size >> 2)&0xff,(ble_code_size >> 10)&0xff,ble_code_crc,0,0,0,0};//使代码的前两个字节为0进行调试
我回来了
spi_rx_buf [] =
[0](0x00)
[1](0xDC)
[2](0xD4)
[3](0x02)
[4](0xe5)
[5](0xC4)
[6](0x02)
[7](0xC0)
[8](0x7F)//这应该是0x02或0x20
[9](0xff)
什么可能是错的?
问候,
ashwin
关键词:
设备:
你好,
从AN-B-001中提供的SPI主程序启动?这似乎并不适合我。
问候,
ashwin
嗨Ashiwn,我不知道这个应用程序的任何错误注意:我可以问你从哪个主机开始?BR JE_DIALOG.
你好,
谢谢回复。我正在使用STM32F4系列MCU。
我可以看到MCU使用范围发送正确的数据。我确实得到了前两个致谢。我不确定为什么我没有得到最后的ACK / NACK。
问候,
ashwin
我读了你的帖子,因为我没有得到任何ACK或NACK。
无论如何,这代码不应该:
(ble_code_size >> 2)&0xff,(ble_code_size >> 10)&0xff
是:
ble_code_size&0xff,ble_code_size >> 8
问候,鲍勃
嗨Vantassel,
它应该是(BLE_CODE_SIZE >> 2)&0xFF,(BLE_CODE_SIZE >> 10)&0xFF,因为从外部SPI主站引导时,大小应在四个字节的多个字节中指定。
关于ACK / NACK问题,我认为这是AN-B-001中的错误。
如果我忽略字节NR 8并像往常一样继续,我可以下载代码并获得最后一个ACK。
但我没有收到对话框半的确认就是如此。
问候,
ashwin