This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-CC2650:从 CC2650Launchpad (RGZ)移植到定制板(CC2650F128RSM)

Guru**** 661510 points
Other Parts Discussed in Thread: CC2650, CC2640R2F, BLE-STACK
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1238600/launchxl-cc2650-porting-from-cc2650launchpad-rgz-to-custom-board-cc2650f128rsm

器件型号:LAUNCHXL-CC2650
主题中讨论的其他器件:CC2650CC2640R2FBLE-STACK

我不熟悉 TI 平台、只有几天使用 LaunchPad 的经验。 我有一款 CC2650 Launchpad 修订版1.3、我在其中通过上传堆栈和应用十六进制代码、使用 SmartRF 闪存编程器上传了简单的 BLE 外设代码。 它会正常广播并显示在 NRFConnect 和 TI SimpleLink Starter 应用上。 回顾一些示例和教程、我已经能够使用按钮控制板载 LED、也能够通过从应用程序发送命令来写入 SimpleProfile_Char3、我可以切换 LED。

现在、我们有一个使用4mm * 4mm CC2650F128 RSM 芯片组设计的定制电路板、其中我通过 Launchpad 的板载 XDS110调试器中的2引脚 JTAG 上传了相同的代码。 出于某种原因、当我检查 NRFConnect 或 Simplelink 应用程序时、定制板没有广播任何蓝牙信号。

当我恢复使用常用的简单 BLE 外设代码时、该芯片组会广播与 Launchpad 类似的蓝牙信号、但我无法连接到电路板、因此我无法读取或写入任何内容。 它只是显示连接失败。

从故障排除到先前的问题和论坛响应、我认为是由于封装问题、其中 LP 使用 RGZ、而定制电路板使用 RSM 芯片组。 我按照相应步骤使 DIO_9之外的所有 DIO 均未分配、甚至尝试通过复制 CC2650_LAUNCHXL 板来创建 MYBOARD、但未奏效。  https://software-dl.ti.com/simplelink/esd/simplelink_cc2640r2_sdk/2.40.00.32/exports/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/custom-hardware.html

对不起麻烦,因为我是一个新手,有一个很难理解什么需要做. 有人能告诉我一些简单的去步骤、以便将我的项目从 Launchpad (CC2650F128 RGZ)移植到 CC2650F128RSM。 许多链接都适用于不同的 CC2640R2芯片组、我仍然不清楚如何使定制板正常工作。

注意:同一个定制板之前由我实验室中的另一个人刷写、并且曾经可以正常工作、但我无法访问这些代码、所以我有点卡在那里! 感谢任何帮助!! 谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    共享您的板级配置文件代码更改。

    -克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速响应。 我尝试了 BLE SDK 示例中 CC2650lp 的库存代码(简单 BLE 外设)。 该设备也未连接到 NRFConnect 应用程序、即使该应用程序正在广播 BT 信号。

    但是、修改后的代码完全无法从定制板广播、这可能是引脚配置问题。

    我已随附了库存示例代码和修改后的代码。 在修改后的代码中、我添加了一些 pinconfig 来控制 LED 以及添加到 SimpleBLEPeripheral_processCharValueChangeEvt 的按钮和条件语句。

    再次感谢您回答这些问题。

    e2e.ti.com/.../0523.simple_5F00_peripheral.ce2e.ti.com/.../simple_5F00_peripheral_5F00_mod.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    从 main()调试代码并查看其挂起的位置。

    -克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kel:

    我无法从 CCS 刷写或调试。 它总是弹出一条消息、提示需要固件更新、然后当我确认时、显示以下错误: 无法访问路由器子路径。 电路板配置文件可能不正确。 (仿真软件包8.1.0.00012)  

    我对所有这些内容都是新的、因此、作为我在论坛中发现的权变措施、在构建示例代码之后、我使用 SmartRF Flash Programmer 2对堆栈和 app hex 文件进行编程。 这会是个问题吗? 该代码可以正常运行于 launchpad、但无法连接到 RSM 封装芯片组。  问题是否由电路板类型导致?

    是否有现成的 CC2650F128 RSM 板级文件可供选用、从而实现无缝移植?

    山姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您应该使用 CCSv7或 CCSv8。 例如、如果您可以使用 Launchpad 而不是定制电路板进行调试、则问题在于您的定制电路板。 如果 SmartRF Flash Programmer 2无法检测到您的定制板、则您的定制板存在问题。

    是否有现成的 CC2650F128 RSM 板级文件可供使用?

    否。 要从 CC2650 Launchpad 移植到另一个定制板、需要遵循一组过程。 您只需要熟悉它。

    -克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kel:

    感谢您的答复。 我使用的是 CCSV8。 Launchpad 和定制电路板均未使用 CCS 进行刷新、两者均显示相同的错误。  但是、使用闪存编程器、同时检测 LP 和定制电路板、并且使用构建后生成的十六进制文件上传代码。 不确定这是否是 LP 板载 XDS 调试器的问题、因为我正使用它上传至 LP 和定制电路板。

    要从 launchpad 移植到更小的4mm * 4mm RSM 封装、您能否介绍一下我可以遵循的一些步骤? 问题是我根本不熟悉 TI 系统,并试图疯狂地搜索用于7*7到4*4封装迁移的 CC2650移植步骤。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    无论是 Launchpad 还是自定义板都未使用 CCS 进行刷新、两者都显示相同的错误[/报价]

    不确定原因。 但是、您能否试用 CCSv9看看它是否起作用。 还使用 SmartRF Flash Programmer 2版本1.8.0。

    移植指南。

    我使用的是 CCSv8.2和 BLE Stack 2.2。 将简单外设导入您的工作区、并确保已安装 ARM 编译器5.2.8或5.2.9。 在堆栈和应用项目处设置 ARM 编译器版本、请参阅下文。 重新编译所有堆栈、然后应用应该没有错误。

    在启动文件夹中删除 board.c。

    创建一个新文件夹"Board"、并从以下文件夹位置复制3个板级配置文件:"C:\ti\simplelink\ble_sdk_2_02_07_06\src\boards\CC2650_LAUNCHXL"。 这样做的原因是您不希望修改原始板级配置文件。

    为新文件夹"Boards "设置包含路径。 转至"project properties->build->ARM Compiler->Include options"、并设置到新文件夹的路径。 要执行此操作、请按下+按钮并设置变量 PROJECT_LOC、然后选择 EXTEND -> Boards。 重新编译所有应用项目。

    转至 CC2650_LAUNCHXL.h、并设置 射频前端模式和偏置配置的正确定义。 对于 CC2650 Launchpad、则为 CC2650EM_7ID。 如果设置错误、您的蓝牙将出现问题。

    您可以在 ble_user_config.h 中找到这些定义。

    转至 CC2650_LAUNCHXL.c 并注释掉 BoardGpioInitTable 中的条目[]

    重新编译所有应用程序。 将堆栈十六进制和应用十六进制闪存到定制板。 您应该会看到使用您的应用程序进行的广告。 此时、您的定制板上运行了一个基本蓝牙应用。

    返回到电路板文件 Board.h、CC2650_LAUNCHXL.c、 CC2650_LAUNCHXL.h。 这些板级配置文件已设置为适用于您的 CC2650 Launchpad。 您需要对其进行修改、使其适用于您的定制板。  

    -克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kel:

    非常感谢您的详细回答。 我按照您建议的步骤操作、此外还在 CC2650_LAUNCHXL.h 中取消了引脚分配。

    我可以在检查 NRFConnect 应用程序时看到正在广播 SimpleBLEPeripheral 连接、但仍然无法连接到器件或键合到器件。 我可以只看到广播的连接及其 RSSI 图。

    我在编辑板级配置文件的过程中感到困惑、并且不确定我做了什么错。 为了使它进行连接、我很乐意取消分配大多数引脚、但我不确定我是否操作正确。 我在此处附上了板级配置文件、其中未分配引脚以及您建议的 GPIO 配置表。

    e2e.ti.com/.../6014.Board.he2e.ti.com/.../3644.CC2650_5F00_LAUNCHXL.ce2e.ti.com/.../7446.CC2650_5F00_LAUNCHXL.h

    另一方面、关于射频设置、Launchpad 为  CC2650EM_7ID、但对定制板不清楚。 这是射频侧的原理图、ID)、我可以在其中看到它是差分信号、但不确定它是相同的(CC2650EM_7ID)还是 CC2650EM_4ID/ CC2650EM_4XD  、这两者都未包含在 ble_user_config.h 中

    对不起这些愚蠢的问题,我可能错过了一个非常简单的东西。 提前感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以看到在检查 NRFConnect 应用程序时广播了 SimpleBLEPeripheral 连接,但我仍然无法连接到器件或绑定到器件。 我只能看到广播的连接及其 RSSI 图。

    这意味着您遇到了射频电路问题或其他问题。 我建议让 TI 工程师检查您的电路。 我推荐您参考 TI

    关于 射频前端模式和偏置配置、例如 CC2650EM_7ID 适用于 CC2650 Launchpad、即"差分输出外部偏置"。 您可以参考 CC2650 Launchpad 原理图。

    CC2650EM_7ID 是一个参考设计 https://www.ti.com/tool/CC2650EM-7ID-RD

    -克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Samannoy、您好、

    您可以 将您的定制电路板设计提交到 SIMPLELINK-2-4GHz-DESIGN-REVIEWS 、以供进一步审查。  SWRA640 解决了 PCB 设计注意事项、 SWRU393 提供了板文件详细信息。

    此致、
    瑞安

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    感谢这些链接。 我可以考虑接洽设计审查。 但我感到困惑的是、几年前曾有一位实验室成员使用同一种电路板设计、但当我尝试使用它时、它无法正常工作(在多个 PCB 上尝试了代码)。 这让我很想知道这是电路板设计问题、而不是电路板文件问题。 您是否有可能查看我在之前的回复中随附的修改版电路板文件代码、并让我知道我的做法是否有问题?

    此外、对于板级配置文件和射频配置、是否有任何使用4x4板版本的示例可以直接引用、类似  CC2650EM_7ID 中7x7的简单外设 LP 示例?

    谢谢。

    萨姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我没有可用于验证 文件更改的 CC2640R2F RSM 模块。  您应确认您使用的是 SDK 版本说明中所述的所有正确依赖项 、并可获取   最新 BLE-Stack 用户指南的自定义硬件部分中提供的 CC2640R2DK_4XS 板级文件。  此外、 您还可以参考类似的 E2E 主题。

    此致、
    瑞安