控制两个SPI奴隶:Flash的SUOTA加上通用SPI IC

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support。我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
Firefox2005
离线
最后看到:4天6小时前
加入:2016-04-13 09:36
控制两个SPI奴隶:Flash的SUOTA加上通用SPI IC

你好,

我想把SPI和SUOTA的外接闪光灯一起使用。flash SPI的引脚配置类似于Dev Kit Basic Board[1]。
此外,我想控制第二个奴隶与一个额外的CS引脚选择的设备。

1.参考SUOTA示例[2],spi_flash驱动[3]是不需要的,因为引导例程检查是否有任何外部flash,如果有,程序将从外部flash加载。我在数据表[4]的BootROM序列上读到了这个。我的假设对吗?

2.是否有可能使用CS引脚的第二个奴隶在一个不同的端口,而不是SPI接口?
我需要它在端口2引脚1。但由于下面的代码,我不认为这将工作,因为引脚是相关的端口。这是正确的吗?

user_periph_setup.h
' ' '
#定义SPI_GPIO_PORT GPIO_PORT_0
#定义SPI_CLK_PIN GPIO_PIN_0
* # define SPI_CS_PIN GPIO_PIN_3 *
#定义SPI_DI_PIN GPIO_PIN_5
#定义SPI_DO_PIN GPIO_PIN_6
' ' '

user_periph_setup.c
' ' '
*GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_CS_PIN, OUTPUT, PID_SPI_EN, true)
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_CLK_PIN, OUTPUT, PID_SPI_CLK, false);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_DO_PIN, OUTPUT, PID_SPI_DO, false);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_DI_PIN, INPUT, PID_SPI_DI, false);
' ' '

3.如果我想使用SUOTA特性和另外控制第二个SPI从。我得用哪位司机?只有SPI驱动程序[5]?

4.spi_flash项目[6]仅用于检查SPI接口是否正常工作,与SUOTA无关。这是正确的吗?

硬件和SDK版本:
* DA14585
* SDK 6.0.10.511

[1]https://support.dialog-semiconductor.com/system/files/resources/E-DA1458..。
[2]https://support.dialog-semiconductor.com/system/files/resources/Training..。
[3] 6.0.10.511 \ sdk \ \司机\ spi_flash平台
[4]https://support.dialog-semiconductor.com/system/files/resources/DA14585_..。
[5] 6.0.10.511 \ sdk \ \司机\ spi的平台
[6] 6.0.10.511 \ \ target_apps \ peripheral_examples \ spi \ spi_flash项目

谢谢和最好的问候!

设备:
PM_Dialog
离线
最后看到:1天6小时前
工作人员
加入:2018-02-08 11:03
嗨Firefox2005,

嗨Firefox2005,

关于BootROM顺序,是独立于spi_flash驱动程序和SUOTA功能。您可以使用额外的CS引脚来控制第二个从站,以选择您提到的设备,但是您应该确保第二个SPI从站在过程中不处于活动状态。gpio默认为0,并且处于低位活动状态,因此这意味着第二个从SPI默认为活动状态。为了避免这种情况,您可以添加一个上拉,以便在引导过程中使其不活动,并确保DA14585将从外部SPI flash引导。既然这样做了,您就可以拥有SUOTA功能,并且可以通过在低水平配置CS来激活第二个从站。如果您想使用SUOTA特性并控制第二个SPI从站,是的,您可以使用SPI驱动程序。您还正确地提到了spi_flash项目不实现SUOTA功能,它演示了如何初始化,读,写和擦除一个SPI Flash内存使用SPI Flash驱动程序。

谢谢,PM_Dialog