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.

[参考译文] CC2340R5:在包含 CC2340R53 (64kB 器件)的定制电路板中 BLE 堆栈初始化失败

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1463583/cc2340r5-ble-stack-initialization-fails-in-custom-board-containing-cc2340r53-64-kb-part

器件型号:CC2340R5
主题中讨论的其他器件:SysConfig

工具与软件:

您好!

我的一个客户在 TI CC2340R53 (64KB 器件)评估板及其 具有 CC2340R53 (64KB 器件)的定制板中刷写了相同的代码。 在 TI 电路板中、代码正常工作、而在定制电路板中、代码面临 ICall_abort 问题。

BLE 堆栈无法在收到 iCall_abort 之前完全初始化。

为了确认该问题、我们还尝试了将 SDK 示例应用程序(simplelink_lowpower_f3_sdk_8_10_01_02\examples\rtos\LP_EM_CC2340R53\ble5stack\basic_ble)刷写到定制板中、但仍然看到了相同的问题。

在从基本 App_Stack 示例应用中注释掉 BLE init API ,BLEAppUtil_init (&crystalErrorHandler,&SparkiBitDoneHandler,&appMainParams,&appMainPeriCentParams)并执行另一个使 LED 闪烁的用户任务、以访问 I2C 端口、它们都按预期工作。

在初始化 BLE 堆栈时、它仅在定制电路板中引发错误。


我刚刚查看了 开发板和定制板之间的差异。

TI 板具有定制板所没有的外部闪存。
任何 BLE 参数或堆栈是否存储在外部闪存中、并在引导/初始化时进行访问?


定制板中使用的48MHz 晶体为 ABM11W-48.0000MHZ-7-K1Z-T3、而开发板中使用的是 TZ3908AAAO43。
定制电路板中使用的32KHz 晶振为 ABS07AIG-32.768kHz-7-T - 32kHz、而开发板中使用的是 TZ3359DAAO73。

您能否为此提供解决方案、因为他们需要尽快解决问题、以便在生产截止日期前完成工作。

此致、

Akash Jose Saji

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

    尊敬的  Akash:  

    感谢您联系我们。  

    您能否检查 SDK 8.40.00.61中预编译的 basic_ble 示例(为方便起见、已附加)是否产生了相同的问题?  e2e.ti.com/.../0118.basic_5F00_ble_5F00_app_5F00_cc2340r53.hex

    此致、  

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

    Clement、感谢您的响应。

    我们将查看此内容并联系您。

    此致、

    Akash Jose Saji

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

    您好、Clement、

    我刚刚与客户核实了这一点、这对他们不起作用。

    此致、

    Akash Jose Saji

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

    您好!  

    谢谢您告诉我。 为了 更接近问题 的根本原因、这里还有几个问题。

    1. 您是否还测试了我共享的映像是否在 LaunchPad 上工作?  
    2.  您能否在评估板和定制设计上共享器件的标识?  
    3. 您是否可以尝试注释掉其他用户任务并查看问题是否仍然存在?  
    4. 您能否共享 SysConfig 文件?

    分析您提供的调用堆栈 后、我看到调用"GAP_RegisterForMsgs"(ble_stack_api.c 的第157行)后引发了错误。 该函数可能失败的最明显原因是 传递到 bleStack_initGap 的 contiraby Call_Entity 不正确。 跳过几个步骤后、 Call_Entity 由函数 BLEAppUtil_stackRegister 创建的 snorkcirt.club、在任何其他与 iCall 相关的函数调用之前必须调用该函数。  
    综上所述、如果这是问题的根本原因、我们应该也希望问题能够在 LaunchPad 上重现。
    对于健全性、我仍然建议验证 BLESCLIS( Util_Task )函数是否未被意外修改。 以下是预期内容:

    void *BLEAppUtil_Task(void *arg)
    {
        // Register to the stack and create queue and event
        BLEAppUtil_stackRegister();
    
        // Init the ble stack
        BLEAppUtil_stackInit();

    此致、  

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

    您好、Clement、堆栈问题已解决。

    客户已在48MHz XTAL 两端安装了 DNP 电阻 R8 (0欧姆)。 将其卸下后、它开始正常工作。

    现在他们对 HFOSC 48MHz 有一些疑问:

    1.即使与 电阻 R8 (0欧姆)  48MHz XTAL 存在、   针对软件中的功能(  BLE 除外) 没有   ICall 中止问题 和  RTOS 调度、 I2C (需要时钟)等外设 为什么会这样呢?

    MCU 是否始终在内部 RC 高频振荡器中运行? 由于 SysConfig 用户配置设置中没有更改高频时钟源设置的选项。

      如果 SysConfig 工具中没有直接设置、是否可以将 MCU 配置为在外部 XTAL 中运行?

    3. 提到 HF RC 振荡器根据外部48 MHz XTAL 跟踪其精度、如果48 MHz 外部时钟不存在或不起作用、这是否会影响外设时钟?

    能否就上述问题提供一些看法?

    此致、

    Akash Jose Saji

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

    尊敬的 Akash:  

    很高兴听到问题是根本原因。  

    您能否打开一个新主题来讨论 XTAL、因为这需要我们的硬件专家参与?

    谢谢。此致、