你好,
首先:我的目标是让外部接近报告应用程序(projects\host_apps\da1458x\proximity\reporter)的主机应用程序在MSP430上运行。
为了做到这一点,我尝试着将项目“移植”到Code Composer Studio (CCS)。我最初的想法是在CCS中创建一个干净的项目,添加Keil项目的源文件和头文件,并替换特定于设备的驱动程序(如SPI)。我的问题是我无法让项目运行,因为CCS无法访问DA14580 SDK。(app.c, app_task.c, ble_msg.c, ....所有文件都来自SDK。)项目需要访问SDK是否正确?我该怎么做呢?
我想我不是第一个试图让接近记者运行在一个MSP430。对于这个问题是否有指南?我尝试使用UM-B-010和UM-B-013,但我觉得它们用处不大,因为它们只是解释了主机应用程序在DA1458x上运行的场景。
任何帮助都受到赞赏!
设备:
让我提炼一下我的问题。在所附的屏幕截图中,您可以看到外部处理器配置的基本架构,如各种Dialog用户手册中描述的那样。一般来说,我不知道proximity reporter应用的哪一部分是“host application”的一部分(截图中的绿色框),以及如何将host application连接到平台的其余部分。
我想知道的是
1.接近报告程序的哪些头文件/源文件是“主机应用程序”的一部分?
2.这些文件(主机应用程序)需要编译DA14580 sdk的哪些部分?(SDK被构造为'app_modules', 'ble_stack', 'common_project_files'和'platform'。我可以直接从项目中删除“平台”部分吗?)
3.剩余系统“主机应用程序”的界面是什么?如何将主机应用程序连接到My MSP平台?我正在寻找一个简明的主机应用程序函数列表,需要连接到平台。
提前谢谢!
嗨mabraun,
外部处理器配置中的邻近应用程序与位于SDK/projects/host_apps/windows/proximity/reporter中的windows报告程序一起执行,在那里你可以找到所有必需的头文件和源文件,用来创建你的自定义外部主机。应该有user_platform,以便设置UART并与外部主机通信。580的外部应用程序通过UART通过GTL通信,请检查UM-B-010邻近应用程序,了解更多信息。
谢谢mt_dialog.
嗨MT_dialog,
谢谢你的回复。所以据我所知,SDK在外部处理器配置中为接近报告程序提供了两个不同的示例:
1. Windows应用程序(SDK / Projects / Host_Apps / Windows / Proximity / Reporter),它打算通过UART连接DA14580。
2.在SDK \ Projects \ host_apps \ da1458x \ proximity \ Reporter下找到的项目。在这种情况下,两个DA14580通过SPI连接;一个DA14580正在取代外部微控制器的作用,其他DA14580正在采取BLE收音机的作用。此设置不需要Windows应用程序。
你能否证实?
我的意图是通过SPI连接我的DA14580到外部微控制器,因此我试图使用示例#2 (SDK\projects\host_apps\da1458x\proximity\reporter)作为参考,而不是windows应用程序。
希望这说得通。
干杯,
Mabraun.
编辑:我只是在说附近的记者。我知道近距离监控器需要增加DA14580。
嗨mabraun,
是的,你可以使用两个580(一个有外部应用程序,另一个有堆栈),并通过SPI在GTL上相互交互,你可以在UM-B-013中找到更多信息。
谢谢mt_dialog.
嗨MT_dialog,
谢谢你的解释。这意味着在项目“SDK\projects\host_apps\da1458x\proximity\reporter”中,GTL层对应于“spi_hci_msg.c”。然而,文件名“spi_hci_msg.c”表明这里使用的是HCI接口。此外,该文件中的所有注释都建议相同的事情。在那个例子中使用的协议真的是GTL吗?为什么总是谈论人机交互?据我所知,这两个接口之间存在显著差异(至少从协议堆栈的角度来看)。
谢谢,
Mabraun.
嗨mabraun,
580并不完全支持HCI接口的所有命令,所以命令是在GTL之上的。
谢谢mt_dialog.
嗨MT_dialog,
谢谢你的帮助,我终于让项目运行了!:)
我还有一个问题。与我在此所述的问题有关(http://support.dialog-semiconductor.com/spi-slave-mode-not-working这样的…),我必须在spi_hci_slave_init()的SPI初始化期间清除SPI_CTRL_REG中的SPI_EN_CTRL位。否则SPI连接将不稳定。
在“projects\target_apps\ble_examples\prox_reporter_ext_spi”项目中禁用SPI_EN_CTRL是否有任何后果?
谢谢,
Mabraun.
嗨mabraun
也许你的线条有点吵,那就是为什么当禁用spi_en时,你会得到没有错误的数据。如果SPI_EN在MSB和LSB位之间停用,则I / O缓冲区将重置并转到空闲状态。它很好地让SPI_EN激活,它应该在清晰的线条中保护无效数据。
谢谢mt_dialog.