你好,
我想把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项目
谢谢和最好的问候!
嗨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