你好,
首先:我的目标是让外部接近报告应用程序(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.“主机应用程序”到其余系统的接口是什么?如何连接主机应用程序到我的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