我想使用配置为SPI主机的MSP430来引导DA14586(使用数据表中指定的插脚P2\ U 0/SPI\ U CLK、P2\ U 3/SPI\ U EN、P2\ U 4/SPI\ U DO、P2\ U 9/SPI\ U DI)。当MSP430发送SPI主引导协议(根据UM-B-079软件平台参考表40)时,我没有得到响应(我期待字节3和6的ACK或NACK)。相反,DA14586切换到SPI主机并搜索外部闪存模块(根据UM-B-079中的引导顺序)。
如何确保DA14586知道我正在尝试从外部SPI主机引导它?有没有一个时间框架,我需要开始沟通?看起来DA14586在大约13毫秒后尝试与外部闪存通信(我用示波器检查)。我一直试图在13ms之前从MSP430发送主引导协议,但是它似乎忽略了我引导它的尝试。
Keywords:
Device:
你好,2017年,
配置中使用的引脚连接到DA14586上的集成闪存。这里的Flash是从配置,DA14586是主配置。引导顺序取决于实现的引导加载程序。我正在与我们的团队一起检查引导加载程序的内部结构,并将回复您有关用例可用选项的信息。
最好的,
LC_Dialog
你好,2017年,
如前所述,在设计中连接外部MCU的引脚与集成闪存的连接冲突。DA14586中的ROM引导加载程序将尝试从这个集成闪存引导,这将使从外部MCU引导非常困难。我建议使用其他可用的gpio,最好是端口0引脚。
如果您有更多问题,请告诉我们。
最好的,
LC_Dialog
My question is whether the DA14586 will boot from an SPI Master, as stated in Appendix G of UM-B-079 SDK 6 Software Platform Reference (Appendix G.4 G.4.1 "DA14585/586 connected to SPI Master"). I'm assuming from your response that the DA14586 doesn't start by follow the Booting protocol described in G.4.1 of the reference. It sounds like the DA14586 starts at step G.4.3. If you can confirm this, I'll change our design to accommodate the actual protocol used by the DA14586.
Is the source for the boot code available? If I understand your response, the documentation doesn't match the DA14586's booting protocol. I'd like to confirm the details of the booting protocol before I commit to any more design changes.
Thanks
你好,2017年,
To clarify, there are 2 parts to this.,
DA14586将引导你按照协议were referring to in Appendix G. Having said that, this is however part of the serial interface boot process. But the DA14586 (specifically) has an integrated flash in the package which will be checked first before moving to the serical interfaces as explained below in detail.
The DA14586 is configured to boot from the integrated Flash (Slave) as described in the DA14586_datasheet_3v2 page 39. If this flash does not have a valid header, the device cannot boot here and will proceed to the serial interfaces as described in the Appendix G. When booting from the serial interfaces, the 586 will first check for an external SPI master and follows the order as described in the Table 39 and also Figure 31 in Appendix G of UM-B-079. The booting GPIO combination has been clearly described in Table 38 in Appendix G.
ROM引导加载程序的源代码不可用。但是,如果应用程序需要从自定义pin引导辅助引导加载程序,则在DA14585/86 SDK->utilities->secondary\u bootloader中为客户提供了类似的实现。
Hope this answers your concerns..
最好的,
LC_Dialog
我用错别针了吗?
我理解你的观点,检查闪存是第一部分,串行接口引导协议是引导过程的第二部分。我的问题是我无法让DA14586使用外部SPI主机响应引导协议(UM-B-079的G.4.1)。我想知道我做错了什么,并认为可能有一些更多的信息(如时间,引脚),将帮助我。
我重新阅读了你引用的资源。如果我理解正确,UM-B-079的图31显示,如果OTP中存在引导特定标志=0xAA(如DA14586的情况),那么DA14586将尝试从DA14586数据表第19页表1所示的引脚引导。如果失败,DA14586将在UM-B-079表38中列出的管脚上查找外部电源。
The pins thatI am using用于引导的是P2_0/SPI_CLK, P2_3/SPI_EN, P2_4/SPI_DO, and P2_9/SPI_DI.I got this understanding from a forum discussionhttps://support.dialog-semiconductor.com/comment/17898#comment-17898and Table 1 of DA14586_datasheet_3v2 page 19.I think this might work if I made the external an SPI Slave and booted from it as shown after "Init SPI config" inFigure 31 of UM-B-079.
If I understand the sources, the pinsI should use to boot from an SPI Master是P0_0/SCK, P0_3/CS, P0_6/MISO, P0_5/MOSI or P0_0/SCK, P0_1/CS, P0_2/MISO, P0_3/OSI列在Table 38 of UMB-079. 这些引脚用于DA14586寻找外部电源的第二部分。
如果我的理解是正确的,我仍然需要关于SPI主引导协议信号定时的信息。我在信号线上放了一个示波器,我也许可以用这个数据给SPI主机计时I'd like to know if there is a more certain way to determine when the DA14586 will respond to an external SPI Master.Will it respond any time before it goes to the step after "Ext SPI Master?".
在UM-B-079的图31中,我没有找到DA14586从内部闪存加载程序的部分。我想它一定在“OTP空白”之后,但我找不到。
谢谢你的帮助。另外,感谢您提供有关辅助引导加载程序的提示。我来看看。
你好,2017年,
如果要将外部MCU配置为SPI主机,则应考虑使用UM-B-079表38中指定的引脚配置之一。
从外部SPI主机引导时,DA14586的定时要求约为8毫秒,它应将协议数据序列(0x70 0x50)发送到SPI从机(586),后者将发送ACK/NACK作为回报。
Regarding your question, where the DA14586 loads the program from internal flash.. It will do so at the EXT SPI slave? stage in the Figure 31 of UM-B-079.
最好的,
LC_Dialog