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.

[参考译文] CC2640:GAPRole 导致应用程序崩溃

Guru**** 2558250 points
Other Parts Discussed in Thread: BLE-STACK, CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/569686/cc2640-gaprole-causing-application-to-crash

器件型号:CC2640
Thread 中讨论的其他器件:BLE-STACK

在电路板的最新迭代中、我们从外部偏置分立式平衡-非平衡变压器切换到内部偏置集成式平衡-非平衡变压器。 使用项目0的修改版本对芯片进行编程后、 应用程序会运行到"初始化扫描响应数据"的位置。 我访问 ble_user_config.h 并为 我的芯片更改了 RF_FE_MODE_AND_BIAS、但它仍然在同一时间冻结。 到那时为止、一切都很好。 我甚至在该区域添加了一些代码来测试灯和 SPI。 我的第一个想法是检查 VDD_RF 上的功率级别。 在1.67时按预期进行检查、因此我只能假设在更改偏置时缺少一些设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想此电路板的第一次迭代是从 LDO 进行的、因为 DCDC_SW 和 VDDR 之间的电感器意外地被关闭。 对于此运行、添加了它。 这会是个问题吗? 所有 VDDR 引脚都将获得正确的电压。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dorian、您好!

    我们缺少有关您的软件设置的一些详细信息。 您能否确认您正在使用软件开发人员指南 SWRU393中发布的 BLE-Stack v2.2.1的 SDK 构建和设置过程? 具体而言、您是否使用 TI 编译器 v5.2.6? 重新配置的 RF_FE_MODE_AND_BIAS 不会导致软件冻结、因此我建议检查软件开发指南的调试章节中列出的任务堆栈溢出和其他项目。

    有关确认硬件的信息、请查看 BLE Wiki 上 CC2640硬件疑难解答和启动文章中列出的项目。

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

    您好、JXS、

    我使用的是 CCS 6.1.3.0034、是的、我通过 SWRU393设置了 SDK 和蓝牙堆栈。 我让该应用在我们设计的修订版1上正常运行。 RSSI 值没有我希望的那么高、因此我更改为集成平衡-非平衡变压器。 现在、新电路板在启动 GAPRole 时丢失。 我确实移动了一些电容器以获得更多空间、但所有引脚都在读取正确的电压。 我认为您对堆栈溢出很正确、但如果我没有更改任何代码、这怎么会发生呢?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试加载未修改的项目0、但仍然有相同的问题。 我真的认为应用程序没有问题。 它必须是配置或硬件。 其他什么可能导致此问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Dorian、您好!

    根据您的注释"启动步态时电路板会丢失"、听起来好像您正在吹 GAPRole 任务堆栈。 如果您暂停设备、您是否在异常处理程序(0x1000BDD6)中? 您还可以使用 TI-RTOS ROV 获取有关发生这种情况时处理器状态的更多信息。 请随时在此处发布这些屏幕截图。

    此外、请确认您使用的是 TI ARM 编译器 v 5.2.6、这是修复我之前提到的 GAPRole 任务堆栈问题的简单方法。

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

    抱歉、屏幕截图不会粘贴到此处、我得到:

    无法在"/db/vtree/library/trees/zumaprod/zumaprod-l03/exports/tirtos_cc13xx_cc26xx_2_18_00_03/products/tidrivers_cc13xx_cc26xx_2_16_01_13/packages/ti/drivers/power/PowerCC26XX_tirtos.c "中找到源文件
    找到文件或编辑源查找路径以包括其位置。

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

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

    不用担心、这听起来就像您没有达到例外。 TI-RTOS ROV 是否显示任何奇怪的内容?
    如果您不熟悉 ROV 工具或性能评测 RTOS 例外情况、请参阅此处的培训: training.ti.com/debugging-common-application-issues-ti-rtos

    在任何情况下、我相信问题可能与15.12.3编译器有关、您是否可以转到 TI ARM 编译器 v5.2.6。 您可以按照软件开发人员指南第2章中的步骤进行操作、以获得有关如何执行此操作的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Sean、

    我尝试执行 ROV、但没有 Task.initStackFlag 或 halHwi.initStackFlag。 我尝试了 CheckStackFlag、但遇到了有关 ROM 的错误。 我对 ROM 进行了注释、但随后出现一个错误、表示应用程序没有足够的内存。 您是否看到上面的屏幕截图?
    我还尝试过 v5.2.6编译器、但仍然有问题。 有没有关于如何达到这一目的的更多想法?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sean、

    我已单步执行代码以尝试精确定位错误。 下面是我找到的内容。 突出显示的行是错误发生的地方。 在右侧的反汇编中、0x1001bbd8调用0x1001bbd6、使其粘在循环中。 在使用 Launchpad 时不会执行此操作、但在使用我的定制板时会执行此操作。

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

    深入挖掘、我相信这是在以下情况下捕获的:

     我不确定它是否相关、但单步执行我调用的 Get 和 unknown thread