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.

[参考译文] CC2564C:从 CC2564升级到 CC2564C 时出现问题

Guru**** 649970 points
Other Parts Discussed in Thread: CC256XM4BTBLESW, CC2564, CC2564C, CC256XSTBTBLESW, CC2564CMSP432BTBLESW, CC2564CSTBTBLESW, TIBLUETOOTHSTACK-SDK
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1047164/cc2564c-problems-upgrading-from-cc2564-to-cc2564c

器件型号:CC2564C
主题中讨论的其他器件:TM4C123GH6ZRBCC2564CC256XM4BTBLESWCC256XSTBTBLESW、 、 TI-BT-4-2-STACK-LINUX-ADDON

我们拥有基于  TM4C123GH6ZRB 微控制器和 CC2564蓝牙芯片的硬件。 我们使用了 TI 提供的称为 CC256XM4BTBLESW 1.2R2版本的蓝牙堆栈、该堆栈使用的是具有 TI C 编译器的 Code Composer Studio。 一切都很好。

现在、由于可用性、寿命终止等原因、我们需要将蓝牙芯片升级到 CC2564C 我们认为这比较容易,但事实证明是非常困难的。

主要问题是、我们需要将蓝牙堆栈更改为 CC256XSTBTBLESW、以获得对 CC2564C 的支持、并且该堆栈不附带对 TI C 编译器的支持。 因此、我们尝试将代码移植到使用 GCC 编译器。 我们有需要编译的东西、但我们面临着多个试图解决的错误。

现在我的问题是:

是否有办法使较旧的蓝牙堆栈(CC256XM4BTBLESW 版本1.2R2)与 CC2564C 搭配使用? 这意味着我们可以坚持使用相同的 C 编译器、避免出现大量问题。

如果没有、是否有机会获取  支持 TI 编译器的 CC256XSTBTBLESW 堆栈? 这也意味着我们避免更改编译器。

非常感谢您的任何帮助或指导!

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

    您好 Danjel、

    通常、了解 TI 蓝牙控制器、EVM 和堆栈兼容性的最佳方法是查看 TI-Bluetooth-Stack-SDK 页面

    [引用 userid="499359" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1047164/cc2564c-problems-upgrading-from-cc2564-to-cc2564c ]是否有方法可以使用旧版蓝牙堆栈(CC256XM4BTBLESW 版本1.2R2)来与 CC2564C 配合使用? 这意味着我们可以坚持使用相同的 C 编译器、避免出现大量问题。

    CC256XM4BTBLESW 堆栈仅支持蓝牙4.0功能、而 CC2564C 符合5.1标准。 我认为没有一种直接的方法可以确保 CC2564C 与 M4堆栈兼容。  

    [引用 userid="499359" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1047164/cc2564c-problems-upgrading-from-cc2564-to-cc2564c ]如果没有、是否有机会获取  支持 TI 编译器的 CC256XSTBTBLESW 堆栈? 这也意味着我们避免更改编译器。

    不幸的是,我们不能支持这一要求。  

    我可以为您提供的最佳建议是将微控制器切换到 STM32。 我还可以在内部检查是否有人尝试过类似的努力。

    此致、
    Jacob

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

    好的、谢谢。 这听起来很糟糕。 更换微控制器不是一个选项。 我觉得对 STM32的支持比对 TI 自己的微控制器的支持更好是奇怪吗?

    无论如何、我想从 CC2564升级到 CC2564B 会容易得多? 由于我们随后可以坚持使用相同的编译器和堆栈、因此只需更新 BT 服务包版本、甚至可以获得与 CC2564或 CC2564B 搭配使用的相同固件。

    BR、
    Danjel

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

    您好 Danjel、

    我认为您有两个选择:

    编辑:由于撤回了 CC256XM4BTBLESW 中使用的 QDID、无法使用选项1。

    1.根据 CC256XM4BTBLESW 向工程添加"CC256XC.h"补丁。 注意:只有当您计划将开发限制为蓝牙4.0功能时、此协议栈才可能起作用、因为此协议栈是4.0版本。 您需要从 最新的 Service Pack 下载此修补 程序、并将其包含在 btpsvend  目录下的项目中。  接下来、您需要在 BTPSVEND.c 中包含正确的#ifdef、以使用 CC256XC 补丁。 您可以参阅 CC256XSTBTBLESW 中 BTPSVEND.c 的摘录:

        /* Add this define to use CC256X									*/
    #ifdef __SUPPORT_CC256X_PATCH__
        #include "CC256X.h"
    #else
    #ifdef __SUPPORT_CC256XC_PATCH__
        #include "CC256XC.h"
    #else    
        #include "CC256XB.h"
    #endif    
    #endif

    2.从 CC256XM4BTBLESW 切换到 CC256XSTBTBLESW。 您必须在 CCS 中创建一个项目并在该项目中链接 CC256XSTBTBLESW SDK。 您还必须从 TM4C123GH6ZRB 项目移植 HCITRNS 文件。 需要注意的另一点是、此堆栈仅支持非线程环境或 FreeRTOS。

    此致、

    Jacob

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

    你好!

    非常感谢您对此进行调查! 非常感谢。

    关于选项1 (保留旧堆栈)、如果该选项有效、则会非常完美、因为我们不打算使用任何 BT 5功能。 由于芯片可用性、我们正在进行此升级。

    但是、在文档"CC2564B 至 CC2564C 迁移指南"中、说明了:

    "当从 CC2564B 迁移到 CC2564C 时、即使未使用 CC2564C 的 BT4.2功能、也必须升级主机堆栈以支持 CC2564C。 此外、主机堆栈必须使用适当的特定于器件的服务包进行初始化。 以下是与 CC2564C 兼容的 TI 双模蓝牙堆栈版本。 •CC2564CMSP432BTBLESW•CC2564CSTBTBLESW•TI-BT-4-2-STACK-LINUX-ADDO"

    考虑到本文档的内容、您确定它可以与旧堆栈配合使用吗? (即使未使用新功能、也必须升级堆栈)

    选项2具有我最初遇到的问题。 更改编译器 会暴露代码中的错误、并迫使我们更改固件中的其他内容、例如 USB 支持等

    但是、如果您确信选项1应该起作用、那么我们将采用这条路线! 否则、您能否确认我们应该能够将其从 CC2564升级到 CC2564B、而不是 C。在这种情况下、旧堆栈肯定可以正常工作、对吧?

    BR、

    Danjel  

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

    您好 Danjel、

    [引用 userid="499359" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1047164/cc2564c-problems-upgrading-from-cc2564-to-cc2564c/3876909 #3876909"]

    但是、在文档"CC2564B 至 CC2564C 迁移指南"中、说明了:

    "当从 CC2564B 迁移到 CC2564C 时、即使未使用 CC2564C 的 BT4.2功能、也必须升级主机堆栈以支持 CC2564C。 此外、主机堆栈必须使用适当的特定于器件的服务包进行初始化。 以下是与 CC2564C 兼容的 TI 双模蓝牙堆栈版本。 •CC2564CMSP432BTBLESW•CC2564CSTBTBLESW•TI-BT-4-2-STACK-LINUX-ADDO"

    [/报价]

    正确、对于  CC256XM4BTBLESW 堆栈、选项1实际上是不可行的。 我错过了本文档的这一部分。

    选项2将是 您前进的最佳途径。 TI 不支持添加与 CC2564CMSP432BTBLESW 或 CC2564CSTBTBLESW SDK 的 Tiva 兼容性、但我们可以让您联系第三方、第三方可提供帮助。 请告诉我您是否需要这些信息、我将与您联系。 同时、我将在 E2E 上向您发送朋友请求、以建立私人消息。

    谢谢、
    Jacob

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

    你好!

    选项2 (CC2564C)对我们来说并不是真正可行的。 它会导致在维护模式下对稳定的产品进行过多更改。

    因此、我们可能会转到 CC2564B 并保留当前蓝牙堆栈。 您对该选项的看法是什么? 您是否看到这种方法有任何问题?

    BR、
    Danjel

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

    您好 Danjel、

    [引用 userid="499359" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1047164/cc2564c-problems-upgrading-from-cc2564-to-cc2564c/3876909 #3876909">但如果您确信选项1有效、我们将使用此路线! 否则、您能否确认我们应该能够将其从 CC2564升级到 CC2564B、而不是 C。在这种情况下、旧堆栈肯定会起作用、对吗?[/引述]

    我现在意识到我错过了您上面的一个问题。 是的、应使用 CC256XM4BTBLESW 堆栈从 CC2564升级到 CC2564B。 该堆栈包含一个 CC256XB.h 文件、供您使用进行开发。 您是否有要测试的 CC2564B EVM?

    谢谢、
    Jacob

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

    您好 Danjel、

    我注意  到、CC256XM4BTBLESW 堆栈中使用的 QDID 现在已被撤回、这意味着它们不能用于新的列表。    有关详细信息、请参阅 QDID 37180和 QDID 42849以及 TIBLUETOOTHSTACK-SDK 页面。 您还可以查看 Bluetooth SIG 认证过程

    您需要使用 当前合格的蓝牙 堆栈来验证新的蓝牙列表。 您 可以利用 CC2564CSTBTBLESW 和 CC2564CMSP432BTBLESW 中的 Bluetopia 库文件。 ST 版本使用 gcc 编译、MSP432版本使用 Arm 编译器编译。 您可以尝试在  ST 或 MSP432 5.1堆栈中包含 CC256XM4BTBLESW 为 TM4C MCU 构建的 HCITRANS 和 HAL。  

    最棒的
    Jacob