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.

[参考译文] CC2564MODN:STM32F401RE 上的示例代码

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1174697/cc2564modn-sample-code-on-a-stm32f401re

器件型号:CC2564MODN
主题中讨论的其他器件: CC2564CCC2564TLV320AIC3101

我正在尝试为  STM32F401RE 的 CC2564MODN 设置 SPPDemo。 我遵循了指南"STM32F4 MCU 上的 CC2564C TI 双模 BluetoothRegistered协议栈"。 我还在 文件"stm32f4xx.h"中取消了#define STM32F401xx 的注释。 我还更改了 HALCFG.h 中的以下内容:

#define console_UART 2 //was 3

#define console_TXD_PORT A //was C
#define console_TXD_PIN 2 //WAS10

#define console_RXD_port A //was C
#define console_RXD_PIN 3 //WAS11

#define HAL_LED_PORT A //was G
#define HAL_LED_PIN 5 //WAS6

所有内容均可编译、链接和调试。 此外、在我的 NUCLEO-F401RE 板上切换 LED 一次。 但是、我可以看到"SPPDemo"文件中"Openst"函数中的函数"BSC_Initialize"导致固件跳转到默认处理程序以获得意外中断。 我还已经弄清楚、下面的内容是多次调用函数"GPIO_Init"。 最后、它在地址0x40021800上为 GPIOx 调用"GPIO_Init"。 根据数据表、该地址实际上是保留空间。 我是否在设置其他文件中的内容时遗漏了一些内容? 可以帮我解决这个问题吗?

我还注意到文件中的以下链接不再起作用:

"swru498b.pdf",第18页,"SPP 演示应用 wiki",指向"">processors.wiki.ti.com/.../CC256x_TI_Bluetooth_Stack_SPPDemo_App"

"swru498b.pdf"、第19页 "SPP + SPPLE 演示 wiki"、指向"processors.wiki.ti.com/.../CC256x_TI_Bluetooth_Stack_SPPLEDemo_App"

期待收到您的来信。

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

    尊敬的 Martin:

    您遇到的确切障碍是什么? 同时、这里是来自死链路的演示。

    e2e.ti.com/.../3162.CC256x-TI-Bluetooth-Stack-SPPDemo-App-_2D00_-Texas-Instruments-Wiki.pdfe2e.ti.com/.../CC256x-TI-Bluetooth-Stack-SPPLEDemo-App-_2D00_-Texas-Instruments-Wiki.pdf

    我还建议浏览 STM32 Bluetopia SDK 中的移植文档

    C:\ti\Connectivity \CC256X BT\CC256x STM32 Bluetopia SDK\v5.1.1.1\freertos\Documentation\Porting Documentation

    此致、

    Rogelio

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

    您好、Rogelio、

    感谢您提供这些指导。 实际上、我必须在 HCITRCFG.h 中设置其他一些引脚和端口 但是不确定在哪里将 DMA 值设置为"HCITR_DMA_RXD_NUMBER_" 和"HCITR_DMA_RXD_STRE"?

    实际上、我实际上将该项目移植到了 stm32cubeide 项目、因为我们没有任何 IAR 或 Keil IDE。因此我安装了免费的 Keil 版本(编译/链接大小受限)、并仔细地将项目和项目路径复制到 stm32cubeide。 我唯一无法解决的问题是"assert_param"。 因此、我在文件 stm32f4xx.h 的顶部添加了"#define assert_param (_x)(_x)" 如果你知道如何正确解决这个问题、我想知道。

    现在、项目正在编译、链接和调试、好了。 它在 stm32f401re 控制器上运行。 我现在还从控制台 UART 接收一些数据。 但是、到目前为止、数据看起来像垃圾一样。 因此、我认为可能需要在某个地方设置时钟频率、因为在本示例项目中、我看不到 systemclock_config 或某个 simillar。 在哪里可以找到该项目的时钟配置? 项目是否期望一些时钟频率?

    期待收到您的来信。

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

    尊敬的 Martin:

    不幸的是,我们不支持向不同的 IDE 提供港口,因此我在这方面也没有太多帮助。

    对于 UART 数据、我将检查波特率、cc2564的默认值为115200。

    我将包含端口 pdf 以及在 STM32发现板上运行演示所需进行的更改的 pdf。

    e2e.ti.com/.../STM32F4xx-Porting.pdf

    e2e.ti.com/.../Enable_5F00_STM32_5F00_Discovery.pdf

    此致、

    Rogelio

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

    您好、Rogelio、

    与此同时、我成功地移植了 SPP 演示。 它的工作原理是这样的、我可以与其他器件之间传输和接收数据。 我之所以选择这个演示、是因为我认为它是最简单的演示。 但是、实际上、我们希望将蓝牙音频连接添加到我们的器件。 那么、您能否为我提供 HFP 和 HFP-AG 应用的演示应用 wiki?

    您能否同时提供 CC2564MODN 的协议说明?(以及原始命令及其说明)

    此外、CC2564MODN 的寿命是多长? 我们的设计基于这一点是否仍然有用? 我想我之前在另一个地方问过这个问题、但我已经不知道了。

    我们是否可以将蓝牙堆栈更新为较新版本。 以便我们可以支持蓝牙5.0或其他功能?

    我现在链接到了一个由您为 STM 编译的蓝皮亚静态库。 您是否有编译器设置来构建我自己的蓝泰奥皮亚库?

    期待收到您的来信。

    此致、

    Robin

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

    尊敬的 Robin:

    我很高兴您能够在您的平台上构建并运行 sppdemo、我知道移植不是最简单的事情。  

    以下是 HFP 和 HFPG 的演示

    e2e.ti.com/.../1185.CC256x-TI-Bluetooth-Stack-HFPDemo-App-_2D00_-Texas-Instruments-Wiki.pdf

    e2e.ti.com/.../3582.CC256x-TI_1920_s-Bluetooth-Stack-Basic-HFGAGDemo-APP-_2D00_-Texas-Instruments-Wiki.pdf

    CC2564MODN 为 bt 4.1、不久将被 BT SIG 弃用、因此我实际上建议使用符合5.1标准的 CC2564C 以及 Bluetopia BT Stack。

    遗憾的是、我们无法共享 Bluetopia 栈的源代码、只能在用于 ARM 处理器架构的 SDK 中提供预编译库。 您是否计划使用不同的架构?

    此致、

    Rogelio

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

    您好、Rogelio、

    到目前为止、我们使用的是具有蓝牙2.1的模块。 因为我们正在制造专用系统、所以这种情况很好。 因此、此模块所连接的耳机仅用于我们的系统。 对我们来说、最重要的是、您将持续生产此 CC2564MODN 多久? 如果只有几年时间、我可能需要在另一个模块中投入我的精力。 对于同样适用的 CC2564C、您是否清楚地知道生产此蓝牙控制器的时间? 实际上、我们正在寻找一个已经过认证、能够连接外部天线的模块或 SoC。

    您能帮我们解决在这里最适合做的事情吗?

    此致、

    Robin

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

    尊敬的 Martin:

    有关产品寿命的立场、请访问 https://www.ti.com/support-quality/quality-policies-procedures/product-life-cycle.html 

    此致、

    Rogelio

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

    您好、Rogelio、

    感谢您的快速响应。 但是、您是否计划为 CC2564C 制作 CC2564MODN 等认证模块?

    期待收到您的来信。

    此致、

    Robin

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

    您好、Rogelio、

    此外、我想知道这是否是 TI 标准产品?

    如果是、这意味着如果当前没有客户需求、则2024年将变得过时、这是对的吗?

    此致、

    Robin

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

    尊敬的 Robin:

    CC2564MODN 是一种标准产品、只要有客户需求、就会根据我们的政策继续生产。 我们目前还没有计划为 CC2564C 制作 MOD、但有一些第三方公司使用 CC2564C。 我可以推荐 Panasonic 或 BDE 模块。

    Panasonic - https://na.industrial.panasonic.com/products/wireless-connectivity/bluetooth/lineup/bluetooth-multi-mode

     BDE-http://www.bdecomm.com/en/Product.asp?typeid=88

    此致、

    Rogelio

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

    您好、Rogelio、

    感谢您的建议。 我想我们将订购 BDE-BD2564CN 并从那里获取。 cc2564c 与 cc2564的兼容性如何? 我可以对 cc2564使用相同的固件演示和 bluetopia 库吗? 换句话说、我可以重复使用我的移植工作吗? 或者、我是否需要更新库来改进 cc2564c 中的蓝牙5.1?

    期待收到您的来信。

    此致、

    Robin

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

    尊敬的 Robin:

    [引用 userid="544520" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1174697/cc2564modn-sample-code-on-a-stm32f401re/4434764 #4434764"]您是否还能为我提供 CC2564MODN 的协议说明?(原始命令及其说明)

    我看到我没有回答这个问题。 我假设您的 HCI 命令是按原始命令执行的)以下是供应商特定 HCI 命令的列表。

    https://www.ti.com/lit/an/swra751/swra751.pdf

    该器件显然还会处理 BT SIG 强制性 HCI 命令。

    很高兴您找到了一个正常工作的模块。 要对 cc2564C 使用新的5.1改进、您需要使用最新的服务包。

    https://www.ti.com/tool/CC256XC-BT-SP

    您还将需要最新的 Bluetopia SDK、您可以在此处下载 STM 版本。

    https://www.ti.com/tool/CC2564CSTBTBLESW

    如果您使用 2.1堆栈、我想这将改变您当前使用的 Bluetopia 库

    此致、

    Rogelio

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

    您好、RogelioD、

    目前、我使用的是 CC2564MODNEM 版本1.0。

    器件芯片组:4.1

    BTPS 版本:5.1.1.1

    FW_VERSION:7.26

    我将其与5.1.1.1 SDK 一起使用、在此页面上找不到较旧的 SDK: https://www.ti.com/tool/CC2564CSTBTBLESW。 我不知道是否可以在没有 qonsequences 的旧芯片组上使用此较新的 SDK?

    我们已经订购了具有较新 CC2564C 芯片组的 BDE-BD2564CN。 它很快就会到达。 同时、我尝试让耳机的一切正常工作。 但是、还有几个挑战。

    当我与耳机配对并尝试打开音频连接时,如文档“CC256x TI 的蓝牙协议栈基本 HFGAGDemo 应用程序”中所述,它始终在“OpenAudioGatewayClient”命令之前起作用。 当该命令工作时、输出如下:

    HFP AG>openaudioogatewayclient 2 3.
                                                
    蓝牙设备地址:0x886B0FC8C0CC
                                         
    打开远程免提端口= 0003
                                                
    HFRE_Open_Remote_handsfree_Port:函数成功 ID = 0002。
                  
    OpenRemoteHandsFreePort:HFRE_Update_Current_Control_Indicator_Status 函数 S
    状态0。
                                                                  
    HFP AG>
                                                                          
    HFP AG>
                                                                          
    atLinkKeyRequest:0x886B0FC8C0CC
                                                 
    GAP_Authentication_Response ()成功。
                                    
    HFP AG>
                                                                          
    HFRE 打开端口确认、ID:0x0002、状态:0x0000。
                   
    HFP AG>
                                                                          
    HFRE 开放服务级别连接指示、ID:0x0002
                        
                        RemoteSupportedFeaturesValid:true
                          
                             RemoteSupportedFeatures:0x0000009E
                    
                     RemoteCallHoldMultipartySupport:0x00000000
                    
    HFRE_Enable 呼叫线路识别
                                       
    HFP AG>HFRE 网络操作员选择格式指示,ID:0x0002格式:3.

    HFP AG>HFRE 网络操作员选择指示,ID:0x0002。
               
    HFP AG>
                                                                          
    HFRE 音频连接指示、ID:0x0002、状态:0x0000。
                 
    HFP AG>HFRE 呼叫线路识别通知激活指示,ID:0x0
    002、Enabled:true。
                                                              
     HFP AG>HFRE 扬声器增益指示、ID:0x0002、扬声器增益0x000A。

    当它不起作用时、输出如下:

    openaudiogatewayclient 3.
                                                
    蓝牙设备地址:0x886B0FC8C0CC
                                         
    打开远程免提端口= 0003
                                                
    HFRE_Open_Remote_handsfree_Port:函数成功 ID = 0001。
                  
    OpenRemoteHandsFreePort:HFRE_Update_Current_Control_Indicator_Status 函数 S
    状态0。
                                                                              
    HFP AG>
                                                                          
    HFP AG>
                                                                          
    atPINCodeRequest:0x886B0FC8C0CC
                                                                          
    使用以下命令进行响应:PINCodeResponse
                                                                           
    HFP AG>pincoderesponse 0000
                                                      
    PINCodeResponse。
                                                                 
    GAP_Authentication_Response ()、Pin Code Response Success。
                                                                                
    HFP AG>
                                                                          
    atLinkKeyCreation:0x886B0FC8C0CC
                                                
    链接密钥:0x8FED9B58A34A43B9CEDA797BBC2A3C45
                                     
    链路密钥存储在本地。
                                                                               
    HFP AG>
                                                                          
    HFP AG>
                                                                          
    HFRE 打开端口确认、ID:0x0001、状态:0x0000。
                                                                             
    HFP AG>
                                                                          
    HFRE 开放服务级别连接指示、ID:0x0001
                        
                        RemoteSupportedFeaturesValid:true
                          
                             RemoteSupportedFeatures:0x0000009E
                    
                     RemoteCallHoldMultipartySupport:0x00000000
                    
    HFRE_Enable 呼叫线路识别
                                                                                
    HFP AG>HFRE 网络操作员选择格式指示,ID:0x0001格式:3.
                                                                               
    HFP AG>HFRE 网络操作员选择指示、ID:0x0001。
                                                                             
    HFP AG>
                                                                          
    HFRE 关闭端口指示、ID:0x0001、状态:0x0000。
                                                                       
    HFP AG>openaudioogatewayclient 3.
                                                
    蓝牙设备地址:0x886B0FC8C0CC
                                         
    打开远程免提端口= 0003
                                                
    HFRE_Open_Remote_handsfree_Port:函数成功 ID = 0002。
                  
    OpenRemoteHandsFreePort:HFRE_Update_Current_Control_Indicator_Status 函数 S
    状态0。

                                                                   
    HFP AG>
                                                                          
    HFP AG>
                                                                          
    HFRE 打开端口确认、ID:0x0002、状态:0x0001。

    当它不起作用时、我也无法使它正常工作。 我尝试了 managaudio 命令、但失败了。 为什么结果通常如此不同? 我还想知道如何与我之前配对的设备建立连接? 当此耳机未处于配对模式时、它不会显示在查询列表中。 但是、一旦配对、应该可以与其连接。 您知道如何执行此操作吗?

    当"openaudiogatewayclient"命令工作时、音频将打开。 我添加了对函数"VS_PCM_CODE_CONFIG_SLAVE_I2S"的调用、并更改了函数中的一些参数、以获取音频总线的正确设置。 我在同一条总线上耦合了一个 tlv320aic3101。 现在、我有一些来自耳机的音频、但声音非常脆。 因此、我认为音频总线设置有问题。 这是在蓝牙模块侧设置 PCM 总线的正确方法吗?

    此外、此耳机还配有 PTT 按钮。 当按下耳机上的按钮时、之前使用的蓝牙模块正在接收命令。 您知道我需要做什么才能接收这些命令吗?

    最后、我不太理解您之前提到的"服务包"的含义。 您能 解释一下我是否需要它、以及我是否需要它以及即将推出的较新模块吗?

    期待收到您的来信。

    此致、

    Robin

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

    尊敬的 Robin:

    第一件事、新年快乐!

    第二件事是使用新的 HFP 特定问题创建新的主题、这只是为了让 e2e 更清洁、更容易、让可能搜索相同问题答案的其他人找到答案。

    我将在这里回答与 HFP 无关的问题。 服务包是固件补丁、由于您使用的是 Bluetopia 版本、因此您不必担心、因为补丁使用位于 btpsvend 文件夹中的二进制数组加载到 MCU 中。 但是,如果您确实决定使用另一个堆栈(非 bluetopia),则需要使用 Service Pack 自行加载修补程序。

    此致、

    Rogelio

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

    您好、Rogelio、

    谢谢你。 我也祝你新年快乐。

    感谢您对服务包的解释、这让事情更加清晰。

    我将为其他问题制作一个新主题。

    此致、

    Robin