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.

[参考译文] CC3200:重试 CC3200 OTA 错误

Guru**** 2578945 points
Other Parts Discussed in Thread: CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/564671/cc3200-cc3200-ota-error-retrying

器件型号:CC3200

大家好、

我已执行 OTA 应用手册中提到的所有步骤

我正在重试错误

我已启用调试、但在 UART 终端上未打印任何内容

我在这里错过了什么?

我正在尝试 OTA_UPDATE_OS 示例



此致

Shashank

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

    Shashank,

    不清楚您会遇到什么错误。

    应用程序是否正在运行? 错误是什么?

    Shlomi

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

    您好、Shlomi、

    我没有打印任何与调试相关的信息、我已经解决了这个问题、但现在我已经得到了解决

    sl_FsOpen =-11时出错

    这是我所做的

    1. 我按照下拉框程序生成了我的密钥并将其复制粘贴到程序中


    我不想更新服务包  
    我当前的服务包是 1.0.1.6-2.7.0.0

    文档显示第4个字节是 Service Pack 版本,但有一个“-”(Hypen)应该如何处理?
    我刚才将它合并为62  

    2.在该文件夹内,我在修改后上载了 bin 文件  

    #define OTA_VENDOR_string        "Gravity _ CC3200_Ver01"
     和  
    #define APP_VER_BUILD      1

    3.我再次将它们修改为  

    #define OTA_VENDOR_string        "Grave_CC3200_Ver00"
     和  
    #define APP_VER_BUILD      0

    和生成的 bin 文件

    完成了完整格式的闪存并对服务包进行了编程  

    /sys/mcuimg.bin 已使用应用引导加载程序刷写



    并在 /sys/mcuimg1.bin 上刷写了 OTA 更新应用程序  





    4、现在运行此代码时、我在 sl_FsOpen =-11中收到此错误错误  

    我在这里错过了什么?

    如果您需要更多信息、请告诉我

    此致

    Shashank

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

    您好、Shashankk、

    servicepack 的第4个字节可能误导。

    它引用网络处理器版本的第4个字节、如果是最新 的1.0.1.6-2.7.0.0、则为00。 1.0.1.6是主机驱动程序版本、2.7.0.0是网络处理器版本。 应在自述文件中记录该文件。

    关于目录命名约定的概念、器件应检查名称与编程的服务包和运行的应用程序版本相对应的目录中的更新。

    在您的情况下 、OTA_VENDORY_STRING 为"Gr引 力_CC3200_Ver01"、如果 servicepack 1.0.1.6-2.7.0.0已编程到器 件中、则应查找目录"Gr引 力_CC3200_Ver0100"。 此目录中的任何内容都应更新。 因此、假设您希望按照步骤3中的说明使用版本0重新编译、并将其放置在目录 "Gravity CC3200_Ver0100"中、更新后应运行版本0。 要进行其他更新、需要目录 "Grave_CC3200_Ver0000"

    希望更清楚。

    Shlomi

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

    您好、Shlomi、

    谢谢、但我仍然遇到相同的错误

    下面是我现在要做的事情

    1.我按如下方式设置字符串并将其刷写  

    #define OTA_VENDOR_string        "Grave_CC3200_Ver00"
    #define APP_VER_BUILD      0


    2.在下拉框中、它如下所述、它是 NWP 版本的第四个字节


    其中只有一个文件 f80_sys_mcuimgA.bin  

    现在是否正确?

    我仍然在 readstat 文件-11中得到相同的错误

    如果您需要更多信息、请告诉我

    此致

    Shashank

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

    #define OTAST_FILENAME "/sys/otastat.txt

    正在调用 OtaApp.c 中的函数_ReadStatFile、但该文件在我的文件系统中不存在、

    [14:10:06]信息:文件起始大小失败总大小文件名
    [14:10:06]信息:索引块[blks]安全[blks]
    [14:10:06]信息:-------------------------------------------------------
    [14:10:06]信息:不适用05不适用5FATFS
    [14:10:06]信息:0814NO4/sys/mcuimg.bin
    [14:10:06]信息:455是10/tmp/phy.cal
    [14:10:06]信息:61533是66/sys/servicepack.ucf
    [14:10:06]信息:78521NO21/sys/mcuimg1.bin
    [14:10:06]信息:81061是2/sys/mcubootinfo.bin
    [14:10:06]信息:91081是2/sys/stacfg.ini
    [14:10:06]信息:101102是4/sys/pref.net
    [14:10:06]信息:111141是2/sys/ipcfg.ini
    [14:10:06]信息:121161是2/sys/mode.cfg
    [14:10:06]信息:131181是2/sys/pmcfg.ini
    [14:10:06]信息:141201是2/sys/mdns.cfg
    [14:10:06]信息:151221是2/tmp/table.arp
    [14:10:06]信息:1612421NO21/sys/mcuimg2.bin
    [14:10:06]信息:

    这就是错误的原因!!!

    如何生成?

    您还使用哪个时区? 我在印度标准时间

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

    Shashank,

    11表示该文件不存在、它应该自动创建(然后您不应该再收到此错误)。

    因此、它与 mcuimg 等其他文件的 OTA 过程无关。

    我在以色列时区。

    Shlomi

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

    它不会创建该文件

    我该怎么办?

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

    Shashank,

    应该创建该文件、但我认为您不会进入打开/创建该文件的阶段。

    您之前提到的-11在您尝试读取文件时发生、并且此错误正常。

    启用 DEBUG_PRINT 时、请共享控制台日志。

    Shlomi

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

    您好!

    下面是屏幕截图

    此致

    Shashank

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

    Shashank,

    正如我所想的那样、它是在读取期间、因此不是一个问题。

    您根本无法连接到服务器。

     OTA_SERVER_NAME 下有什么内容? 我希望看到"api.dropbox.com "或一些可读的服务器名称、而我只看到吉比利什。

    请澄清。

    Shlomi

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

    您好、Shlomi、

    应在何处定义 OTA_SERVER_NAME?

    是的、这是5天以来一直在进行的圣战

    此致

    Shashank

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

    您好、Shlomi、

    它已正确定义、  

    当我导入 OTA_UPDATE_OS 工程时,会显示一条错误消息,说明程序不适合外部存储器

    因此、我在 cc3200v1p32.cmd 文件中修改了它、如下所示

    //这是导入时的原始
    数据。//应用程序使用内部 RAM 来处理程序和数据*/
    SRAM_CODE (rwx):origin = 0x20004000,length = 0x12FFF
    SRAM_DATA (rwx):origin = 0x20017000,length = 0x19000
    
    我将上述内容注释掉并修改如下
    
    //*应用程序使用内部 RAM 进行程序和数据*/
    SRAM_CODE (rwx):origin = 0x20004000,length = 0x15FFF
    SRAM_DATA (rwx):origin = 0x2001A000,length = 0x16000 

    这是否会导致任何问题?

    我完全删除并重新导入了该项目,并进行了更改,但它仍然是吉百吉士:(

    此致

    Shashank

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

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

    非常奇怪、

    您有一个具有256KB SRAM 的生产芯片、因此您应该可以对 cmd 文件中所做的修改进行操作。

    如果您只是放置断点并在调试中运行、会发生什么情况? 在该 giberrish 打印输出处停止时、您会看到什么?

    Shlomi

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

    您好、Shlomi、

    我已经尝试在调试模式下运行它、此时它的运行方式与之前相同。

    您是否可以使用我拥有的相同 cc3200板,导入带有操作系统的 OTA 示例

    并运行它?

    我还在 CCS 和 OtaApp.c 文件中导入 OTA 库

    在这里和那里放置一些报告语句、然后重新编译库

    我们观察到的是数据在 OTAServerInfoSet 内正确传递

    在 OtaApp.c 中 、我写了一些行

    _i32 sl_extLib_OtaRun (void * pvOtaApp)
    {
    OtaApp_t * pOtaApp =(OtaApp_t *) pvOtaApp;
    OtaClient_t *pOtaClient =(OtaClient_t *) pOtaApp->pvOtaClient;
    OtaApp_statistics_t *pStatistics = pOtaApp->pStatistics;
    _i32状态;
    
    报告("\n \n Shashank\n \n");
    
    报告("sl_extLib_OtaRun: entry, state=%d\n", pOtaApp->state);
    
    报告("\n 服务器为%s \n"、pOtaApp->pOtaServerInfo->server_domain);
    
    
    报告("\n \n Shashank\n \n");
    
    switch (pOtaApp->state) 

    这里还打印垃圾、因此中间的数据丢失
    在调试和修改库时、我们没有触及任何源代码行

    此致

    Shashank

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

    Shashank,

    有这个全局变量 g_otaOptServerInfo 保存了所有值。

    我建议的是逐步进行并在全球范围内监测这一情况。

    OTAServerInfoSet()应将值设置为全局值。

    Shlomi

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

    您好、Shlomi、

    我对它进行了监控,是的,全局 g_otaOptServerInfo 在 OtaServerInfoSet()之后更新

    接下来如何做?

    此致

    Shashank

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只需继续调试中的步进、看看是什么线路导致它产生了 gibberish。
    您还可以探测存储器0x200246ec。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shlomi、

    我使用内存浏览器单步执行代码

    这里没有任何变化!!!

    它保持不变,但打印出来的服务器名称仍然是 gibbrish

    此致

    Shashank

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

    您好!

    在_i32 sl_extLib_OtaRun (void * pvOtaApp)内

    我添加了此行并重新编译了库

    报告("服务器域%p"、pOtaApp->pOtaServerInfo->server_domain 的地址);

    这指向其他某个位置0x20003038

    该位置的确切内容将打印在我的控制台上



    如下所示  


    此致
    Shashank

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

    抱歉、我上传了2张相同的图像

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

    您好!

    我对 OTA 示例也进行了相同的尝试、但我的方面还可以。

    不确定您的问题是什么。

    也许您可以查看映射文件并尝试了解它为什么会为您提供这个奇数地址。

    您可能有堆栈溢出。

    此致、

    Shlomi

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

    您好、Shlomi、

    如果存在堆栈溢出、则 CCS 会在调试和单步执行代码时发出正确的提示、对吧? 但这不是发生的。

    让我完全卸载 SDK 并重新安装、然后再次尝试运行它

    同样,当您导入项目时,您导入的是哪个项目,有操作系统或非操作系统示例? 您是否使用了与我相同的电路板?
    它是否为您提供了不适合内存警告的代码? 如果是,您指定了哪些位置?

    此致

    Shashank

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

    您好、Shlomi、

    已卸载 SDK 并重新安装 SDK 1.2

    已启用调试打印并注释掉中的清屏行  

    int DisplayTask (void *pvParameters)
    {
    //
    //清除屏幕
    //
    //消息("\033[2J\033[H\033[?25l");
    
    报告("\n\n");
    

    下面是控制台输出

    (一
    CC3200 OTA 更新应用程序
    (一
    
    
    
    应用程序版本 :0.0.0.0
    NWP 版本 :2.7.0.0.31.1.4.1.0.1.0.1.0.3.34
    
    Wifi 状态 :已连接到 OneWithKooki
    
    NTP 服务器 :dmz0.la-archdiocese.net
    NTP 服务器 IP :209.151.225.100
    
    GTM 时间 :2017年1月7日星期五当地
    时间07:22:52 (+05:30) :2017年1月7日星期五12:52:52
    
    OTA 更新状态 :按 SW3:更新或 SW2:恢复出厂设置
    
    
    
    
    (一
    CC3200 OTA 更新应用程序
    (一
    
    
    
    应用程序版本 :0.0.0.0
    NWP 版本 :2.7.0.0.31.1.4.1.0.1.0.1.0.3.34
    
    Wifi 状态 :已连接到 OneWithKooki
    
    NTP 服务器 :dmz0.la-archdiocese.net
    NTP 服务器 IP :209.151.225.100
    
    GTM 时间 :2017年1月7日星期五当地
    时间07:22:52 (+05:30) :2017年1月7日星期五12:52:52
    
    OTA 更新状态 :正在进行..._ReadStatFile:sl_FsOpen 中出现错误,status=-11
    sl_extLib_OtaRun:调用 OtaClient_ConnectServer
    
    
    
    OTA server=hAð`°PGI±ñÿ?¿OtaClient_ConnectServer:http_connect_server hAð`°PGI±ñÿ¿http_connect_server:Error Socket Connect、status=-111 OtaClient_connect_enue_connectr
    :_client_connect1和 http:_connect_r_r_r_connect_client_connect_port_rIdle
    
    
    
    
    
    (一
    CC3200 OTA 更新应用程序
    (一
    
    
    
    应用程序版本 :0.0.0.0
    NWP 版本 :2.7.0.0.31.1.4.1.0.1.0.1.0.3.34
    
    Wifi 状态 :已连接到 OneWithKooki
    
    NTP 服务器 :dmz0.la-archdiocese.net
    NTP 服务器 IP :209.151.225.100
    
    GTM 时间 :2017年1月7日星期五当地
    时间07:22:52 (+05:30) :2017年1月7日星期五12:52:52
    
    OTA 更新状态 :重试..._ReadStatFile 时出错:sl_FsOpen、status=-11
    sl_extLib_OtaRun:调用 OtaClient_OTA 服务器 OTA 服务器= hAð`°PGI±ñÿ?¿
    OtaClient_ConnectServer:HTTP_connect_server hAð`°PGI±ñÿ?¿
    Socket _connect_server:Error Socket、status=-111 OtaClient_Connect1、
    连接
    到 OS_connect_connect_R、空闲状态:_connect_connect_connect_r1r:_port_connect_connect_r_connect_connect_r_r_r1r:_connect_connect_connect_connect_r_r_r_r_connect_port_
    
    
    
    
    
    
    (一
    CC3200 OTA 更新应用程序
    (一
    
    
    
    应用程序版本 :0.0.0.0
    NWP 版本 :2.7.0.0.31.1.4.1.0.1.0.1.0.3.34
    
    Wifi 状态 :已连接到 OneWithKooki
    
    NTP 服务器 :dmz0.la-archdiocese.net
    NTP 服务器 IP :209.151.225.100
    
    GTM 时间 :2017年1月7日星期五当地
    时间07:23:03 (+05:30) :2017年1月7日星期五12:53:03
    
    OTA 更新状态 :重试..._ReadStatFile 时出错:sl_FsOpen、status=-11
    sl_extLib_OtaRun:调用 OtaClient_OTA 服务器 OTA 服务器= hAð`°PGI±ñÿ?¿
    OtaClient_ConnectServer:HTTP_connect_server hAð`°PGI±ñÿ?¿
    Socket _connect_server:Error Socket、status=-111 OtaClient_Connect1、
    连接
    到 OS_connect_connect_R、空闲状态:_connect_connect_connect_r1r:_port_connect_connect_r_connect_connect_r_r_r1r:_connect_connect_connect_connect_r_r_r_r_connect_port_
    
    
    
    
    
    
    (一
    CC3200 OTA 更新应用程序
    (一
    
    
    
    应用程序版本 :0.0.0.0
    NWP 版本 :2.7.0.0.31.1.4.1.0.1.0.1.0.3.34
    
    Wifi 状态 :已连接到 OneWithKooki
    
    NTP 服务器 :dmz0.la-archdiocese.net
    NTP 服务器 IP :209.151.225.100
    
    GTM 时间 :2017年1月7日星期五当地
    时间07:23:03 (+05:30) :2017年1月7日星期五12:53:03
    
    OTA 更新状态 :重试..._ReadStatFile 时出错:sl_FsOpen、status=-11
    sl_extLib_OtaRun:调用 OtaClient_OTA 服务器 OTA 服务器= hAð`°PGI±ñÿ?¿
    OtaClient_ConnectServer:HTTP_connect_server hAð`°PGI±ñÿ?¿
    Socket _connect_server:Error Socket、status=-111 OtaClient_Connect1、
    连接
    到 OS_connect_connect_R、空闲状态:_connect_connect_connect_r1r:_port_connect_connect_r_connect_connect_r_r_r1r:_connect_connect_connect_connect_r_r_r_r_connect_port_
    
    
    
    
    
    
    (一
    CC3200 OTA 更新应用程序
    (一
    
    
    
    应用程序版本 :0.0.0.0
    NWP 版本 :2.7.0.0.31.1.4.1.0.1.0.1.0.3.34
    
    Wifi 状态 :已连接到 OneWithKooki
    
    NTP 服务器 :2.in.pool.ntp.org
    NTP 服务器 IP :209.151.225.100
    
    GTM 时间 :NTP 服务器错误。 正在重试...
    本地时间(+05:30) :-
    
    OTA 更新状态 :重试..._ReadStatFile 时出错:sl_FsOpen、status=-11
    sl_extLib_OtaRun:调用 OtaClient_OTA 服务器 OTA 服务器= hAð`°PGI±ñÿ?¿
    OtaClient_ConnectServer:HTTP_connect_server hAð`°PGI±ñÿ?¿
    Socket _connect_server:Error Socket、status=-111 OtaClient_Connect1、
    连接
    到 OS_connect_connect_R、空闲状态:_connect_connect_connect_r1r:_port_connect_connect_r_connect_connect_r_r_r1r:_connect_connect_connect_connect_r_r_r_r_connect_port_
    
    
    
    
    
    
    (一
    CC3200 OTA 更新应用程序
    (一
    
    
    
    应用程序版本 :0.0.0.0
    NWP 版本 :2.7.0.0.31.1.4.1.0.1.0.1.0.3.34
    
    Wifi 状态 :已连接到 OneWithKooki
    
    NTP 服务器 :2.in.pool.ntp.org
    NTP 服务器 IP :139.59.45.40
    
    GTM 时间 :NTP 服务器错误。 正在重试...
    本地时间(+05:30) :-
    
    OTA 更新状态 :重试..._ReadStatFile 时出错:sl_FsOpen、status=-11
    sl_extLib_OtaRun:调用 OtaClient_OTA 服务器 OTA 服务器= hAð`°PGI±ñÿ?¿
    OtaClient_ConnectServer:HTTP_connect_server hAð`°PGI±ñÿ?¿
    Socket _connect_server:Error Socket、status=-111 OtaClient_Connect1、
    连接
    到 OS_connect_connect_R、空闲状态:_connect_connect_connect_r1r:_port_connect_connect_r_connect_connect_r_r_r1r:_connect_connect_connect_connect_r_r_r_r_connect_port_
    



    此致

    Shashank

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

    你好、Shlomi 终于解决了这个问题

    这确实是 RAM 问题

    根据 blinky 示例中的 cmd 文件修改如下

    服务器名称正在正确打印

    /*针对支持240KB (256-16)应用 RAM 大小的 CC3200 ES 1.33 (XCC3200JR)(CC3200R1M2)修改了 RAM 块*/

      SRAM_CODE (rwx):origin = 0x20004000,length = 0x19000 // 100KB */

      SRAM_DATA (RWX):origin = 0x2001D000,length = 0x23000 // 140 KB */

    我将打开一个新主题、以解决更多问题

    谢谢

    Shashank