请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2640 主题中讨论的其他器件:CC2650STK
工具/软件:Code Composer Studio
我最近在 CCS 中继承了一个非常 WIP 的代码库、我们希望将蓝牙文件传输/串行通信添加到该代码库中。 我从 simple_peripheral_cc2650stk_app 和..._stack 开始、并能够在我正在使用的 CC2640F128上启动和运行它们。 但是、当我将某些功能移植到我们已建立的代码库中时、我遇到了一个不太重要的问题(为简单起见、我们将其称为 SmartWatch)。 到目前为止、这里列出了我的方法以及我取得的结果。
- 只需将所有文件从 simple_peripheral 拖放到 CCS 中的 SmartWatch 项目即可。
- 除了因在其他地方链接大部分代码而引起的维护问题之外、我还遇到了许多未解决的符号。 由于这种做法是长期不可行的,我很快就放弃了这种做法。
- 从 simple_peripheral 中复制 include 路径、将其放入 SmartWatch 项目中、然后对其进行修改、使其实际正常工作(主要使用变量、在大多数情况下、这些变量在 SmartWatch 中根本不存在)。
- 这似乎相当好,并且能够使项目进行编译,但在链接期间,运行到少数未解析的符号(例如 GAPRole_createTask())中,这不应该是一个问题。 已验证定义函数的文件的路径实际上是否包含在内、但问题仍然存在
- 最后、咨询了比我更熟悉该软件的人、得出结论、构建内容已损坏、现在我们只需手动将所有文件添加到 SmartWatch
- 手动将所需的每个文件复制到 SmartWatch 目录中。
- 这个实际上可能最终会起作用、但是、正如您可以想象的那样、在涉及软件更新或可能需要执行的任何深度代码更改时、可能是最糟糕的情况。 鉴于蓝牙需要做一些繁重的工作、这可能是最不可取的方法、因此我尝试以另一种方式解决问题
- 我不是尝试将 simple_peripheral 代码移植到 SmartWatch 中、而是尝试将相对较便携的 SmartWatch 代码移植到 simple_peripheral 示例中。
- 这很快就进入了一个墙、因为实际上、将 simple_peripheral 代码翻出并使其在我的工作区目录中独立运行、而无需在整个地方都有链接、这似乎是不可行的。 如果情况不是这样、我想知道我应该采取什么方法。
如果我能让他们启动并运行的话,以上任何一项都是可以管理的,但是我已经用太长时间的时间在这堵墙上,这样做还不能继续下去,并希望这些问题可以归结为我的核心误解,可以迅速得到缓解。 如需更多详细信息、请随时咨询、我乐意提供所需的任何信息。
编辑:另请注意、不需要 simple_peripheral、仅需要蓝牙集成。 如果有一个更好的起点、例如一个非常好的起点、并且设置一个串行端口、那也是很好的。 最终产品将需要串行端口来进行功能验证/基本管理("显示您当前正在读取的值")、然后在稍后的 SD 卡上将~1GB 文件上传到 Android 设备。