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.

[参考译文] CC3135MOD:在 sl_start 后 sl_api_aborted (-2005)

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1224905/cc3135mod-sl_api_aborted--2005-after-sl_start

器件型号:CC3135MOD
主题中讨论的其他器件: CC3100CC3135、CC3100MOD

您好!

我们正在尝试将 CC3135MOD 主机驱动程序移植到 STM32F429 MCU 上、而该 MCU 没有 RTOS 和多线程。

我们在 SDK 5.20.00.06版中使用 sp_4.11.0.0_3.7.0.1_3.1.0.26.bin 对 CC3135MOD 进行了编程。

借助 SWRU455m 第19章移植指南和 E2E 论坛中的其他主题、我们修改了 user.h、nortos.c/h 文件。

使用 sl_Start 运行代码后、我们从 SPI 行获得以下内容。

SPI_Open

SPI_Open 完成

SPI_Write 4 65 87 78 56

SPI_READ 8 00 00 00 00 00 00 00 00

SPI_READ 4 BC DC CD AB

SPI_READ 4 08 00 14 00

SPI_READ 8 24 00 04 06 00 00 00 00

SPI_READ 12 2B 57 00 08 2D 57 00 08 2F 57 00 08

sl_Start 失败-2005

这些 SPI_Read 是否来自 CC3135MOD 的正确响应?

2.如果 SPI 工作正常,请告知我在何处解决此问题?

我们将在几周内修复这些问题、并反复查看用户手册、移植指南和 E2E 论坛以及 nortos 的 CC3100示例代码、

但无法找到解决这些问题的线索。

为了方便您查看、我附上了我的 user.h、nortos.h 和 c 文件。

e2e.ti.com/.../0638.user.he2e.ti.com/.../0250.nonos.ce2e.ti.com/.../1526.nonos.h

谢谢。

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

    尊敬的 Mark:

    让我和团队讨论一下并与您联系。

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

    您好!

    前几个事务看起来正常。 我可以看到 SYNC/CNYS 以及操作码和长度参数。

    意外的字节流是最后一个、即  SPI_READ 12 2B 57 00 08 2D 57 00 08 2F 57 00 08。

    我希望看到类似以下内容: SPI_READ 0x11 0x11 0x11 0x11 0x00 0x00 0x00 0x30 0x00 0x00 0x00 0x00

    前4个字节是工作站的状态(如果设置了 AP 角色、则应是一系列0x33)、然后是 CC3135的芯片 ID、最后是禁止。

    如果在 SPI 线路上捕捉到该信号、我就不知道它与移植有何关联。

    什洛米

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

    尊敬的 Shlomi:

    您是说这个问题与移植无关吗?

    实际上、我们下载了最新的 SDK ver7.10.00.13、并更新了服务包以及源代码、但仍然面临同样的问题。

    所以、我们不知道还需要做些什么呢?

    谢谢

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

    您好!

    我不希望数据包开始时正常、然后显示损坏的值。

    这些信号是在硬件 SPI 线路上捕获的、还是在主机已捕获的软件中捕获的?

    什洛米

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

    这些 SPI 读取来自主机 MCU 的日志。

    我们还为 nhib、b 提供了200ms 的大时序、但是结果与之前一样(如下所示)。

    SPI_Open

    SPI_Open 完成

    SPI_Write 4 65 87 78 56

    SPI_READ 8 00 00 00 00 00 00 00 00

    SPI_READ 4 BC DC CD AB

    SPI_READ 4 08 00 14 00

    SPI_READ 8 24 00 04 06 00 00 00 00

    SPI_READ 12 1F 57 00 08 21 57 00 08 23 57 00 08

    sl_Start 失败-2005

    谢谢

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

    您好、Kim、

    您是否可以使用 SPI 逻辑直接从 SPI 接口采集数据?

    您使用的是什么 SPI 配置? 即、极性、相位、速度等是什么?

    什洛米

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

    尊敬的 Shlomi:

    我复制了我们用于 SPI 配置的 cc_pal.c 和 cc_pal.h。

    与 SKD 中的默认配置相比、它进行了很多更改、甚至在插件中也进行了很多更改。

    目前、我们无法使用逻辑分析器来管理 SPI 信号。

    因此、我们对 CC3100MOD 模块进行了 PO、以确保器件 Init 的硬件(SPI 信号、NHIB 和 INTR)正常。  

    如果您查看随附的 cc_pal.c 和 cc_pal.h 后发现了任何可疑的情况、请告诉我:

    外部 u32 gSys_Timer_G_1ms;

    //#define DEBUG_SPI_RxTx 1

    //*****
    //本地功能
    //*****

    fD_t SPI_Open (char * ifName、unsigned long 标志)
    {
    printf ("\r\nSPI_Open");
    hspi1.Instance = SPI2;
    hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;
    hspi1.Init.Direction = SPI_DIRECTION_2LINES;
    hspi1.Init.clkPhase = SPI_PHASE_1EDGE;
    hspi1.Init.CLKPolarity = SPI_POLICY_LOW;
    hspi1.Init.CRCCalrup = SPI_CRCCALCULATION_DISABLE;
    hspi1.Init.CRCPolynomial = 7;
    hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
    hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
    hspi1.Init.nss = SPI_NSS_soft;
    hspi1.Init.TIMode = SPI_TIMODE_DISABLE;

    hspi1.Init.Mode = SPI_MODE_MASTER;

    if (HAL_SPI_Init (&hspi1)!= HAL_OK)
    {
    printf ("\r\n HAL_SPI_Init 失败");

    //NwpOff ();
    DEASSERT_CS;
    HAL_DELAY (50);
    printf ("\r\n SPI_Open Done (SPI_Open 完成)");

    返回0;

    e2e.ti.com/.../3757.cc_5F00_pal.ce2e.ti.com/.../6303.cc_5F00_pal.h

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

    您好!

    您是否了解以下用于移植到 STM 的文档?

    https://www.ti.com/lit/an/swra704/swra704.pdf?ts=1684391617858&ref_url=https%253A%252F%252Fwww.google.com%252F

    什洛米

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

    尊敬的 Shlomi:

    是的、我们阅读了您建议的 STM 移植指南和用户手册中的所有内容。

    本 STM 移植指南基本上涉及多线程和 RTOS、但我们不使用 RTOS。

    对于"No RTOS (无 RTOS)"、关于需要对任何文档进行哪些操作、没有明确的指南、只是说要参考 CC3100 SDK。

    我不确定我的 nortos.h/c 是否正确、 然后由于 nortos.h/c 文件错误或诸如 user.h、cc_pal.h/c 之类的东西导致了这个问题。

    因此、我希望 TI 专家就这个 user.h、nortos.h/c 和 cc_pal.h/c 提供相关建议。

    显然、该问题与 SPI 硬件无关。

    谢谢。

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

    尊敬的 Mark:

    我们可以通过查看 SPI 总线并与之前的 SPI 值进行比较来确认这不是 SPI 问题。 您是否能够使用逻辑分析仪或示波器探测总线?

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

    您好、Sabeeh:

    恐怕我们没有用于捕获 SPI 信号的逻辑分析仪。

    至于示波器数据、我将在下周发送给您。

    谢谢

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

    好的、请在有了它后通知我们。

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

    尊敬的 Shlomi:

    以下是您请求的波形。

    通道1:CLK、通道2:MISO

     ch1:CLK、ch2:nCS

    3. 通道1;CLK、通道2:MISO

    4. ch1:CLK、ch2:IRQ

    5. ch1:CLK、ch2:nHIB

    谢谢

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

    很难看到这张图片中的任何东西。

    您能否至少指出与我预期不同的点、即最后一个事务  SPI_READ 12 2B 57 00 08 2D 57 00 08 2F 57 00 08?

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

    似乎需要获得更好的分辨率范围来捕获最后12个字节。

    在获取逻辑分析器后、我们将获取 SPI 信号数据、需要一些时间才能获取该数据。

    我们一收到它、我就会立即向您

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

    谢谢、请在您讲述后立即告诉我。

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

    尊敬的 Shlomi:

    这里是来自逻辑分析仪的 SPI 数据。

    似乎来自模块的数据是0x11、0x11、0x11、0x00、 0x00、0x10、0x31、0x00、0x00、 0x00、0x00。

    这些数据是否正确?

    我不知道为什么最后一次读取的数据是错误的、而来自该模块的第1 ~ 4个数据是正确的?

    你有什么线索吗?

      

    谢谢

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

    尊敬的 Shlomi:

    随着静态存储器管理的改变、我们最终完成了 sl_Start。

    然后、在执行 sl_DeviceGet 时、我们得到了 Verison Fail -2005、如下所示。

    因此、请告诉我、我们还需要检查哪些事项才能继续前进?

    这是来自 SPI 的日志

    SPI_Open

    SPI_Open 完成

     

    SL_启动

    SPI_Write 4 65 87 78 56

    SPI_READ 8 00 00 00 00 00 00 00 00

    SPI_READ 4 BC DC CD AB

    SPI_READ 4 08 00 14 00

    SPI_READ 8 24 00 04 06 00 00 00 00

    SPI_READ 12 11 11 11 00 10 31 00 00 00

     

    sl_DeviceGet

    SPI_Write 4 21 43 34 12

    SPI_Write 4 66 84 08 00

    SPI_Write 8 00 01 00 0C 00 08

    获取版本失败- 2005

    谢谢