完全托管的应用程序作为SPI奴隶

5个帖子/ 0新
最后一篇
Barryreinhold.
离线
最后一次露面:6年2天前
加入:2014-07-22 21:15
完全托管的应用程序作为SPI奴隶

我正在寻求构建一个系统,其中DA14580托管使用BLE API的应用程序,并在外部MCU上传送到SPI的外部MCU上的另一个应用程序,其中外部MCU是SPI主站。

在下降这条道路时,我基于我的工作\ reporter_fe_spi项目。该模块包含SPI从站的代码,以及UM-B-013中概述的相关协议。然而,它是为FE环境设置的,而我正在寻找FH环境。

我创建了一个fh项目并包括spi_hci.c代码。但是,这会导致冲突,因为SPI_Handler符号乘以定义。通过代码挖掘我很确定我需要这个符号是为了获得SPI中断。因此,我通过修改Symdef文件来解决冲突。

但是,我担心我在这里旅行了错误的道路,想知道:

1.在DA14580上拥有应用程序(FH)的适当方法是什么,同时也使用外部MCU作为SPI主人?
2.是否有一些其他步骤,以便从ROM代码控制SPI接口?

py_dialog.
离线
最后一次露面:2年8个月前
职员
加入:2014-08-25 09:59
嗨Barryreinhold,

嗨Barryreinhold,

从您的描述中,您需要一个完整的托管应用程序(在DA14580中,BLE堆栈中也需要应用级别代码)。所以我建议你从报道_FH项目开始。然后,如果您需要SPI从驱动程序,您将从Reporter_Fe_Spi的Port Spi从代码汇总到Reporter_FH。

问候!
PY

Barryreinhold.
离线
最后一次露面:6年2天前
加入:2014-07-22 21:15
好的 - 这也可能有点

好的 - 这可能有点太高了,让我挖了一下。
当使用FH方法作为基础时,ROM代码仍然具有中断控制器,即我需要控制我将其交给我不想使用的代码(SPI HCI)。例如,为了获得CS行的控制,我具有用于在Boot_Vector.S中定义的符号GPIO1_Handler的处理程序。但是,此处理程序会导致乘法定义的符号,通过修改Sysdefs文件来resole。这允许我编译,但处理程序不会被称为 - 它似乎转到不同的符号$$ gpio1_handler。

此外,是否有一个技巧可以让Keil调试器打印堆栈变量(显然在范围内)。我已经将优化级别设置为-O0,但局部变量仍然不符,无法使用。

我不熟悉这种表示法,符号本身不存在于项目的其余部分中。什么是$$ sub $$表示法?我可以接管这个处理程序吗?

Kobyfr_mag.
离线
最后一次露面:4年11个月前
加入:2015-06-02 12:48
你好巴里。

你好巴里。
我非常想知道你是否最终管理,以获得DA14580来行动SPI奴隶。
我刚刚使它成功传播为SPI主人,但没有运气读取任何东西!= 0作为SPI奴隶。
我试图找到演示项目“Proximity \ Reporter *”但没有运气。
你能粘贴一个链接吗?

谢谢

mt_dialog.
离线
最后一次露面:1周5小时前
职员
加入:2015-06-08 11:34
嗨Kobyfr_Mag.

嗨Kobyfr_Mag.

您可以在“\ da14580_581_583_sdk_3.0.10 \ dk_apps \ keil_projects \ proximity \ prox_reporter中”在SDK3.0.10.1中找到Proximity Report参考设计。

谢谢mt_dialog.