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.

[参考译文] CC3235MODASF:初始化过程中出错的最佳做法

Guru**** 2535750 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/911498/cc3235modasf-best-practice-with-error-during-initialization

器件型号:CC3235MODASF

您好!

我们有一些器件将 cc3220和 cc3235与 TI-RTOS 结合使用。 有时、某些器件会失去通信并导致电池电量耗尽一段时间。 通常、复位后、它们会毫无问题地返回联机状态。

我正尝试找到问题并消除此类问题的所有可能原因。 我已经看到、在我作为程序基础的示例中、初始化失败时有几个"while (1)"。

例如:  

retc = pthread_create (&thread、&pAttrs、mainThread、NULL);
if (retc!= 0)
{
/* pthread_create()失败*/
while (1)
{
;
}
} 

在此初始化阶段发生故障时、最佳做法是什么?

我可以简单地调用 PRCMHibernateCycleTrigger()吗?  

它是否可以在 BIOS_start()和 sl_start()之前完成?

谢谢!

C é dric

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

    您好、Cedric、

    您是否看到 mainThread 的 pthread_create()出现问题? 我想、您可能会看到这种情况、这让人感到惊讶...

    如果您使用的是 TI-Drivers、处理软件复位的最佳方法是使用 Power_shutdown ()函数调用。 在内部,这使用 MAP_PRCMHibernateEnter()函数以及一些其他函数在复位之前为器件设置已知状态。 这应该能够独立于 BIOS_start()而使用。 Power_shutdown ()和 driverlib PRCM_函数在技术上都与 sl_Start 无关,但建议在可能的情况下重置系统之前确保网络处理器已关闭(使用 sl_Stop ())。

    此致、

    本·M

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

    您好 Ben、

    目前、我们不知道器件为何卡住。 我们 每年在大约~1%的器件上都看到过这种情况(只需进行少量推断)、并且无法重现这种情况。

    我只是尝试消除此问题的所有可能原因、而(1)看起来像一个显而易见的原因、即使不太可能。 我也做了其他更改。

    然后我将使用 Power_shutdown ()。 不需要 sl_stop、因为所有这些初始化步骤都在 sl_start 之前。

    谢谢!

    C é dric

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

    听起来不错!