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.

[参考译文] CCS/CC3100SDK:CC3100 SDK v1.3.0 -无法将器件配置为默认状态

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/921872/ccs-cc3100sdk-cc3100-sdk-v1-3-0---failed-to-configure-the-device-in-its-default-state

器件型号:CC3100SDK
主题中讨论的其他器件:CC3100MSP430F5529MSP-EXP430F5529LP

工具/软件:Code Composer Studio

您好!

我刚刚安装了 CC3100 SDK v1.3.0、编译了 HTTP 服务器示例并在 configureSimpleLinkToDefaultState()(RetVal =-100)上收到错误。

有什么想法如何解决这个问题?

谢谢、

Itay

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

    您好!

    您在设备内上传了什么 ServicePack 版本? 请尝试使用最新版本。

    1月

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

    您好!

    我使用 的是1.0.1.14-2.12.2.8。

    固件:1.5.0.10

    PHY:1.0.3.25

    NWP:2.12.2.8

    谢谢。

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

    您好!

    您之前的 SDK 版本是什么? 如果是旧版本、则在 SDK v 1.2中添加到主机驱动程序中的超时机制的实现可能会出现问题。

    您的主机 MCU 是什么? 什么确切的 API 返回错误-100?

    1月

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

    您好、Jan、

    我之前的 SDK 为1.2.0。

    我使用的是 MSP430F5529。

    我的应用程序基于 HTTP 服务器示例。

    在  代码的开头我得到了 RetVal =-100作为 configureSimpleLinkToDefaultState()的响应。

    我成功地在 MSP-EXP430F5529LP 上运行了 HTTP 服务器示例 V1.3.0、没有任何问题。

    我必须移植自己的应用程序、但这不起作用(尽管它适用于 SDK V1.2.0)。

    我在我的环境中进行了一些测试、并发现了以下内容:

    -- configureSimpleLinkToDefaultState()函数调用 sl_WlanSetMode (role_STA)

    --在 sl_WlanSetMode (rolead_STA)上,进程在 verify_no_error_handling _in_progress ()上失败

    --在 verify_no_error_handling_in_progress ()上,我看到 g_bDeviceRestorartIsRequired = 1,这就是我得到-100响应的原因

    我注意  到我获得了_SlDriverHandleError 调用、错误代码(eError)为 SL_DEVICE_DRIVER_TIMEOUT_ASYNC_EVENT。 Info1=0、info2=0xFFFF。

    有什么想法我做了什么错?

    谢谢、

    Itay

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

    您好!

    遗憾的是、我无法说明在从 SDK 1.2更新到 SDK 1.3后、您在应用程序中遇到驱动程序超时错误的原因。 请确保您已正确更新 SDK、并且代码中未提及旧版 SDK。 此外、请确保您将 SDK 1.3中的平台层用于 MSP430。

    可能会有其他意见来为您提供 TI 支持。

    1月

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

    您好、Itay、

    我成功地在 MSP-EXP430F5529LP 上运行了 HTTP 服务器示例 V1.3.0、没有任何问题。 

    很明显、该示例默认工作、但当您开始进行更改时、情况开始中断。 是这样吗?  

    如果我正确调用、-100错误是 sl_api_abort 错误。 此错误可能表示主机驱动程序出现故障或 NWP 的预期响应。  

    Jesu

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

    您好、Jeso、

    我正在尝试在 CC3100 SDK V1.2.0上移植一个没有任何问题的项目(基于 HTTP 服务器示例)。

    我进行了分步移植、我的当前结论是、在 V1.3.0上、当我启用 TA0中断时、我卡住了:

    TA0CTL = tassel_2 | ID_3 | MC_3;
    TA0CCTL0 = CM_0 | CCIS_0 | OUTMOD_0 | CCIE;
    TA0CCR0 = 15624;
    
    #pragma vector=TIMER0_A0_VECTOR
    __INTERRUPT void TIMER0_A0_ISR_HOOK (void)
    {/void
    }/一些代码
    
    
    

    我试图了解该区域 V1.2.0和 V1.3.0之间的差异、以了解项目为何在 V1.2.0而不是在 V1.3.0上运行。

    有什么想法吗?

    谢谢、

    Itay

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

    您好、Itay、

    我不确定是什么原因导致了这里的问题、但我想说、我做了一些挖掘。 v1.3中围绕 TIMER0_A0似乎有一些在 CC3100SDK 中不存在的次要实现细节(timer_if.c 文件中有更多细节)。 此外,timer_x.*文件不再存在,并且添加了 timer_tick。*文件。 我建议您查看这些更改、并确保在移植到 v1.3.0时考虑了这些更改。

    Jesu

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

    您好、Jesu、

    我知道 timer0_a0中断仅用于 RTOS 环境。 是这样吗?

    在我的应用中、我使用的是非 RTOS 环境、需要使用 timer0_a0作为时基中断(10ms 中断)。 我的应用中已经使用了所有其他计时器。

    SDK1.3.0是否有关于 timer0_a0确切用法的文档。 我无法理解为什么它在 SDK1.2.0上运行得非常完美、但在 SDK1.3.0上不能完美。

    如果不使用 RTOS、是否可以使用 timer0_a0?

    谢谢、

    Itay

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

    您好、Itay、

    我知道 timer0_a0中断仅用于 RTOS 环境。 是这样吗? 

    看起来是这样、但这在 SDK v1.2中的使用方式是相同的、因此我认为这不是问题所在。 在 SDK v1.3中、可以检查 是否未定义 SDK v1.2中未定义的 sl_platform_multi_threaded。 您可以在 timer_if.c 文件中看到这一点。  

    Jesu

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

    您好!

    我不确定 sl_platform_multi_threaded 定义。 在任何情况下、我都不使用多线程模式。

    我注意到的是,在 simplelink->users.h 中,如果我不使用时间戳选项,我应该取消注释以下定义:

    /*如果不支持时间戳,请注释以下内容*/
    #define SL_GetTimestamp Timer_GetCurrentTimestamp
    #define SL_TIMESTAMP_TICKS_IN_10_milliseconds 毫秒_TO_TICKs (10)
    #define SL_TIMESTAMP_MAX_VALUE MAX_TIMER_TICKs
    

    在不进行修改的情况下、将项目按原样处理时、它会平稳运行。

    当我取消注释这些定义时、CC3100无法配置为其默认状态(configureSimpleLinkToDefaultState()返回 -100)。

    有什么想法我应该如何处理?

    谢谢、

    Itay

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

    您好、Itay、

    新的主机驱动程序在内部检查节拍数、对于 Nonos 应用程序、必须在编译中包含计时器节拍数。 当您更新到 SDK v1.3时、您是否还更新了 MSP430的版本? 如果您尚未查看 SDK 根目录.html 中的发行说明(另请参阅末尾的主机驱动程序迁移部分)。 您需要考虑一些计时器更改。 如果您进行了许多修改、我甚至可能建议进行新的安装。  

    Jesu