我想使用配置为SPI Master的MSP430来引导DA14586。(使用引脚P2_0 / SPI_CLK,P2_3 / SPI_EN,P2_4 / SPI_DO,P2_4 / SPI_DI,如Datasheet中指定的)。当MSP430发送SPI主引导协议时(根据UM-B-079软件平台参考表40),我没有得到响应(我期待ACK或NACK字节3和6)。相反,DA14586切换到SPI Master并搜索外部闪存模块(根据UM-B-079中的引导序列)。
如何确保DA14586知道我正在尝试从外部SPI大师启动它?是否有一个时间框架,我需要开始沟通?它看起来像DA14586尝试在约13毫秒后与外部闪光通信(我使用示波器检查)。我一直在尝试在13毫秒之前从MSP430发送主引导协议,但似乎忽略了我的启动它。
Keywords:
Device:
嗨TP2017,
配置中使用的引脚连接到DA14586上的集成闪光灯。此处的闪存是在主配置中的从属配置和DA14586。引导序列取决于实现的引导加载程序。我正在使用我们的团队检查Bootloader内部,并将回复您的使用情况可用的选项。
最好的,
LC_Dialog
嗨TP2017,
正如我之前所提到的那样,您在设计中连接的外部MCU的引脚与与集成闪存的连接冲突。DA14586中的ROM引导加载程序将尝试从此集成的闪存引导,这将使从外部MCU启动非常困难。我建议使用可用的其他GPIO,最好是0个引脚。
如果您有更多顾虑,请告诉我们。
最好的,
LC_Dialog
我的问题是否是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.
启动代码的源代码吗?如果我联合国derstand 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
嗨TP2017,
To clarify, there are 2 parts to this.,
DA14586将根据您在附录G中引用的协议启动。然而,这是串行接口引导过程的一部分。但是,DA14586(具体)在包装中具有集成闪光灯,首先在移动到习惯性接口之前首先检查,如下面详细说明的。
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引导加载程序的源代码不可用。但是,如果应用程序需要从自定义引脚启动,则为DA14585 / 86 SDK - > Utmities_BootLooder中提供类似的实现。
Hope this answers your concerns..
最好的,
LC_Dialog
我用错误的针脚吗?
我理解检查闪存的点是第一部分,串行接口引导协议是引导过程的第二部分。我的问题是我无法使用外部SPI主站获取DA14586来响应引导协议(UM-B-079的G.4.1)。我想知道我做错了什么,并且认为可能有一些更多信息(例如时序,引脚)会帮助我。
我重新阅读了所引用的资源。如果我理解正确,UM-B-079的图31示出了,如果在OTP中存在特定于引导特定标志= 0xAA(如在DA14586的情况下),则DA14586尝试从表中所示的引脚启动1在DA14586_Datasheet_3V2中,如果这失败,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。我从论坛讨论中得到了这种理解https://support.dialog-semiconductor.com/Comment/17898-17898.DA14586_DATASHEET_3V2的表1。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。
如果我联合国derstand the sources, the pins我应该用来从SPI大师启动是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?".
我没有发现DA14586从UM-B-079的图31中加载来自内部闪光灯的程序。我认为它必须在“otp空白?”之后的某个地方,但我找不到它。
谢谢你的帮助。此外,谢谢effure_bootloader上的尖端。我会看看它。
嗨TP2017,
如果要将外部MCU配置为SPI Master,则应考虑使用UM-B-079的表38中指定的引脚配置之一。
DA14586定时要求大约8毫秒,同时从外部SPI主站引导,它应该将协议数据序列(0x70 0x50)发送到SPI从站(586),该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