我对用于将DA14586连接到外部设备(MSP430)的引脚,用于从串行接口启动(我想使用SPI接口)。
我读取了AN-B-001“从串行接口启动”,并看到引导引脚分配(步骤1 / SPI Master)为P0_0 / SCK,P0_3 / CS,P0_5 / MOSI和P0_6 / MISO。这似乎足够明显,但我在DA14586数据表中阅读的东西让我困惑。Datasheet说:“在引导顺序期间,端口P2的四个SPI引脚用于访问内部闪存”(P2_0 / CLK,P2_3 / EN,P2_4 / DO,P2_9 / DI)。这听起来有点像我一样。数据表是否告诉我有关不同的功能?
一旦我使用相同的SPI接口使用串行接口启动DA14586,我想控制DA14586。那可能吗?
关键词:
设备:
嗨TP2017,
586附带嵌入式闪存,OTP报头被预编程,以便使用OTP标题中的“引导特定映射”字段从嵌入式闪存的引脚启动。AN-B-001文档涉及580/581/583系列,启动程序是相同的,但不完全相同,嵌入式闪光灯附带的586不遵循与583相同的架构(也是配有嵌入式闪光灯)。因此,在585/586案例中,在附录G中的文档UM-B-079 DA14585_586 SDK 6软件平台参考文档中介绍了引导过程。因此,究竟究竟是如何从内部闪存中触摸启动(如OTP标题中的适当字段指示)在未从内部闪存中启动后,它将开始执行UART序列,因为它在附录31中描述并继续其余引导协议。启动FW后,您可以根据需要使用引脚。
谢谢mt_dialog.
感谢您的答复。但是,我仍然不确定PIN分配。UM-B-079DA14585_586 SDK 6软件平台参考列出P0_0 / SCK,P0_3 / CS,P0_6 / MISO和P0_5 / MOSI的P0_0_3 / CS,以及P0_5 / MOSI。我还注意到DA14586数据表的表21上指定了相同的引脚。但是,我在表1中引脚说明(第19页的DA14586数据表)它显示了P2_0 / SPI_CLK,P2_3 / SPI_EN,P2_4 / SPI_DO和P2_9 / SPI_DI,并具有评论“注意:在引导序列期间,四个SPI引脚端口P2用于访问内部闪存。因此,不应重新映射或用于任何其他目的这些引脚。“。这是困惑我的部分。我想确定我没有误读文档并在提交电路板设计之前分配错误的引脚。
谢谢
嗨TP2017,
如上所述,585和586的引导加载程序是相同的,这两个设备之间的差值是586具有内部闪光,以便存储代码,因为它具有内部闪光,并且大多数可能是用户想要的存储一些代码,由于此OTP特殊标志引导ROM代码不会直接执行串行引导过程,但它将首先检查在该字段中声明的特殊引脚上的SPI接口,如果它无法从中启动它然后将继续执行串行引导。当设备从外部闪光灯找到FW时,它将将代码镜像到585的RAM,引脚将根据您的FW重新映射,但是启动过程将结束,镜像过程将完成,因此您不会再次访问闪光灯以获取读取代码,但为了读取Flash的任何数据,您需要将FW的引脚配置为SPI引脚,以便访问内部闪存。但是,请注意,如果您计划在这些引脚上连接任何外部传感器,则应确保它们不会与引导一起使用
程序。
谢谢mt_dialog.
哪个串行启动引脚?
我想我了解你的最后一次评论,但在我订购原型板之前我想确定。
我正在寻找DA14586的串行引导的特定引脚。是p0_0 / sck,p0_3 / cs,p0_6 / miso和p0_5 / mosi(表21,p.45的数据表45)或者是p2_0 / spi_clk,p2_3 / spi_en,p2_4 / spi_do和p2_9 / spi_di(表1第19页的数据表)?数据表似乎与自己矛盾。
(从表1,p.19:“注意:在引导序列期间,端口P2的四个SPI引脚用于访问内部闪存。因此,这些引脚不得重新映射或用于任何其他目的。”)这意味着P2 SPI引脚用于DA14586上的串行引导?
谢谢
嗨TP2017,
如上所述,586使用与585相同的引导加载程序,因此引导加载程序过程完全相同,但由于586具有嵌入式闪存,因此OTP标题字段引导特定映射从出厂刻录,以便首先从P2_0启动/ spi_clk,p2_3 / spi_en,p2_4 / spi_do和p2_9 / spi_di,如果失败,它将转到并执行标准引导加载程序过程。我承建了数据表有点令人困惑,因为它描述了标准序列,而不是烧毁的OTP字段的586选项,将与数据表的作者一起检查。
是的,这就是我在整个帖子中提到的。
谢谢mt_dialog.
非常感谢您的帮助。
你好
我正在使用DA14586带内部闪光灯。我的一个传感器通过SPI接口连接到DA14586,如该P0_0 / SCK,P0_3 / CS,P0_6 / MISO和P0_5 / MOSI。
我正在配置这种类似GPIO_CONFIGUREPIN(GPIO_PORT_0,GPIO_PIN_3,输出,PID_SPI_EN,TRUE)的SPI引脚;
#如果是1
ARCH_PUTS(“测试1 \ n \ r”);
#万一
gpio_configurepin(gpio_port_0,gpio_pin_0,输出,pid_spi_clk,false);
#如果是1
ARCH_PUTS(“测试2 \ n \ r”);
#万一
gpio_configurepin(gpio_port_0,gpio_pin_6,输出,pid_spi_do,false);
#如果是1
ARCH_PUTS(“测试3 \ n \ r”);
#万一
gpio_configurepin(gpio_port_0,gpio_pin_5,输入,pid_spi_di,false);
但它没有启动。
所以,我如何通过SPI使我的传感器接口或者是什么是正确的竞争来做这件事。
感谢和问候
Jasmeet Singh.
嗨Jasmeet Singh,
是否有任何特定原因您使用该传感器的GPIO?您是否尝试在任何其他GPIO中连接它?
谢谢,PM_DIALOG.
你好
在页码45中表编号21个数据表(DA14586)。它们对SPI Master具有给定的外设引脚映射,这是我们使用这些GPIOS作为传感器的SPI线路的原因。
不,我们没有尝试其他GPIO。
感谢和问候
Jasmeet Singh.
嗨Jasmeet Singh,
这是BootRom检查特定GPIO的引导序列,以便从不同的串行设备引导。通常,您可以使用任何GPIO作为SPI - 您需要在固件中配置它。与此同时,您能用逻辑分析工具探测SPI信号并分享捕获吗?
谢谢,PM_DIALOG.