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

5个职位/ 0个新
最后发表
BarryReinhold
离线
最后看到:6年2天前
加入:2014-07-22) 21:15
作为SPI奴隶的完全托管应用程序

我正在寻求构建一个系统,其中DA14580承载一个应用程序,使用BLE API,并通过SPI与外部MCU上的另一个应用程序通信,其中外部MCU是SPI主。

在这条道路上,我的工作基于邻近的\reporter_fe_spi项目。该模块包含用于SPI从站的代码,以及在UM-B-013中概述的相关协议。然而,它是一个fe环境的设置,而我正在寻找一个fh环境。

我创建了一个fh项目,包括spi_hci.c代码。但是,这会导致冲突,因为SPI_Handler符号是多重定义的。在挖掘完代码后,我非常确定我需要这个符号是为了得到SPI中断。因此,我通过修改symdef文件解决了这个冲突。

然而,我担心我走错了路,我想知道:

1.在DA14580上同时使用外部MCU作为SPI主处理器的应用程序(fh)的正确方法是什么?
2.为了从ROM代码获得对SPI接口的控制,我还需要采取其他步骤吗?

PY_Dialog
离线
最后看到:2年8个月前
工作人员
加入:2014-08-25“
嗨BarryReinhold,

嗨BarryReinhold,

根据您的描述,您需要一个完整的托管应用程序(应用程序级代码也在DA14580中,在BLE堆栈旁边)。所以我建议你从reporter_fh项目开始。然后,如果您需要SPI从驱动程序,您最好端口SPI从代码从reporter_fe_spi到reporter_fh。

的问候!
PY

BarryReinhold
离线
最后看到:6年2天前
加入:2014-07-22) 21:15
好吧-那可能也有点

好吧,这可能有点太高了,我再往下说一点。
当使用fh方法作为一个基础,rom代码仍然有中断控制器,我需要采取控制,因为他们把它移交给代码(spi hci),我不想使用。例如,为了控制CS行,我有一个用于boot_vector.s中定义的符号GPIO1_Handler的处理程序。但是,这个处理程序会产生一个多重定义的符号,我通过修改sysdefs文件来重新定位这个符号。这允许我进行编译,但没有调用处理程序——它似乎转到了另一个符号$$Sub$$GPIO1_handler。

还有,让Keil调试器打印堆栈变量(显然在作用域内)有一个技巧吗?我已经将优化级别设置为-O0,但是局部变量仍然不在范围内,不能使用。

我不熟悉这个符号,符号本身在项目的其他部分不存在。什么是$$Sub$$符号?我能接手这个联络人吗?

kobyfr_mag
离线
最后看到:4年12个月前
加入:2015-06-02 12:48
你好巴里。

你好巴里。
我很想知道你是否最终成功地让DA14580充当SPI slave。
我刚刚使它成功地作为SPI主服务器传输,但没有运气读取任何东西!=0作为SPI从服务器。
我试图找到演示项目“接近\记者*”,但没有运气。
你能粘贴一个链接到它们上面吗?

谢谢你!

MT_dialog
离线
最后看到:1周5小时前
工作人员
加入:2015-06-08 34
嗨kobyfr_mag

嗨kobyfr_mag

您可以在SDK3.0.10.1中的\DA14580_581_583_SDK_3.0.10\dk_apps\keil_projects\proximity\prox_reporter中找到proximity报告器参考设计。

由于MT_dialog