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.

[参考译文] CC3100MOD:cc3100MOD 和定制板- sl_get()返回 API_ABLETED

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board---sl_get-return-api_aborted

器件型号:CC3100MOD
主题中讨论的其他器件: CC3100CC3200UNIFLASHCC31XXEMUBOOST

您好!

我尝试向系统添加 WiFi 功能。 我有一个自定义电路板、其中运行 Kinetis K64微处理器和 MQX RTOS。

读取自定义电路板上集成的 CC3100MOD 模块的当前固件版本时遇到问题。 我没有将任何固件刷写到 CC3100模块中,但我从产品线指南中了解到,该模块上应该已经有一些固件。 我是否正确?

我使用 UART 通信与 WiFi 模块通信。

在引导加载程序模式下进行通信时、我成功地在模块和 MCU 之间交换了消息。 对于 get_version 命令、我接收来自 WiFi 模块的下一个响应:(BL:0.4.0.2、NWP:0.0.0、Mac:0.0.0、phy:0.0.0、chip:0.0.0)

sl_Start()返回 Role_Unknown

sl_get()返回 API_ABORTED

我没有移植操作系统功能,因此我使用了 SL 同步功能。 我的 WiFi 测试代码在创建任何用户定义的任务之前启动。

感谢你的任何帮助。

此致、

Stefan

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

    下面是代码片段:

    void wifi_test_func()
    {
        sl_Start(NULL,NULL,NULL);

        SlVersionFull         ver;
            _u8                 pConfigOpt, pConfigLen;
        _i32                 retVal = 0;

        /* read the version and print it on terminal */
        pConfigOpt = SL_DEVICE_GENERAL_VERSION;
        pConfigLen = sizeof(SlVersionFull);
        retVal = sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&pConfigOpt,&pConfigLen,(_u8 *)(&ver));

        if(retVal < 0)
        {
            sprintf(printBuffer, "\r\nReading version failed. Error code: %d\r\n", (int)retVal);
            printf("\n%s", printBuffer);
        }

        if (ver.ChipFwAndPhyVersion.ChipId & 0x10)
            printf("\r\nThis is a CC3200");
        else
            printf("\r\nThis is a CC3100");

        if (ver.ChipFwAndPhyVersion.ChipId & 0x2)
            printf("Z device\r\n");
        else
            printf("R device\r\n");

        sprintf(printBuffer, "NWP %d.%d.%d.%d\n\rMAC 31.%d.%d.%d.%d\n\rPHY %d.%d.%d.%d\n\r\n\r", \
                (_u8)ver.NwpVersion[0],(_u8)ver.NwpVersion[1],(_u8)ver.NwpVersion[2],(_u8)ver.NwpVersion[3], \
                     (_u8)ver.ChipFwAndPhyVersion.FwVersion[0],(_u8)ver.ChipFwAndPhyVersion.FwVersion[1], \
                     (_u8)ver.ChipFwAndPhyVersion.FwVersion[2],(_u8)ver.ChipFwAndPhyVersion.FwVersion[3], \
                     ver.ChipFwAndPhyVersion.PhyVersion[0],(_u8)ver.ChipFwAndPhyVersion.PhyVersion[1], \
                     ver.ChipFwAndPhyVersion.PhyVersion[2],(_u8)ver.ChipFwAndPhyVersion.PhyVersion[3]);

        printf("\n%s", printBuffer);

    }

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

    您好!

    代码看起来正常。

    您对模块的理解是正确的、但最好使用最新的服务接收器对器件进行编程、因为您不知道模块内闪存的内容。

    对器件进行编程后是否可以重试?

    从获取版本的全部0到角色未知这一事实、可能是器件根本没有编程(这就是我要求重新编程的原因)、或者您为  Kinetis 执行的移植操作有问题。

    • 您使用的是什么 UART 时钟和配置?
    • 您是否在 user.h 头文件中应用了所有移植步骤?
    • Freescale Kinetis 通常使用大端字节序、虽然 simplelink 驱动程序应该自动处理、但可能会弹出问题

    下一步是探测 UART 线路并了解线路上的回波。

    此致、

    Shlomi

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

    您好、Shlomi、

    感谢你的答复。

    [引用 userid="53835" URL"~/support/wireless-connectivity/wi-fi-group/wii/fi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_aborted/4076870#4076870"]您正在使用什么 UART 时钟和报价单?]

    -我在文档中发现,默认情况下使用两种波特率:921600bps 和115200bps。 目前、我使用921600 bps。 我应该何时使用115200?

    [引用 userid="53835" URL"~/support/wireless-connectivity/wi-fi-group/wii/fi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_aborted/4076870#4076870"]您是否在 user.h 头文件中应用了所有引脚步骤[?]

    -是,但移植操作系统步骤除外。

    [引用 userid="53835" URL"~/support/wireless-connectivity/wi-fi-group/wii/fi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_aborted/4076870#4076870"]是否可以在对器件进行编程/报价后重试?]

    -我将在刷写器件后返回给您。

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

    您好!

    使用的波特率没有限制。如果主机处理器有一些限制、您可以始终通过 API 更改波特率、但这并不是您的用例失败的原因。

    请在重新编程器件时告诉我。

    正如我提到过的、如果您仍然遇到问题、最好是探测 UART 线并检查芯片中的信号。

    此致、

    Shlomi

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

    您好!

    我尝试刷写模块。 我成功格式化了1MB 模块闪存。 现在、当我调用 sl_Start()时、我遇到了一个 Role_AP_ERR 错误。

    我无法将固件刷写到模块中。 当我调用函数 sl_FsOpen()时,我得到错误代码 API_ABORTED。

    移植:

    -我没有包括套接字软件包、NET_CFG 软件包和套接字 API 软件包

    -我使用静态内存模型

    -我实现所有通信和中断功能。 我检查以下功能:

    - MCU 和模块之间的消息被成功发送和接收。

    - IRQ ISR 已成功注册并被调用。

    -我没有移植操作系统。

    整个过程的信号图:

    Signal diagram

    该图的说明:

    第一个 MCU TX 线被置为低电平。 然后将 NHIB 线路上拉为高电平。 在收到来自 cc3100模块的第一个 ACK 后。

    从发送模块格式命令后接收到 ACK。

    对于该命令、MCU 在大约1秒后再接收一个 ACK。 之后、MCU 向模块发送断开连接消息、之后 MCU 再次收到 ACK。

    在调用此 sl_Start()之后,N2HIB 行上有一个大约4.55s 的低电平。

    这是一个代码片段:

    void wifi_test_func()
    {
    	cc3100_uart_init();
    
    	enter_bl_mode();
    	bl_format_module();
    	exit_bl_mode();
    
    	_time_delay(10);
    
    	_i32         		retVal = 0;
    	retVal = sl_Start(0, 0, 0);
    	printf("\nsl_Start return code: %d", retVal);
    
    	//ReadVersion();
    
    	/* create/open the servicepack file for 128KB with rollback, secured and public write */
    	printf("\nOpenning ServicePack file");
        _i32         		fileHandle = -1;
    
        _u32        		Token = 0;
        //_i32         		retVal = 0;
        _u32         		remainingLen, movingOffset, chunkLen;
    
    	retVal = sl_FsOpen("/sys/servicepack.ucf",
    			FS_MODE_OPEN_CREATE(LEN_128KB, _FS_FILE_OPEN_FLAG_SECURE|_FS_FILE_OPEN_FLAG_COMMIT|_FS_FILE_PUBLIC_WRITE),
    			&Token, &fileHandle);
    	if(retVal < 0)
    	{
    		sprintf(printBuffer, "\r\nCannot open ServicePack file. Error code: %d", (int)retVal);
    		printf(printBuffer);
    		return;
    	}
    
    	/* program the servicepack */
    	printf("\nProgramming ServicePack file");
    
    	remainingLen = sp_1_0_1_11_2_10_0_0_ucf_len;
    	movingOffset = 0;
    	chunkLen = (_u32)find_min(CHUNK_LEN, remainingLen);
    
    	/* Flashing must be done in 1024 bytes chunks */
    	do
    	{
    		retVal = sl_FsWrite(fileHandle, movingOffset, (_u8 *)&sp_1_0_1_11_2_10_0_0_ucf[movingOffset], chunkLen);
    		if (retVal < 0)
    		{
    			sprintf(printBuffer, "\r\nCannot program ServicePack file. Error code: %d", (int)retVal);
    			printf(printBuffer);
    			return ;
    		}
    
    		remainingLen -= chunkLen;
    		movingOffset += chunkLen;
    		chunkLen = (_u32)find_min(CHUNK_LEN, remainingLen);
    	}while (chunkLen > 0);
    
    	/* close the servicepack file */
    	printf("\nClosing ServicePack file");
    	retVal = sl_FsClose(fileHandle, 0, (_u8 *)sp_1_0_1_11_2_10_0_0_ucf_signed_bin, sp_1_0_1_11_2_10_0_0_ucf_signed_bin_len);
    
    	if (retVal < 0)
    	{
    		sprintf(printBuffer, "\r\nCannot close ServicePack file. Error code: %d", (int)retVal);
    		printf(printBuffer);
    
    		return;
    	}
    
    	printf("\nServicePack successfuly programmed\r\n\r\n");
    
    
    
    	printf("Restarting CC3100... ");
    	/* Stop the CC3100 device */
    	sl_Stop(0xFF);
    
    	/* Initializing the CC3100 device */
    	sl_Start(0, 0, 0);
    
    	ReadVersion();
    
    }

    此致、

    Stefan

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

    您好!

    不确定为何从代码而不是从 Uniflash 发送格式命令。 可以尝试一下吗?

    我提出这一问题的原因是、如果格式命令正常、我希望在几秒钟后获得一个 ACK、因为此命令需要时间来擦除1MB 的闪存、但我看不到它。

    您遇到的行为表明缺少文件系统、这可能是由于无法格式化串行闪存造成的。

    您是否还能显示 BL_FORMAT_MODULE()的实现和进入/退出 BL 模式?

    Shlomi

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

    您好!

    我从文档中了解到我需要 Uniflash 的 CC31XXEMUBOOST 套件、而我没有该套件。 因此、我在本例中使用了一个主机编程示例。 我的 cc3100模块集成在定制板上。 是否可以在不使用 EMUBOOST 套件的情况下使用 Uniflash 工具?

    代码段:

    void enter_bl_mode()
    {
    		sl_DeviceDisable();
    		sl_DeviceEnablePreamble();
    		sl_IfOpen(NULL,NULL);
    		cc3100_uart_set_break_signal();
    		sl_DeviceEnable();
    
    		wait_ack();
    		cc3100_uart_stop_break_signal();
    
    }

    void bl_format_module()
    {
    	  printf("\r\nFormatting the device to 1MB");
    	  sl_IfWrite(NULL, formatCommand[size1MB], sizeof(formatCommand[size1MB]));
    	  wait_ack();
    
    }

    void exit_bl_mode()
    {
    	sl_IfWrite(NULL, disconnectCommand, sizeof(disconnectCommand));
    }

    一些功能说明:

    - WAIT_ACK ()-这是在 MCU 接收 ACK (0xCC00)时结束的循环

    - cc3100_UART_SET_break_signal ()-此函数将 UART TX 线路设置为低电平。

    - cc3100_UART_STOP_break_signal ()-重新启动 UART TX 引脚功能、TX 线路恢复为高电平

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

    您好!

    感谢您提供相关信息。 只要您可以通过相同的 UART 线(通过电平转换器)从 PC 连接到器件、就可以使用 Uniflash。

    我之所以要求 Uniflash、是因为它比主机编程更可靠、并且可以从 Uniflash 执行更多操作、例如读取文件系统。

    在任何情况下、如果存在问题、我还可以建议从内部网络处理器中提取日志、这不是很难的。 通过这种方法、我可以查看文件系统是否存在、并在实际格式操作期间探测过程。

    我在 https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/556699/sl_fsopen-fails-with--30-sl_fs_err_no_available_blocks/2039012#2039012上的一篇文章中介绍了该过程

    只需忽略仅适用于 CC3200的多路复用、所有其他功能都是相同的。

    Shlomi

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

    您好、Shlomi、

    我尝试您的建议。 我先设置格式、然后闪存 cc3100模块。 此外、我在模块文件系统创建后以及将服务包映像刷写到模块中之后读取该系统。 从 Uniflash 工具获取的日志:

    • 设备格式化后的文件系统日志:

    [23:51:57] INFO: --- please restart the device ---
    [23:52:02] INFO: connection succeeded
    [23:52:02] INFO: getting storage list
    [23:52:02] INFO: > Executing Operation: Init
    [23:52:02] INFO: reading version info
    [23:52:02] INFO: DEVICE CC3100 ES1.33
    [23:52:02] INFO: reading version info
    [23:52:04] INFO: > Executing Operation: ListFileSystem
    [23:52:04] INFO: extracting file system information...
    [23:52:05] INFO: file start size fail total size filename
    [23:52:05] INFO: index block [BLKs] safe [BLKs]
    [23:52:05] INFO: ----------------------------------------------------------------------------
    [23:52:05] INFO: N/A 0 5 N/A 5 FATFS
    [23:52:05] INFO: 4 5 5 yes 10 /tmp/phy.cal
    [23:52:05] INFO:

    Flash usage
    [23:52:05] INFO: -------------------------
    [23:52:05] INFO: used space: 15 blocks
    [23:52:05] INFO: free space: 241 blocks
    [23:52:05] INFO: memory hole: [15-255]
    [23:52:05] INFO: > Executing Operation: Disconnect
    [23:52:05] Operation ListFileSystem returned

    •  I 格式512kb。 该过程的信号图:

    Format signal diagram

    • 模块闪存日志和文件系统日志:

    [00:17:55] INFO: > Executing Operation: ServicePackProgramming
    [00:17:55] INFO: Path to the service pack file: /home/stefansdjordjevic/Documents/RFIDProj_docs/WiFi/CC3100_CC3200_ServicePack_1.0.1.11-2.10.0.0/servicepack_1.0.1.11-2.10.0.0.bin
    [00:17:55] INFO: reading version info
    [00:17:55] INFO: CC3100R Device detected.
    [00:17:55] INFO: NWP/MAC/PHY Version from Service Pack:
    [00:17:55] INFO:  NWP Patch version: 2.10.0.0
    [00:17:55] INFO:  MAC Patch version: 1.5.0.2
    [00:17:55] INFO:  PHY Patch version: 1.0.3.37
    [00:17:55] INFO: reading version info
    [00:17:55] INFO: DEVICE CC3100 ES1.33
    [00:17:55] INFO: reading version info
    [00:17:56] INFO: Downloading file "/sys/servicepack.ucf" with size 33700
    [00:17:59] INFO:

    New Token is 0x30E149EF
    [00:17:59] INFO: Download complete
    [00:17:59] INFO: > Executing Operation: Disconnect
    [00:17:59] Operation ServicePackProgramming returned.
    [00:18:33] Begin ListFileSystem operation.
    [00:18:34] INFO: > Executing Operation: Connect
    [00:18:36] WARNING: flush succeeded
    [00:18:36] INFO: setting break signal
    [00:18:36] INFO: --- please restart the device ---
    [00:18:41] INFO: connection succeeded
    [00:18:41] INFO: getting storage list
    [00:18:41] INFO: > Executing Operation: Init
    [00:18:41] INFO: reading version info
    [00:18:41] INFO: DEVICE CC3100 ES1.33
    [00:18:41] INFO: reading version info
    [00:18:43] INFO: > Executing Operation: ListFileSystem
    [00:18:43] INFO: extracting file system information...
    [00:18:44] INFO:     file    start    size    fail    total size    filename
    [00:18:44] INFO:     index    block    [BLKs]    safe    [BLKs]
    [00:18:44] INFO: ----------------------------------------------------------------------------
    [00:18:44] INFO:     N/A    0    5    N/A    5        FATFS
    [00:18:44] INFO:     4    5    5    yes    10        /tmp/phy.cal
    [00:18:44] INFO:     6    15    33    yes    66        /sys/servicepack.ucf
    [00:18:44] INFO:

        Flash usage
    [00:18:44] INFO: -------------------------
    [00:18:44] INFO: used space:    81 blocks
    [00:18:44] INFO: free space:    175 blocks
    [00:18:44] INFO: memory hole:    [81-255]
    [00:18:44] INFO: > Executing Operation: Disconnect
    [00:18:44] Operation ListFileSystem returned.

    我们能否从这些日志中得出结论、即器件现在已刷写新的固件?

    但是、我仍然有同样的问题。 我仍然从 sl_Start 调用中获取 Role_UNKONW 错误、从 sl_get 调用中获取 API_ABLETED 错误。 这两个 API 调用的信号图在模块被格式化和模块被闪存时是相同的:

    API call signal diagram

    [引用 userid="53835" URL"~/support/wireless-connectivity/wi-fi-group/wii/fi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_aborted/4084505#4084505"]

    我还可以建议从内部网络处理器中提取日志、这不是很难的。 通过这种方法、我可以查看文件系统是否存在、并在实际格式操作期间探测过程。

    我在 https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/556699/sl_fsopen-fails-with--30-sl_fs_err_no_available_blocks/2039012#2039012上的一篇文章中介绍了该过程

    [/报价]

    我查看了 cc3200QFN 的引脚图和 cc3100MOD 的引脚图。 我发现您提到的用于网络记录的引脚(引脚#62)是 cc3200QFN 模块上的 UART TX 引脚。 从我在 CC3100MOD 的引脚映射中看到的网络日志记录没有相同的引脚、cc3100MOD 模块上没有其他 TX 引脚。

    感谢你的帮助、

    Stefan

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

    您好!

    至少从 Uniflash 的角度来看、我可以看到文件系统已创建。

    为什么使用512MB 而不是1MB (模块应该有1MB)?

    我在最后一个逻辑捕获中没有看到这两个 API。 我希望对于 sl_Start(),例如会有 NHIB 切换。

    是否可以获得逻辑的原始捕获而不是屏幕捕获?

    对于 NWP 记录器、CC3100MOD 的引脚应为#52。  

    此致、

    Shlomi

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

    您好!

    [引用 userid="53835" URL"~/support/wireless-connectivity/wi-fi-group/wii/wi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_aborted/4110703#4110703"]您为什么不使用512MB/1MB 模块?]

    -我将格式设置为512kb,因为我不确定模块是否有1MB 内存,所以我选择了更小的大小。 我知道我可以刷写模块、即使我用更小的尺寸格式化它也是如此。

    [引用 userid="53835" URL"~/support/wireless-connectivity/wi-fi-group/wii/wi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_abort/4110703#411052"]作为 CC100MOD 引脚的 NWP 引脚的记录器、应该是#CC100MOD 引脚。  [/报价]

    -由于我的 PCB 设计、我很难访问您提到的引脚。 如果有必要、我将尝试到达该引脚。

    [引用 userid="53835" URL"~/support/wireless-connectivity/wi-fi-group/wi-fi-fi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_aborted/4110703#4110703"]是否可以获取原始捕捉逻辑、而不是获取原始捕捉/捕捉逻辑?]

    -我的 NHIB 和 IRQ 引脚未正确连接至逻辑分析仪。 很抱歉捕获错误。 这是逻辑分析仪的原始捕获:

    e2e.ti.com/.../rec01.zip

    感谢你的帮助、

    Stefan

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

    我执行了1MB 格式、然后将映像刷写到模块中。 之后、我尝试我的代码、我从逻辑分析仪获得了相同的结果。

    Uniflash 日志: e2e.ti.com/.../Uniflash_5F00_logs.zip

    针对格式、闪存和列表文件系统 Uniflash 操作的逻辑分析仪捕捉: e2e.ti.com/.../Logic.zip

    此致、

    Stefan

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

    如何打开这些逻辑文件?

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

    您可以使用 Salea 应用程序打开它。 我将在此处附上每次采集的 csv 文件: e2e.ti.com/.../Logic_5F00_CSV.zip

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

    您可以使用 Salea 应用程序打开它。 我将在此处附上每次采集的 csv 文件: e2e.ti.com/.../3808.Logic_5F00_CSV.zip

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

    谢谢、

    这种调试方式真的很难。

    如果您可以使 NWP 日志正常工作、那就更好了。

    您使用的是 Uniflash 版本? 您可以在“帮助”->“关于”下看到它

    此外、您能否在 Uniflash 中打开额外的调试? 您可以在窗口->首选项下进行选择。 然后选择 Uniflash Preferences 并将"Print out additional debug..."标记为

    我将继续查看逻辑日志。

    Shlomi

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

    在 NWP 阶段之前的另一个选项,您还可以在调用失败的 sl_Start()时捕获这些行。

    我可能会看到器件出了问题。

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

    我使用的是 uniflash v3.4.0。 安装 v3.4.1时出现问题,因此我安装此版本。 我正在使用 Linux POPOS。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [~引语 userid="518126" URL"支持/无线连接/wi-fi-group/wii/fi-fi-forum/1100091/cc3100mod-cc3100mod-and-custom-board--sl_get-return-api_aborted/4118498#4118498"]

    -我的 NHIB 和 IRQ 引脚未正确连接至逻辑分析仪。 很抱歉捕获错误。 这是逻辑分析仪的原始捕获:

    rec01.zip

    [/报价]

    -这是调用 sl_Start()和 sl_get()时 MCU 和 WIFI 模块之间通信的捕获。 wifi 模块重新启动时是否应该发送内容、或者 MCU 是否应该先向 wifi 模块发送内容?

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

    这是包含其他调试日志的 uniflash 日志: e2e.ti.com/.../uniflash_5F00_debug.zip

    此致、

    Stefan

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

    您好!

    Uniflash 日志看起来正常。

    对于 UART,slStart()打开芯片组,然后进行初始化。 完成后、器件应发送 init_complete 事件。 与 SPI 不同,主机不需要拉取消息,但消息应从器件驱动,然后应释放 sl_Start()。

    在您的情况下、我可以看到 RTS 和 CTS (不确定哪个来自主机、哪个来自器件)都是高电平、这意味着流控制显示为"未准备好接收数据"、这可能是器件未发送数据的原因。

    请您检查一下吗?

    Shlomi