从外部SPI主引导问题

6个员额/ 0个新员额
最后发表
Ashwin饶
离线
最后看到:6年1周前
加入:2015-01-09 05:21
从外部SPI主引导问题

你好,

我能够使用UART加载代码@startup,但无法从外部SPI master加载相同的。

我使用CPOL = 0, CPHA = 0和一个时钟330 kHz。在没有任何切换的情况下,CS线始终保持逻辑低电平。

我使用0作为模式字节(byte nr = 6)
我得到前导ACK和长度ACK (0x2)在字节nr. 3和6预期。但是我在字节nr. 8处得到一个值0x7F。

基本上,当我发送
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] (0 x00)
[1] (0 xdc)
[2] (0 xd4)
[3] (0 x02)
[4] (0 xe5)
[5] (0 xc4)
[6] (0 x02)
[7] (0 xc0)
[8] (0x7F) //这应该是0x02或0x20
[9] (0 xff)

有什么问题吗?

问候,
Ashwin

关键词:
设备:
Ashwin饶
离线
最后看到:6年1周前
加入:2015-01-09 05:21
你好,

你好,

从AN-B-001中给出的SPI主程序引导正确吗?这似乎对我不起作用。

问候,
Ashwin

JE_Dialog
离线
最后看到:2个月1个星期前
工作人员
加入:2013-12-05 14:02
嗨,阿肖恩,我不知道

HI Ashiwn,我没有意识到这个应用程序笔记的任何错误:我可以问你从哪个主机启动吗?BR JE_Dialog

Ashwin饶
离线
最后看到:6年1周前
加入:2015-01-09 05:21
你好,

你好,
谢谢您的回复。我使用的是STM32F4系列MCU。
我可以看到MCU正在使用范围发送正确的数据。我确实得到了前两个致谢。我不知道为什么我没有得到最终的ACK/NACK。

问候,
Ashwin

vantassel
离线
最后看到:1年8个月前
加入:2015-05-26二二15
我读你的帖子是因为我

我看了你的帖子,因为我没有得到任何Ack或Nack。
无论如何,这段代码不应该:
(BLE_CODE_SIZE >> 2) & 0xFF, (BLE_CODE_SIZE >> 10) & 0xFF
是:
BLE_CODE_SIZE & 0xFF, BLE_CODE_SIZE >> 8

问候,鲍勃

Ashwin饶
离线
最后看到:6年1周前
加入:2015-01-09 05:21
嗨vantassel,

嗨vantassel,

它应该是(BLE_CODE_SIZE >> 2) & 0xFF, (BLE_CODE_SIZE >> 10) & 0xFF,因为当从外部SPI master引导时,大小应该以4个字节的倍数指定。

关于ACK/NACK问题,我认为这是AN-B-001的一个错误。
如果我忽略字节nr 8和照常进行,我可以下载代码,并得到最后的ACK。
但是我还没有收到dialog semi公司的确认。

问候,
Ashwin