

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á.

# Conceitos básicos do Infineon XMC4800 IoT Connectivity Kit
<a name="getting_started_infineon"></a>

**Importante**  <a name="deprecation-message"></a>
Essa integração de referência está hospedada no Amazon-FreeRTOS repositório que está obsoleto. Recomendamos [começar aqui](freertos-getting-started-modular.md) ao criar um novo projeto. Se você já tem um projeto FreeRTOS existente com base no repositório agora Amazon-FreeRTOS obsoleto, consulte o. [Amazon-FreeRTOS Guia de migração do repositório Github](github-repo-migration.md)

Este tutorial fornece instruções para começar a usar o Infineon XMC4800 IoT Connectivity Kit. [Se você não tiver o kit de conectividade IoT Infineon XMC4800, visite AWS o Catálogo de dispositivos do parceiro para comprar um de nosso parceiro.](https://devices.amazonaws.com/detail/a3G0L00000AANsbUAH/XMC4800-IoT-Amazon-FreeRTOS-Connectivity-Kit-WiFi)

Se você quiser abrir uma conexão serial com a placa para visualizar as informações de registro e depuração, precisará de um USB/Serial conversor de 3,3 V, além do kit de conectividade de IoT XMC4800. [O CP2104 é um USB/Serial conversor comum que está amplamente disponível em placas como a CP2104 Friend da Adafruit.](https://www.adafruit.com/product/3309)

Antes de começar, você deve configurar AWS IoT e fazer o download dos FreeRTOS para conectar seu dispositivo à nuvem. AWS Para obter instruções, consulte [Primeiras etapas](freertos-prereqs.md). Neste tutorial, o caminho para o diretório de download do FreeRTOS é chamado `{{freertos}}`.

## Visão geral do
<a name="w2aac31b9b7c25c27c13"></a>

Este tutorial contém instruções para as seguintes etapas iniciais:

1. Instalar software na máquina host para desenvolver e depurar aplicativos incorporados para seu microcontrolador.

1. Compilar uma aplicação de demonstração do FreeRTOS de forma cruzada para uma imagem binária.

1. Carregar a imagem binária do aplicativo em sua placa e executar o aplicativo.

1. Interagir com o aplicativo em execução na placa em uma conexão serial para fins de monitoramento e depuração.

## Configuração do ambiente de desenvolvimento
<a name="infineon-setup-env"></a>

O FreeRTOS usa o ambiente de desenvolvimento DAVE da Infineon para programar o XMC4800. Antes de começar, você precisa baixar e instalar o DAVE e alguns J-Link drivers para se comunicar com o depurador integrado.

### Instalar o DAVE
<a name="install-dave"></a>

1. Vá para a página de [download do software DAVE](https://infineoncommunity.com/dave-download_ID645) da Infineon.

1. Escolha o pacote DAVE para seu sistema operacional e envie suas informações de registro. Depois de registrar na Infineon, você receberá um e-mail de confirmação com um link para fazer download de um arquivo .zip.

1. Faça download do arquivo .zip do pacote DAVE (`DAVE_{{version}}_{{os}}_{{date}}.zip`) e descompacte-o no local onde você deseja instalar o DAVE (por exemplo, `C:\DAVE4`). 
**nota**  
Alguns usuários do Windows relataram problemas usando o Windows Explorer para descompactar o arquivo. Recomendamos que você use um programa de terceiros como o 7-Zip.

1. Para iniciar o DAVE, execute o arquivo executável encontrado na pasta `DAVE_{{version}}_{{os}}_{{date}}.zip` descompactado.

Para obter mais informações, consulte o [Guia de início rápido do DAVE](https://www.infineon.com/dgdl/Infineon-DAVE_Quick_Start-GS-v02_00-EN.pdf?fileId=5546d4624cb7f111014d059f7b8c712d).

### Instale os drivers Segger J-Link
<a name="install-jlink"></a>

Para se comunicar com a sonda de depuração integrada da placa XMC4800 Relax EtherCAT, você precisa dos drivers incluídos no pacote de software e documentação. J-Link Você pode baixar o pacote J-Link de software e documentação na página de [download de J-Link software](https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack) da Segger.

## Estabelecimento de uma conexão serial
<a name="install-serial-connection"></a>

A configuração de uma conexão serial é opcional, mas recomendada. Uma conexão serial permite que sua placa envie informações de registro e depuração em um formato que pode ser visualizado na sua máquina de desenvolvimento.

O aplicativo de demonstração do XMC4800 usa uma conexão serial UART nos pinos P0.0 e P0.1, que são rotulados na serigrafia da placa XMC4800 Relax EtherCAT. Para configurar uma conexão serial:

1. Conecte o pino “RX<P0.0” ao pino “TX” do USB/Serial conversor.

1. Conecte o pino “TX>P0.1” ao pino “RX” do USB/Serial conversor.

1. Conecte o pino de aterramento do conversor serial a um dos pinos "GND" na placa. Os dispositivos devem compartilhar um aterramento comum.

A alimentação é fornecida na porta de depuração USB e, portanto, não conecto o pino de tensão positiva do adaptador serial à placa.

**nota**  
Alguns cabos seriais usam um nível de sinalização 5V. A placa XMC4800 e o módulo Wi-Fi Click requerem 3,3V. Não use o jumper IOREF da placa para alterar os sinais da placa para 5V.

 Com o cabo conectado, você pode abrir uma conexão serial em um emulador de terminal como [GNU Screen](https://www.gnu.org/software/screen/). A taxa de baud é definida como 115200 por padrão com 8 bits de dados, sem paridade e 1 bit de parada. 

## Monitoramento de mensagens MQTT na nuvem
<a name="infineon-monitor-mqtt"></a>

Antes de executar a demonstração do FreeRTOS, você pode configurar o cliente MQTT no console para monitorar AWS IoT as mensagens que seu dispositivo envia para a nuvem. AWS 

**Para assinar o tópico do MQTT com o AWS IoT Cliente MQTT**

1. Faça login no [console do AWS IoT](https://console.aws.amazon.com/iotv2/).

1. No painel de navegação, escolha **Teste** e, em seguida, escolha **cliente de teste MQTT** para abrir o cliente MQTT.

1. Em **Tópico de inscrição**, insira **{{your-thing-name}}/example/topic** e selecione **Inscreva-se no tópico**.

Quando o projeto de demonstração for executado com êxito em seu dispositivo, você verá "Olá, mundo\!". enviado várias vezes para o tópico em que você assinou.

## Compilação e execução do projeto de demonstração do FreeRTOS
<a name="infineon-build-and-run-example"></a>

### Importação da demonstração do FreeRTOS para o DAVE
<a name="infineon-freertos-import-project"></a><a name="infineon-load-project"></a>

1. Inicie o DAVE.

1. No DAVE, escolha **File (Arquivo)**, **Import (Importar)**. Na janela **Import (Importar)**, expanda a pasta **Infineon**, escolha **DAVE Project (Projeto do DAVE)** e, em seguida, escolha **Next (Próximo)**.

1. Na janela **Import DAVE Projects (Importar projetos do DAVE)**, escolha **Select Root Directory (Selecionar diretório raiz)**, escolha **Browse (Procurar)** e, em seguida, escolha o projeto de demonstração do XMC4800.

   No diretório em que você descompactou o download do FreeRTOS, o projeto de demonstração está localizado em `projects/infineon/xmc4800_iotkit/dave4/aws_demos`. 

   Verifique se a opção **Copy Projects Into Workspace (Copiar projetos para o WorkSpace)** está desmarcada.

1. Escolha **Terminar**.

   O projeto `aws_demos` deve ser importado para seu espaço de trabalho e ativado.

1. No menu **Project (Projeto)**, escolha **Build Active Project (Criar projeto ativo)**.

   Certifique-se de que o projeto seja criado sem erros.

### Execução do projeto de demonstração do FreeRTOS
<a name="infineon-run-examples"></a>

1. Use um cabo USB para conectar o XMC4800 IoT Connectivity Kit ao computador. A placa tem dois conectores microUSB. Use o "X101", onde Debug aparece próximo a ele no silkscreen da placa.

1. No menu **Project (Projeto)**, escolha **Rebuild Active Project (Recriar projeto ativo)** para recriar `aws_demos` e garantir que as alterações de configuração sejam selecionadas.

1. No **Project Explorer**, clique com o botão direito do mouse`aws_demos`, escolha **Depurar como** e escolha Aplicativo **DAVE \+\+. C/C**

1. Double-click Depuração **GDB SEGGER para criar uma J-Link confirmação de depuração**. Escolha **Debug (Depurar)**.

1. Quando o depurador parar no ponto de interrupção em `main()`, no menu **Run (Executar)**, escolha **Resume (Continuar)**.

No AWS IoT console, o cliente MQTT das etapas 4-5 deve exibir as mensagens MQTT enviadas pelo seu dispositivo. Se você usar a conexão serial, verá algo semelhante ao seguinte na saída UART:

```
0 0 [Tmr Svc] Starting key provisioning...
1 1 [Tmr Svc] Write root certificate...
2 4 [Tmr Svc] Write device private key...
3 82 [Tmr Svc] Write device certificate...
4 86 [Tmr Svc] Key provisioning done...
5 291 [Tmr Svc] Wi-Fi module initialized. Connecting to AP...
.6 8046 [Tmr Svc] Wi-Fi Connected to AP. Creating tasks which use network...
7 8058 [Tmr Svc] IP Address acquired [IP Address]
8 8058 [Tmr Svc] Creating MQTT Echo Task...
9 8059 [MQTTEcho] MQTT echo attempting to connect to [MQTT Broker].
...10 23010 [MQTTEcho] MQTT echo connected.
11 23010 [MQTTEcho] MQTT echo test echoing task created.
.12 26011 [MQTTEcho] MQTT Echo demo subscribed to iotdemo/#
13 29012 [MQTTEcho] Echo successfully published 'Hello World 0'
.14 32096 [Echoing] Message returned with ACK: 'Hello World 0 ACK'
.15 37013 [MQTTEcho] Echo successfully published 'Hello World 1'
16 40080 [Echoing] Message returned with ACK: 'Hello World 1 ACK'
.17 45014 [MQTTEcho] Echo successfully published 'Hello World 2'
.18 48091 [Echoing] Message returned with ACK: 'Hello World 2 ACK'
.19 53015 [MQTTEcho] Echo successfully published 'Hello World 3'
.20 56087 [Echoing] Message returned with ACK: 'Hello World 3 ACK'
.21 61016 [MQTTEcho] Echo successfully published 'Hello World 4'
22 64083 [Echoing] Message returned with ACK: 'Hello World 4 ACK'
.23 69017 [MQTTEcho] Echo successfully published 'Hello World 5'
.24 72091 [Echoing] Message returned with ACK: 'Hello World 5 ACK'
.25 77018 [MQTTEcho] Echo successfully published 'Hello World 6'
26 80085 [Echoing] Message returned with ACK: 'Hello World 6 ACK'
.27 85019 [MQTTEcho] Echo successfully published 'Hello World 7'
.28 88086 [Echoing] Message returned with ACK: 'Hello World 7 ACK'
.29 93020 [MQTTEcho] Echo successfully published 'Hello World 8'
.30 96088 [Echoing] Message returned with ACK: 'Hello World 8 ACK'
.31 101021 [MQTTEcho] Echo successfully published 'Hello World 9'
32 104102 [Echoing] Message returned with ACK: 'Hello World 9 ACK'
.33 109022 [MQTTEcho] Echo successfully published 'Hello World 10'
.34 112047 [Echoing] Message returned with ACK: 'Hello World 10 ACK'
.35 117023 [MQTTEcho] Echo successfully published 'Hello World 11'
36 120089 [Echoing] Message returned with ACK: 'Hello World 11 ACK'
.37 122068 [MQTTEcho] MQTT echo demo finished.
38 122068 [MQTTEcho] ----Demo finished----
```

### Compilação da demonstração do FreeRTOS com CMake
<a name="infineon-cmake"></a>

Se você preferir não usar um IDE para desenvolvimento do FreeRTOS, também é possível usar o CMake para compilar e executar as aplicações de demonstração ou aplicações que você desenvolveu usando editores de código e ferramentas de depuração de terceiros.

**nota**  
Esta seção discute o uso do CMake no Windows com MingW como sistema de compilação nativa. Para obter mais informações sobre como usar CMake com outros sistemas operacionais e opções, consulte [Uso da CMake com o FreeRTOS](getting-started-cmake.md). ([MinGW ](https://sourceforge.net/projects/mingw-w64/files/) é um ambiente de desenvolvimento minimalista para aplicações nativas do Microsoft Windows.)

**Como compilar a demonstração do FreeRTOS com CMake**

1. Configure o conjunto de ferramentas GNU Arm Embedded.

   1. Faça o download de uma versão do conjunto de ferramentas do Windows na [página de download do conjunto de ferramentas Arm Embedded](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads).
**nota**  
Recomendamos que você faça download de uma versão diferente de "8-2018-q4-major", devido a [um bug relatado](https://bugs.launchpad.net/gcc-arm-embedded/+bug/1810274) com o utilitário "objcopy" nessa versão.

   1. Abra o instalador do conjunto de ferramentas obtido por download e siga as instruções do assistente de instalação para instalar o conjunto de ferramentas.
**Importante**  
Na página final do assistente de instalação, selecione **Add path to environment variable (Adicionar caminho à variável de ambiente)** para adicionar o caminho do conjunto de ferramentas à variável de ambiente do caminho do sistema.

1. Instale o CMake e MingW.

   Para obter instruções, consulte [Pré-requisitos do CMake](getting-started-cmake.md#building-cmake-prereqs).

1. Crie uma pasta para conter os arquivos de compilação gerados ({{build-folder}}).

1. Altere os diretórios para seu diretório de download do (`{{freertos}}`) e use o comando a seguir para gerenciar os arquivos de compilação:

   ```
   cmake -DVENDOR=infineon -DBOARD=xmc4800_iotkit -DCOMPILER=arm-gcc -S . -B {{build-folder}} -G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0
   ```

1. Altere os diretórios para o diretório de construção ({{build-folder}}) e use o comando a seguir para criar o binário:

   ```
   cmake --build . --parallel 8
   ```

   Esse comando cria o binário de saída `aws_demos.hex` para o diretório de compilação.

1. Atualize e execute a imagem com [JLINK](#install-jlink).

   1. No diretório de compilação ({{build-folder}}), use os seguintes comandos para criar um script flash:

      ```
      echo loadfile aws_demos.hex > flash.jlink
      ```

      ```
      echo r >> flash.jlink
      ```

      ```
      echo g >> flash.jlink
      ```

      ```
      echo q >> flash.jlink
      ```

   1. Atualize a imagem usando o executável JLNIK.

      ```
      {{JLINK_PATH}}\JLink.exe  -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlink
      ```

      Os logs de aplicação devem estar visíveis por meio [da conexão de série](#install-serial-connection) estabelecida com a placa.

## Solução de problemas
<a name="infineon-troubleshooting"></a>

Se ainda não o fez, certifique-se de configurar AWS IoT e baixar seus FreeRTOS para conectar seu dispositivo à nuvem. AWS Para obter instruções, consulte [Primeiras etapas](freertos-prereqs.md).

Para obter mais informações sobre soluções de problemas gerais sobre os Conceitos básicos do FreeRTOS, consulte [Solução de problemas de conceitos básicos](gsg-troubleshooting.md).