我想使用配置为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发送主引导协议,但似乎忽略了我的启动它。
关键词:
设备:
嗨TP2017,
配置中使用的引脚连接到DA14586上的集成闪光灯。此处的闪存是在主配置中的从属配置和DA14586。引导序列取决于实现的引导加载程序。我正在使用我们的团队检查Bootloader内部,并将回复您的使用情况可用的选项。
最好的,
lc_dialog.
嗨TP2017,
正如我之前所提到的那样,您在设计中连接的外部MCU的引脚与与集成闪存的连接冲突。DA14586中的ROM引导加载程序将尝试从此集成的闪存引导,这将使从外部MCU启动非常困难。我建议使用可用的其他GPIO,最好是0个引脚。
如果您有更多顾虑,请告诉我们。
最好的,
lc_dialog.
我的问题是DA14586将从SPI Master引导,如UM-B-079 SDK 6软件平台参考的附录G所示(附录G.4 G.4.1“DA14585 / 586连接到SPI Master”)。我假设从您的响应中,DA14586不遵循参考G.4.1中描述的引导协议。它听起来像da14586在步骤g.4.3开始。如果您可以确认此,我将改变我们的设计以适应DA14586使用的实际协议。
是启动代码的源可用吗?如果我理解您的响应,则文档与DA14586的引导协议不匹配。我想在我承诺任何设计更改之前确认引导协议的详细信息。
谢谢
嗨TP2017,
为了澄清,这有2个部分。,
DA14586将根据您在附录G中引用的协议启动。然而,这是串行接口引导过程的一部分。但是,DA14586(具体)在包装中具有集成闪光灯,首先在移动到习惯性接口之前首先检查,如下面详细说明的。
DA14586配置为如DA14586_DATASHEET_3V2中所述引导到DA14586_DATASHEET_3V2 Page 39.如果此闪光灯没有有效标题,则设备无法在此启动,并将进入串行接口,如附录G.中所述当从串行接口引导时,586将首先检查外部SPI主站,并按照表39中所述的顺序跟踪,也是UM-B-079附录G中的图31。在附录G中的表38中已清楚地描述了引导GPIO组合。
ROM引导加载程序的源代码不可用。但是,如果应用程序需要从自定义引脚启动,则为DA14585 / 86 SDK - > Utmities_BootLooder中提供类似的实现。
希望这能回答你的担忧..
最好的,
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中列出的引脚上查找外部源。
别针我在用为了引导是P2_0 / SPI_CLK,P2_3 / SPI_EN,P2_4 / SPI_DO和P2_9 / SPI_DI。我从论坛讨论中得到了这种理解https://support.dialog-semiconductor.com/Comment/17898-17898.DA14586_DATASHEET_3V2的表1。如果我在“Init Spi Config”中显示,我认为这可能会起作用,如果我制作外部SPI从站并从中启动它UM-B-079的图31。
如果我理解这些来源,引脚我应该用来从SPI大师启动是P0_0 / SCK,P0_3 / CS,P0_6 / MISO,P0_5 / MOSI或P0_0 / SCK,P0_1 / CS,P0_2 / MISO,P0_3 / OSI列出表38 UMB-079。这些引脚用于DA14586搜索外部源的第二部分。
如果我的理解是正确的,我仍然需要关于SPI主引导协议信号的时间的信息。我在信号线上放了示波器,我可能能够使用该数据来时间SPI主人我想知道是否有更具某种方法来确定DA14586何时响应外部SPI主站。在“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以返回。
关于您的问题,DA14586从内部闪存加载程序..它将在Ext SPI奴隶上执行此操作?UM-B-079的图31中的阶段。
最好的,
lc_dialog.