两个不同的SPI设备,带有SPI驱动程序从图书馆

了解更多常见问题解答教程

6个帖子/ 0新
最后一篇
Joachimkr.
离线
最后一次露面:1个月1天前
加入:2018-07-06 08:58
两个不同的SPI设备,带有SPI驱动程序从图书馆

您好,

我正在为DA14531开发一种带有两个SPI设备的定制板。两者都在频率,敏感边缘,芯片选择极性方面使用相同的设置。
一个是外设,另一个是来自Macronix的闪存,它已经是DA14531的开发套件专业版。
我用keil测试了我的软件,通过重写一些细节来重用SPI代码示例,编写我的特定处理程序并正常工作。现在,下一阶段:我想从Macronix Flash引导。所以我需要一个新的芯片选择信号。我知道序列储备,初始化,用于I / O引脚。
但我第一次尝试有2个信号和2个库函数失败。

What is required, is a separate chip select signal. The example code for the flash is using a data structure with settings which is used.
现在,我需要一个提示,我如何确保,SPI控制器能够从闪存和我的程序中启动,我可以在闪存中使用自由单元格,在一个相当明显的阶段,另一个时隙,使用我的外围设备的SPI控制器。
如何编写/修改/重用,以便操作2个独特但在SPI总线上以某种方式类似的设备?

感谢帮助
joachim

设备:
PM_DIALOG.
离线
最后一次露面:12小时34分钟前
员工
加入:2018-02-08 11:03
嗨Joachim,

嗨Joachim,

谢谢你的问题。请你尝试解释问题是什么?我可以理解您计划从外部SPI闪存启动并使用空单元格存储您自己的数据。另外,将使用另一个SPI外围设备。DA14531正在从标准引脚启动 - 请检查表38:从数据表中启动序列步骤。外部SPI从站引导是步骤5,表38演示了应使用特定引脚。BootRom将在P01上切换SCS将闪光灯与来自那里的应用程序代码和设备靴子进行编程。

关于使用“自由空间”的热,您应该使用从SmartSnippet Toolbox中编程的闪存进行读取SPI Flash,并在存储应用程序固件的地址检查。在这些地址之后,您可以存储自己的数据。

>>>But my very first attempt to have 2 signals and 2 library functions failed.

你能说明吗?

谢谢,PM_DIALOG.

Joachimkr.
离线
最后一次露面:1个月1天前
加入:2018-07-06 08:58
你好,谢谢你的回复!

你好,谢谢你的回复!

In my first attempt, I used the example code, which verifies some exchange with the SPI flash. Then, I moved some of this code into a bluetooth application and reused those pins for the flash. I attached my peripheral using wires from board to board and wrote the SPI handling code. It is working now, values are sent via bluetooth.

现在,挑战是,两个SPI设备附有。我制作了简单的假设,重用代码,但仅使用不同的PIN芯片选择我的外围设备。Miso,Clk,MOSI一直并行(这是一个Aproach OK吗?)在第一步不起作用,即使整个蓝牙分数也死了。

两者,Macronix和我的外围设备都适用于相同的设置。

我需要建议,扩展基于RAM的代码,因此DA14531将从Flash引导。我基本上理解了PIN使用率,而不是SPI库。

问候,

joachim

PM_DIALOG.
离线
最后一次露面:12小时34分钟前
员工
加入:2018-02-08 11:03
嗨Joachim,

嗨Joachim,

哪个GPIO是附着的外围设备?如果您希望在BLE项目上具有SPI Flash功能,请查看SDK的Prox_Reporter示例。

要从SPI Flash启动,您只需需要将与正确GPIO连接的共享,然后使用应用程序映像将其刻录。设备上电后,Flash的代码将被复制到系统RAM,然后将其复制到设备靴子。

为了与SPI外设进行交互,您需要使用正确的参数进行init和配置它,与之交互,然后释放它。

谢谢,PM_DIALOG.

Joachimkr.
离线
最后一次露面:1个月1天前
加入:2018-07-06 08:58
感谢您的回答。

感谢您的回答。

我将使用的GPIO只是免费的GPIO,仅用于控制额外的SPI芯片选择。我将使用一个,它连接到套件基板上的标题。
我会看看prox_reporter示例代码。

我理解,将哪些引脚用于闪光灯 - 只能在Pro套件的交付时跳跃。
To burn it, I understood to take the RAM operating binary (bin) file. Using the smart toolkit.
我需要保留我的额外GPIO,然后初始化I / O单元作为用于闪存的I / O单元格。为了使用我的外设,我需要我自己的chip_select函数,使用我的新gpio,使用设备和任何使用后,我必须用chip_select回到非活动的新gpio引脚。
我可以使用完全相同的brary functions for transmission (SPI controller queue for example).
如果我的SPI设备与相同的参数交谈,则只需要SPI库(?)另一个控制结构。

那是对的吗 ?

I tried that approach but there might has been some bug, somewhere.I need to do it again.

Regards, Joachim

PM_DIALOG.
离线
最后一次露面:12小时34分钟前
员工
加入:2018-02-08 11:03
嗨joachimkr,

嗨joachimkr,

您需要选择和配置每次将在哪个设备“谈话”中。诚实地说,我尚未以粗体正确理解您的陈述,但该概念是您应该选择每次使用SPI总线的设备。

谢谢,PM_DIALOG.