

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Transferência de pilha de TCP/IP
<a name="afr-porting-tcp"></a>

Esta seção fornece instruções para fazer a portabilidade e testar pilhas TCP/IP integradas. Se a plataforma descarregar a funcionalidade TCP/IP e TLS em um processador ou módulo de rede separado, você poderá ignorar essa seção de portabilidade e visitar [Fazer portabilidade da Network Transport Interface](afr-porting-network-transport-interface.md).

O [FreeRTOS\$1TCP](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html) é uma pilha TCP/IP nativa para o kernel do FreeRTOS. O FreeRTOS\$1TCP é desenvolvido e mantido pela equipe de engenharia do FreeRTOS, e a pilha TCP/IP é recomendada para usar com o FreeRTOS. Para obter mais informações, consulte [Portabilidade do FreeRTOS\$1TCP](#porting-freertos-tcp). Como alternativa, você pode usar a pilha TCP/IP de terceiros [lwIP](https://savannah.nongnu.org/projects/lwip/). A instrução de teste fornecida nesta seção usa os testes da interface de transporte para texto simples TCP e não depende da pilha TCP/IP específica implementada. 

## Portabilidade do FreeRTOS\$1TCP
<a name="porting-freertos-tcp"></a>

O FreeRTOS\$1TCP é uma pilha TCP/IP nativa para o kernel do FreeRTOS. Para obter mais informações, consulte [FreeRTOS.org](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/).

### Pré-requisitos
<a name="porting-prereqs-freertos-tcp"></a>

Para fazer a portabilidade da biblioteca do FreeRTOS\$1TCP, é necessário o seguinte:
+ Um projeto do IDE que inclui os drivers Ethernet ou Wi-Fi fornecidos pelo fornecedor.

  Para obter informações sobre a configuração de um projeto de teste, consulte [Configuração do seu espaço de trabalho e projeto para portabilidade](porting-set-up-project.md).
+ Uma configuração validada do kernel do FreeRTOS.

  Para obter informações sobre como configurar o kernel do FreeRTOS para sua plataforma, consulte [Configuração de uma porta do kernel do FreeRTOS](afr-porting-kernel.md).

### Portabilidade
<a name="porting-steps-freertos-tcp"></a>

Antes de começar a fazer a transferência da biblioteca FreeRTOS\$1TCP, verifique o diretório do [GitHub](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/tree/main/source/portable/NetworkInterface) para ver se já existe uma porta para o dispositivo.

Se não existir uma porta, faça o seguinte:

1. Siga as instruções de [Fazer a portabilidade do FreeRTOS\$1TCP para um microcontrolador diferente](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/Embedded_Ethernet_Porting.html) em FreeRTOS.org para fazer a portabilidade do FreeRTOS\$1TCP para seu dispositivo.

1. Se necessário, siga as instruções de [Fazer a portabilidade do FreeRTOS\$1TCP para um novo compilador C incorporado](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/Embedded_Compiler_Porting.html) em FreeRTOS.org para fazer a portabilidade do FreeRTOS\$1TCP para um novo compilador.

1. Implemente uma nova porta que use os drivers Ethernet ou Wi-Fi do fornecedor em um arquivo chamado `NetworkInterface.c`. Visite o repositório do [GitHub](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/tree/main/source/portable/NetworkInterface/board_family) para obter um modelo.

Depois de criar a porta, ou se já existir uma, crie `FreeRTOSIPConfig.h` e edite as opções de configuração para que estejam corretas para a plataforma. Para obter mais informações sobre as opções de configuração, consulte [Configuração do FreeRTOS\$1TCP](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_IP_Configuration.html) em FreeRTOS.org.

## Testar
<a name="testing-tcp"></a>

Se você usa a biblioteca FreeRTOS\$1TCP ou uma biblioteca de terceiros, siga as etapas abaixo para testar:
+ Forneça uma implementação para APIs `connect/disconnect/send/receive` em testes de interface de transporte.
+ Configure um servidor echo no modo de conexão TCP de texto simples e execute testes de interface de transporte.

**nota**  
Para qualificar oficialmente um dispositivo para FreeRTOS, se sua arquitetura exigir a portabilidade de uma pilha de software TCP/IP, você precisará validar o código-fonte transferido do dispositivo nos testes de interface de transporte no modo de conexão TCP de texto simples no AWS IoT Device Tester. Siga as instruções em [ Usar o AWS IoT Device Tester para FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/device-tester-for-freertos-ug.html) no *Guia do usuário do FreeRTOS* para configurar o AWS IoT Device Tester para validação de porta. Para testar a portabilidade de uma biblioteca específica, o grupo de testes correto deve ser habilitado no arquivo `device.json` na pasta `configs` do Device Tester.