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.

[参考译文] CC3551E:向 network_terminal 添加(未调用)代码会阻止 WLAN 启动-"fw is stack"

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1592640/cc3551e-adding-uncalled-code-to-network_terminal-prevents-wlan-to-start---fw-is-stuck

器件型号: CC3551E

好的,这是我觉得解释应该是在我的鼻子下面的那些职位之一,但这里去了。

这是在上 CC35x1 LaunchPad  (Rev E3) 并且我已经导入了“ network_terminal_CC35X1 _ LAUNCHXL_freertos_ticlang “来自 SimpleLink Wi-Fi SDK (9_19_00_02_ea)(TI Clang v4.0.4.LTS)。

通信  香草 来源 、它将生成、运行、和 “WLAN_START"正常“正常工作 。  到目前为止、一切都很好。

当我 添加以下命令/代码 (只需添加, 不执行 ) 到源、构建和 运行“WLAN_START",“,始终、始终失败、并显示“FW is Stuck “

    用户:WLAN_START 
     
     ——Wlan_Start——
     设置默认连接策略参数
     
    CME:OSI_ThreadCreate
    CME_Thread:该线路已启动并正在运行
     cmeMngInit: ConnectionPolicy: autostart=0、FastConnect=0、OpenAP=0、ShouldConnectToAnyP2P=0、fastPersistent=0
    Event_Thread:该服务器正在运行
     
    正在开始软件下载
     
    收到 ROM 初始化完成
     
    FW Event_Call 处理程序:收到一般错误事件! 固件卡住
     
    尝试获取 FW 崩溃日志。
    尝试读取崩溃固件日志超时
    发送到 wlanDispatcherSendEvent
     
    获得了 wlanDispatcherSendEvent
     
    【处理程序】WLAN_EVENT_FW_CRASH FW 已崩溃

也就是说、我除了添加函数和构建之外什么都没有做。 它没有在运行。 它就在构建中、围绕地图/输出文件的内容展开。

If I then 删除部分内容 (/足够数量) 未使用的代码 (例如双命令)、 “WLAN_START"栩“栩栩如生

它使我思考链接器文件中是否缺少某些“重要“的内容、而这些内容应该确保正确的放置/对齐?

(强调一下,我还没有把“linker.cmd"一字“一字)一字)


添加了代码 — network_terminal.c:

int32_t cmdPowerPolicyCallback(void *arg);

cmdAction_t gCmdList[] =
{
// All the existing commands here...
#endif // CC35XX

// New command:
{ "power", cmdPowerPolicyCallback, NULL},

#ifdef TEST_CMD
/* test */
{ testStr,              cmdtestCallback,            printWlanStopUsage      }
#endif
};

int32_t cmdPowerPolicyCallback(void *arg)
{
    static bool enableSleep = true;

    if (enableSleep)
    {
        Report("Setting doSLEEP policy...\n");
        Power_setPolicy(PowerWFF3_sleepPolicy);
    }
    else
    {
        Report("Setting doWFI policy...\n");
        Power_setPolicy(PowerWFF3_doWFI);
    }

    enableSleep = !enableSleep;

    return 0;
}


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

    尊敬的 Martin:

    除非供应商映像大小超出限制(通常为 1024 KB)、否则不会出现此问题。 我们在最后看到、当供应商映像太大时、添加内容会导致无法正确调试器件。 一旦不必要的事情被注释掉,一切都恢复了正常。

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

    尊敬的 BLiu:

    好吧、这可能是图像尺寸问题、但我不太确定-  我可以在图像中添加更多代码 ,然后突然 “WLAN_START"再次“再次工作。  此外、您可以参阅调试- 这是一个没有调试的问题

    将其归结为上述简单步骤的原因是、您 (TI) 很容易与之相关(并可能尝试自己)。

    此外、我可以发现、唯一提到的映像大小限制与启用 OTA 有关:  

    启用此复选框将为第二个容器创建空间、但它会将每个容器映像大小配置为原始 2752KB 的 1078KB

    [文件://C:/ti/simplelink_wifi_sdk_9_19_00_02_ea/docs/simplelink_mcu_sdk/html/cc35xx/ota.html #enable-OTA]

    未经修改的 network_terminal 配置为不使用 OTA、因此我完全在 2752kB 内、仍在另一个提到的 1078kB 限制内。

    “WLAN_START"从“从工作到失败再到工作的示例、只需添加更多代码:

    1. vanilla network_terminal 的映射文件,其中“WLAN_START"工作“工作:

    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      TCM_CRAM_NON_SECURE   00000000   00007fff  000004dc  00007b23  RW X
      CRAM_NON_SECURE       08000000   0000ffff  00000000  0000ffff  RW X
      FLASH_INT_VEC         10000000   00002400  00002114  000002ec  RW X
      FLASH_NON_SECURE      10002400   001e4c00  0010c57c  000d8684  R  X
      TCM_DRAM_NON_SECURE   20000000   0001ffff  0001f770  0000088f  RW  
      DRAM_NON_SECURE       28000000   00037fff  00037f40  000000bf  RW  
      CONNECTIVITY_SHARED_M 2803ff00   000000ff  00000084  0000007b  RW  
      LOG_DATA              90000000   00040000  00000000  00040000  R   
      LOG_PTR               94000008   00040000  00000000  00040000  R   
    

    即闪存使用:1.107.600 字节(content/primary_dvendor_image.flashready.bin:1.104.520 字节)

    2.添加“电源“命令行,如前所述,并使固件加载崩溃/卡住:

    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      TCM_CRAM_NON_SECURE   00000000   00007fff  000004dc  00007b23  RW X
      CRAM_NON_SECURE       08000000   0000ffff  00000000  0000ffff  RW X
      FLASH_INT_VEC         10000000   00002400  00002114  000002ec  RW X
      FLASH_NON_SECURE      10002400   001e4c00  0010cb0c  000d80f4  R  X
      TCM_DRAM_NON_SECURE   20000000   0001ffff  0001f788  00000877  RW  
      DRAM_NON_SECURE       28000000   00037fff  00037f40  000000bf  RW  
      CONNECTIVITY_SHARED_M 2803ff00   000000ff  00000084  0000007b  RW  
      LOG_DATA              90000000   00040000  00000000  00040000  R   
      LOG_PTR               94000008   00040000  00000000  00040000  R   
    

    闪存使用量:1.109.024 字节(content/primary_dvendor_image.flashready.bin:1.105.944 字节)  

    3. 会添加一些代码 此处和此处(一些 Report() 输出) 使 “WLAN_START"再次“再次正常工作

    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      TCM_CRAM_NON_SECURE   00000000   00007fff  000004dc  00007b23  RW X
      CRAM_NON_SECURE       08000000   0000ffff  00000000  0000ffff  RW X
      FLASH_INT_VEC         10000000   00002400  00002114  000002ec  RW X
      FLASH_NON_SECURE      10002400   001e4c00  0010cbcc  000d8034  R  X
      TCM_DRAM_NON_SECURE   20000000   0001ffff  0001f788  00000877  RW  
      DRAM_NON_SECURE       28000000   00037fff  00037f40  000000bf  RW  
      CONNECTIVITY_SHARED_M 2803ff00   000000ff  00000084  0000007b  RW  
      LOG_DATA              90000000   00040000  00000000  00040000  R   
      LOG_PTR               94000008   00040000  00000000  00040000  R   
    

    闪存使用量: 1.109.216 字节(增加)(content/primary_dvendor_image.flashready.bin:1.106.136 字节)  

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

    尊敬的 Martin:

    我已成功重新创建您的问题、并将在旁边收集固件日志、以查看可能是什么问题。  

    感谢您的耐心。

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

    尊敬的 Martin:

    我在内部了解到、只有 Rev E3 板上使用与之兼容的 SDK 时、这个问题很明显。 您是否可以改用 9.20 SDK 以及兼容板(Rev E4 或更高版本)? 我们建议客户也这样做、我们有一份迁移指南来帮助您。  

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

    尊敬的 BLiu:

    感谢您的回复/更新。 我将尝试持有 Rev. E4 板Thumbsup

    Martin

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

    对此记录、兼容 Rev E3 的 SDK 不会有更新的版本、只有 Rev E4(或更高版本)的版本。

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

    你好 BLiu 

    请随时向我发送所述的迁移指南。 我现在已经拿到了 Rev. A 电路板的手。

    BR、
    Martin

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

    尊敬的 Martin:

    恭喜您获得新电路板。 同时、9.19 SDK 用户指南中应该有迁移指南。

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

    这是否也适用于 9.20 SDK?

    说到 9.20 SDK、实际上缺少 CCS 设置指南。  

    阅读 20.4.0 的发行说明、可以看到 CC35xx 可以无缝集成。 但我还无法刷写或调试任何内容... 但也许我应该把它带到另一个线程。  

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

    你(们)好 是的、您应该将该主题移到另一个主题。 现在关闭这个。 谢谢。