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.

[参考译文] CC2745R10-Q1:CC2745R10-Q1 App_Stack InitDoneHandler 不会在定制电路板上触发

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1636731/cc2745r10-q1-cc2745r10-q1-app_stackinitdonehandler-not-triggered-on-custom-board

器件型号: CC2745R10-Q1

您好的团队、

我正在运行一个 BLE 示例car_node () 和 SimpleLink SDK (v9.14.02.16)。

  • 亮起 EVK 电路板 0 Ω→正常工作
  • 亮起 定制板 未触发→App_Stack。InitDoneHandler。

观察  

  • BLEAppUtil_init() is called
  • BLEAppUtil_createStackTasks() returns successfully
  • BLEAppUtil task is running
  • But App_StackInitDoneHandler() is never reached

问题

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

    客户电路板是否与 EVK 电路板具有相同的引脚映射? 客户电路板是否安装了正确的 32.768kHz 晶体?

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

    您是说我们应该验证所有引脚映射是与 EVK 相同、还是只验证特定的关键引脚?
    如果只有某些引脚很重要、请告知我们应该重点关注哪些引脚?

    我们已经检查了 32.768kHz 晶体 (DST1610A)、并已由我们的硬件团队进行审查并确认其正确安装。

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

    对于定制电路板和 EVK、我们只能测量主 48MHz 时钟。
    无论是哪种情况、我们都无法测量 32.768kHz 时钟信号。

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

    测量 32.768 时钟的方法是将其映射到 DIO19。 请参阅硬件指南和时钟调优: CC234x 和 CC27xx 硬件配置和 PCB 设计注意事项(修订版 A)中的“调优 LF 晶体振荡器“部分。

    基本上、如果客户电路板上的任何引脚映射与示例工程不同、则需要对其进行更改、以匹配客户电路板设计。 请参阅 SDK UG 中的“客户硬件“一节。  定制硬件—SimpleLinkTm 低功耗 F3 SDK BLE5-Stack 用户指南 9.14.02 文档

    此致、

    Barbara

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

    1.在什么情况下会触发 App_Stack InitDoneHandler?

    2.从 EVK(参考板)迁移到定制板时、
    引脚映射的差异如何导致未触发 App_Stack InitDoneHandler?

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

    我们已经确认`pthread_create ()`返回成功`retVal = 0`),并且`vTaskStartScheduler ()`也被执行。

    我们进一步追溯到 FreeRTOS 流程、并确认执行达到`vStartFirstTask ()`。

    示例:
    RetVal |= pthread_create(&BLEAppUtil_threadEntity.threadId,
    &param_attribute、
    &BLEApp Util_Task、
    空);

    根据我们的理解,一旦 pthread_create() 成功并且调用了 vTaskStartScheduler(),所创建的任务就应该被安排并开始运行。

    但是,在我们的例子中,尽管流到达 vStartFirstTask (),但预期的任务行为不会发生。

    请您帮助澄清一下:

    1.在什么情况下 pthread_create() 会返回成功、但创建的任务在 vTaskStartScheduler() 之后仍然没有实际开始运行?
    2.是否应该在输入 vStartFirstTask() 后立即开始执行任务、除非出现故障/异常?
    3.对于这种情况,建议的调试方法是什么?

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

    在 EVK 上代码工作正常、但在客户电路板上不工作、表明这是软件和硬件不匹配问题或客户电路板问题。 要检查的前两项是 1。 包括高和低以及 2。 引脚映射。

    由于软件开始运行、我更倾向于认为这是 LF 晶体的问题。 请先回答这两个问题。