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.

[参考译文] CC3300:TI SDK 的移植相关查询 (cc33xx_RTOS_MCU_PACKAGE_R8.1)

Guru**** 2797575 points

Other Parts Discussed in Thread: CC3300

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1618252/cc3300-porting-related-query-for-ti-sdk-cc33xx_rtos_mcu_package_r8-1

部件号: cc3300

尊敬的所有人:

我们正在 CC3300 上设计、以实现 Wi-Fi 6 解决方案。

我们已经在 TI 评估板上使用终端应用测试了 TI SDK (cc33xx_RTOS_MCU_PACKAGE_R8.1)。

然后、我们在 STM32F4122G 上移植了 SDK、代码正在编译。 但在‘‘Wlan_Start’命令时、程序执行是在“NETIF_ADD"内部“内部进行的

在进一步的分析中,我们发现了以下差异

 

LwIP 版本

“dns_gethostbyname_addrtype"更改“更改

TI SDK 支持

2.1.3.

ERR_t dns_gethostbyname_addrtype (const char *主机名、 ip_addr_t *addr、 找到 dns_found_callback、void *callback_arg、u8_t dns_addrtype);

 

找到附加参数= ip_addr_t *addr

STM32F4122G 代码库

2.1.2.

ERR_t dns_gethostbyname_addrtype (const char *主机名、找到 dns_found_callback、void *callback_arg、u8_t dns_addrtype)

 

我们的疑问:

  1. ‘认为程序执行滞留在内部“netif_add"上“上、而在 STM32F4122G 上执行且 LwIP = 2.1.2、因为不存在 ip_addr_t *addr。 我们的理解是否正确?
  2. TI SDK (cc33xx_RTOS_MCU_PACKAGE_R8.1) 应在 LwIP = 2.1.3 和 LwIP = 2.1.2 的情况下执行。 请确认。
  3. 现在、我们还将在 STM32F4122G 代码库中移植 LwIP。 请说明我们应该如何处理这个附加参数 ip_addr_t *addr 在移植时?
  4. 由配置 netf 的值决定
  5. netif 的 linkoutput() 如何将数据发送到 SPI 驱动程序、以及如何将 linkoutput() 配置为将数据发送到 SPI 驱动程序。 如果有任何文档可用于 LwIP 见解及其配置、请 PLZ Share。

谢谢...

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

    您好、

    最好使用 2.1.3 这样的更高版本、尤其是在我们的解决方案中将其用作参考 LwIP 并进行测试时。

    我下载了 LwIP 2.1.2 并进行了比较、您突出显示的函数的 API 没有区别、请解释您从哪里获取该函数? 这是旧版本吗?

    此外,该函数在 netif_add () 期间不会调用,并且主要是在 Wi-Fi 连接建立后(并且客户端想要获取主机的 IP 地址)。

    如果你在 netif_add () 上停留,它必须是其他的东西。

    netif_add () 本身也没有在这两个版本之间发生变化。

    我们如何使用这些 API 的参考位于 SDK 本身上。

    你可以引用 network_lwip() 来获取所有的 API 和流。

    此致、

    Shlomi

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

    尊敬的 Shlomi (https://e2e.ti.com/members/759653):

    感谢您的输入。

    如前所述、我们已将 TI SDK 移植到 STM32F412ZG、并开始使用“WLAN_START"API 执行“ 执行基本测试。

    在收到您的回复后、我们进一步深入了解了 “WLAN_START"API 未“ 未完全执行时所面临的问题。

    现在、我们对问题的理解如下。

    • ‘Wlan_Start’internally call‘ InitHostDriver’
      • ‘μ s InitHostDriver’ 内部创建 2 个线程、如下所示
        • RET = trnspt_Init (TrnsptThrdPrior);优先级 — 3,栈大小 — 4096
        • RET = ctrlCmd Fw_Create EventThread();优先级 —    5,堆栈大小 —  1024  
      • 观察
        • 第一个线程 TrnsptThrd. 偏移量电压
        • 第二个线程 EventThread 未创建且函数退出
      • OUE 尝试
        • 我们尝试更改优先级  EventThread  从 5 更改为 3、并将栈大小从 1024 更改为 4096。 问题仍然存在。
    • 我们的疑问
      • 可能的问题  EventThread  未创建
      • 如何诊断和找到问题的解决方案。
      • 的目的是什么  TrnsptThrd 和 EventThread
      • 如下所示、在创建 2 个线程之间进行路由、如所示  tw If_Init、  tw If_Set、Partition 。 这些例程的目的是什么。
      •   TrnsptThrdPrior = transport_thrd_priority;

           RET = trnspt_Init (TrnsptThrdPrior);

           if (ret!= OSI_OK)

           {

               assert_General (0);

               返回 ret;

           }

         

           tw If_Init ();

           tw If_Set 分区 ((TPartition *) 附加);

         

           RET = tmr_Init();

           if (ret!= OSI_OK)

           {

               assert_General (0);

               返回 ret;

           }

           RET= ctrlCmd Fw_Create EventThread();

    谢谢。。

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

    您好、

    主线程是传输线程。 此线程从客户端获取所有注册,并根据要求提供服务。

    事件线程是将事件触发回应用程序的线程。

    事件包括断开/连接、扫描结果、添加对等设备等

    tw If_Init、  tw If_Set、Partition  传输接口的初始化。

    不确定主机为什么不创建事件任务、似乎与驱动程序无关。

    它在哪里失败?

    Shlomi

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

     您好 Shlomi Itzhak 

    感谢您分享有关 SDK Thread 的信息

    关于事件任务未创建观察评估、发现我们的团队在集成期间并未获取所有 TI SDK 文件。

    我们遇到了相同的问题、从 SDK 中获取了所有文件、并发现未创建任务的问题已解决。

    现在、我们开始进一步测试。 我们也会更新您。

    我们对免费 RTOS 版本有一些疑问。

    • 我们将 TI SDK 集成到客户的现有代码库中、该代码库支持一些不同的 make Wi-Fi 5 模块。 现有代码具有免费的 RTOS 版本  7.0.1.
    • 我们检查了 TI SDK 的免费 RTOS 版本。 我们认为它是  10.4.3.
    • 客户代码还支持免费 RTOS 版本  10.3.1.但默认情况下、它不处于活动状态。

    我们的疑问:

    • TI SDK 所具有的优势  10.4.3.这是我们的理解,正确吗?
    • 您是否有关于 TI SDK 与首选 RTOS 版本兼容性的一些信息。  
    • 我们了解 TI SDK 与 7.0.1 和 10.3.1 的兼容性、或建议使用最新的 10.4.3。 如果答案是 10.4.3、那么如果您有一些数据、这将有所帮助。

    谢谢。。

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

    您好、

    这是一个好问题。

    是的、AM243 基础 SDK 使用了 FreeRTOS 版本 10.4.3。

    这是它经过验证的版本、因此我强烈建议使用它。

    版本 10.3.1 似乎没有太远的落后(当然不是 v11 的重大更新),因此我不期望它需要大量的努力。

    但是、我没有任何可以提供的移植指导原则。

    您是否尝试过仅移动并查看是否遇到任何编译错误、如果没有、是否尝试执行?

    此致、

    Shlomi