从具有集成闪存的外部CPU启动

16个帖子/ 0新
最后一篇
Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
从具有集成闪存的外部CPU启动

你好mt_dialog,

我使用DA14580开发套件基本和AN-B-023我成功将我的项目加载到闪存(W25x20CL)中,并使用SPI从其启动。

现在,我想使用SPI将其连接到STMicroelectronics STM32F103R8,是可以将我的项目加载到它的内部闪存中,并在我使用DA14580时从中启动它吗?或者我应该在ST微控制器中实现一个引导协议,以将数据发送到SPI到我的BLE模块(从机)?

非常感谢你,

- 萨法夫

设备:
mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

我不完全究竟是什么想做的。当580靴子主引导程序期望特定端口上的特定字节序列(其他接口中的SPI Master / SPI从站)。请检查AN-B-001 - 从串行接口引导有关引导序列的更多信息。

谢谢mt_dialog.

Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
嗨mt_dialoolog,

嗨mt_dialoolog,

感谢您的答案,事实上,我已经检查了AN-B-001,我的问题是:
我将Pan1740模块集成到STMicroelectronics STM32F103R8中,我希望它使用SPI从ST微控制器的闪存引导,因此我应该将我的数据发送到580,如AN-B-001中所述?

因为之前所做的,就是使用SmartSnippet,我将我的十六进制文件加载到SPI闪存中,580可以启动,它不能与ST微控制器中的集成闪存相同?如果不实现数据应该如何通过SPI发送...

谢谢,

mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

AN-B-001描述了所有580个接口中的启动过程,开机,580的引导加载程序将运行,您应该在您选择的接口上提供适当的数据(案例主/从配置中的SPI)以便开始引导seqence。SDK中有一个例子在2 580的一个作为主站和另一个用#define spi_booter的SPI接口中的奴隶,您可以选择您的主设备下载.bin到您的从站。该示例位于host_apps / da1458x / proximity / Reporter下。

谢谢mt_dialog.

Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
嗨mt_dialog,

嗨mt_dialog,

感谢您的支持,记者榜样是如此乐于助人!
所以现在要从.hex文件中提取图像数据,我删除了地址,然后crc和我只保留了数据,我替换了0x00的空白,然后我把数据放入缓冲区,是正确的?它是正确的吗?

谢谢,

mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

要下载的文件是.bin文件不是.hex文件,可以从SDK中的实用程序文件夹中从Hex2bin工具转换.hex到.bin从SDK中的Utilities文件夹,使用编辑器,复制和粘贴数据.bin在您的.c文件中,下载。

谢谢mt_dialog.

Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
嗨mt_dialog,

嗨mt_dialog,

谢谢,我在你所说的情况下实现,现在确保我的引脚配置正常,我确实如在AN-B-001:P-0-0 < - > SCK,P0_3 < - > CS,P0_5 <- > MOSI和P0_6 < - >味噌,以及其他引脚,我应该把跳线吗?(TCK,TMS,蝙蝠)
第二点是关于时间的,我应该在580中的引导算法搜索SPI上的数据时完全发送数据,因此在循环和JTAG之前的5次之前需要多长时间?这是什么最好的方法?

谢谢,

mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

TCK,TMS是调试器引脚如果您想通过Keil下载您的.bin,你必须使用那些引脚,如果不是,你也可以在蝙蝠引脚是开发套件上的SPI内存的引脚。请检查您拥有的开发套件的原理图。此外,您应该在启动加载程序运行时发送数据,以便下载要成功,它应该开始默认,在AN-B-001文档中描述了引导过程的步骤的确切超时。

谢谢mt_dialog.

Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
你好mt_dialog,

你好mt_dialog,

我仍然无法从我的SPI大师微控制器启动,所以请你能为我验证这个:

我开始使用MicroController的RESET引脚启动了580,如“AN-B-01”中所述等待103ms,然后在记者示例中策略发送报头(使能CS和发送数据)。但是我从来没有收到ACK或NACK,有时候我在STRINCE发送标题时拍摄了MISO的数据,请附上Saleae的标题发送分析的屏幕截图。

我错过了什么吗?

谢谢,

附件:
mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

在580上使用SPI奴隶有点棘手,请确保主站提供的SPI时钟至少四倍,即奴隶上的内部SPI时钟配置,也请在主设备上进行一些延迟在SPI总线上发送数据时。另请检查您的连接,应尽可能短,屏蔽和正确终止。

谢谢mt_dialog.

Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
你好mt_dialog,

你好mt_dialog,

谢谢你的回复,我会检查我的连接,并为时钟,580的内部频率是16MHz,这是对的吗?到目前为止,我发送了主时钟频率= 250kHz的数据,所以它应该是正确的吗?

要在发送数据时延迟延迟,我尝试过,但似乎不是逻辑的状态,它需要这么多时间才能发送图像,它可能是标题而不是图像,所以请确认时钟频率和i将检查我的连接。

谢谢,
- saif.

mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

内部SPI时钟频率可以达到16MHz(最大/最小分频器为1)。当SPI Master中的580靴子时,请检查AN-B-001是否有适当的SPI时钟设置。由于您的主人在频率上发送数据到达250khz,因此您应该可以正常,因为500只有在没有发出发送字节之间的任何延迟的限制。580中的SPI采样器是非常敏感的,电线电缆可能导致批次问题,因为它可能错误地接收小尖峰或脉冲的反射。

谢谢mt_dialog.

Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
你好mt_dialog,

你好mt_dialog,

由于SPI不起作用,我试图从UART启动,所以在之前,我重置580,然后在收到0x02 strat字节时重置580,然后发送SOH,LEN_LSB和LEN_MSB我得到了0x06 ACK,所以一切都好,然后我跑了发送图像,但之后我没有得到任何CRC。
同样的图像已成功下载到SPI闪存(SmartSnippets)中,580可以从中启动。
这里附上Saleae分析,我的十六进制和箱子文件(大小为19236 = 4b24)以及我如何发送数据:

1 - 与记者示例:数据对齐(64),大小除以4,我正在使用相同的发送功能实现
2 - 数据未对齐,只是一个具有长度=数据大小的普通缓冲区,并按字节向其发送内容字节
但总是相同的结果,有什么遗失吗?

附件:
mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

我无法从UART.LogicData文件中打开启动(似乎文件是空的)。只需从Hex2Bin程序中生产的二进制文件并通过UART下载。如果你不等待CRC并发送0x06,那580是什么?此外,您还可以尝试运行辅助引导程序才能调试此操作,您可以在Keil上运行Bootloader并模拟主引导程序并调试它。此外,您还可以使用智能片段下载UART的文件吗?此外,您可以尝试从不同的对Tx / Rx引导如果可用。我从UART下载图像中占据了捕获。

谢谢mt_dialog.

附件:
Bensalemsaif.
离线
最后一次露面:3年8个月前
加入:2016-02-02 12:42
你好mt_dialog,

你好mt_dialog,

事实上,我无法使用spi / uart下载smartsnippets的文件(或任何文件),它只通过JTAG完成,否则,我无法删除SPI闪存,这里附上错误:
所以可能是由于造成的问题?

谢谢,

mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨bensalemsaif,

嗨bensalemsaif,

由于您有一个基本套件,因此智能片段中唯一可用的选项是UART,UART / SPI仅适用于Pro和Expert Kit。要编程SPI Flash您是否使您在基本套件上进行了适当的连接(它需要额外的连接),请按照引脚旁边的图形以进行SPI的连接,此外,您必须连接P0_4跳线并连接使用UART引脚的P0_5。

谢谢mt_dialog.