View a markdown version of this page

移植堆 TCP/IP 栈 - FreeRTOS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

移植堆 TCP/IP 栈

本节提供移植和测试板载 TCP/IP 堆栈的说明。如果您的平台将 TLS 功能卸载 TCP/IP 到单独的网络处理器或模块,则可以跳过此移植部分并访问移植网络传输接口

freertos+TCP 是 FreeRT OS 内核的原 TCP/IP 生堆栈。Freertos+TCP 由 FreeRTOS 工程团队开发和维护,是推荐与 FreeRTOS 搭配使用的堆栈。 TCP/IP 有关更多信息,请参阅 移植 FreeRTOS+TCP。或者,您可以使用第三方 TCP/IP 堆栈 LWIP。本节提供的测试指令使用TCP纯文本的传输接口测试,并且不依赖于特定的实现 TCP/IP 堆栈。

移植 FreeRTOS+TCP

freertos+TCP 是 FreeRTOS 内核的原 TCP/IP 生堆栈。有关更多信息,请参阅 FreeRTOS.org

先决条件

要移植 FreeRTOS+TCP 库,您需要以下信息:

移植

在开始移植 freerTOS+TCP 库之前,请检查GitHub目录以查看您的主板上是否已有端口。

如果移植不存在,请执行以下操作:

  1. 按照 FreeRTOS.org 上将 FreeRTOS+TCP 移植到不同微控制器的说明,将 FreeRTOS+TCP 移植到您的设备。

  2. 如有必要,请按照 FreeRTOS.org 上将 FreeRTOS+TCP 移植到新的嵌入式 C 编译器的说明,将 FreeRTOS+TCP 移植到新的编译器。

  3. 在名为 NetworkInterface.c 的文件中实施使用供应商提供的以太网或 Wi-Fi 驱动程序的新移植。访问GitHub存储库获取模板。

在创建移植后,或者如果移植已存在,请创建 FreeRTOSIPConfig.h 并编辑配置选项,以使它们适合您的平台。有关配置选项的更多信息,请参阅 FreeRTOS.org 上的 FreeRTOS+TCP 配置

测试

无论您使用的是 freerTOS+TCP 库还是第三方库,请按照以下步骤进行测试:

  • 为传输接口测试提供实现。connect/disconnect/send/receive APIs

  • 在纯文本 TCP 连接模式下设置 Echo 服务器,然后运行传输接口测试。

注意

要使设备正式获得 FreeRTOS 的资格,如果您的架构需要移植 TCP/IP 软件堆栈,则需要使用纯文本 TCP 连接模式对照传输接口测试来验证设备移植的源代码。 AWS IoT Device Tester按照《FreeRTOS 用户指南》中的 “用 AWS IoT Device Tester 于 FreeRTOS” 中的说明进行端口验证设置。 AWS IoT Device Tester 要测试特定库的移植,必须在 Device Tester configs 文件夹下面的 device.json 文件中启用正确的测试组。