我正在寻求构建一个系统,其中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接口?
嗨Barryreinhold,
从您的描述中,您需要一个完整的托管应用程序(在DA14580中,BLE堆栈中也需要应用级别代码)。所以我建议你从报道_FH项目开始。然后,如果您需要SPI从驱动程序,您将从Reporter_Fe_Spi的Port Spi从代码汇总到Reporter_FH。
问候!
PY
好的 - 这可能有点太高了,让我挖了一下。
当使用FH方法作为基础时,ROM代码仍然具有中断控制器,即我需要控制我将其交给我不想使用的代码(SPI HCI)。例如,为了获得CS行的控制,我具有用于在Boot_Vector.S中定义的符号GPIO1_Handler的处理程序。但是,此处理程序会导致乘法定义的符号,通过修改Sysdefs文件来resole。这允许我编译,但处理程序不会被称为 - 它似乎转到不同的符号$$ gpio1_handler。
此外,是否有一个技巧可以让Keil调试器打印堆栈变量(显然在范围内)。我已经将优化级别设置为-O0,但局部变量仍然不符,无法使用。
我不熟悉这种表示法,符号本身不存在于项目的其余部分中。什么是$$ sub $$表示法?我可以接管这个处理程序吗?
你好巴里。
我非常想知道你是否最终管理,以获得DA14580来行动SPI奴隶。
我刚刚使它成功传播为SPI主人,但没有运气读取任何东西!= 0作为SPI奴隶。
我试图找到演示项目“Proximity \ Reporter *”但没有运气。
你能粘贴一个链接吗?
谢谢
嗨Kobyfr_Mag.
您可以在“\ da14580_581_583_sdk_3.0.10 \ dk_apps \ keil_projects \ proximity \ prox_reporter中”在SDK3.0.10.1中找到Proximity Report参考设计。
谢谢mt_dialog.