Conceitos básicos do Infineon XMC4800 IoT Connectivity Kit - FreeRTOS

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

Importante

Essa integração de referência está hospedada no repositório Amazon-FreeRTOS, que está preterido. Recomendamos começar aqui ao criar um novo projeto. Se você já tem um projeto FreeRTOS existente baseado no repositório Amazon-FreeRTOS que está preterido, consulte o Guia de migração do repositório Github do Amazon FreeRTOS.

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.

Se você quiser abrir uma conexão serial com a placa para visualizar o registro em log e informações de depuração, precisará de um conversor USB/serial de 3,3 V, além do XMC4800 IoT Connectivity Kit. O CP2104 é um conversor USB/serial comum que está amplamente disponível em placas como CP2104 Friend da Adafruit.

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. Neste tutorial, o caminho para o diretório de download do FreeRTOS é chamado freertos.

Visão geral

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.

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

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

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

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

Instalar o DAVE

  1. Vá para a página de download do software DAVE da Infineon.

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

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

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

Para se comunicar com o teste de depuração integrado da placa XMC4800 Relax EtherCAT, você precisa dos drivers incluídos no pacote de software e documentação J-Link. Você pode fazer download do pacote e documentação J-Link na página de download do software J-Link da Segger.

Estabelecimento de uma conexão serial

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.

A aplicação de demonstração XMC4800 usa uma conexão serial UART nos pinos P0.0 e P0.1, que são identificados no silkscreen da placa XMC4800 Relax EtherCAT. Para configurar uma conexão serial:

  1. Conecte o pino chamado "RX<P0.0" ao pino "TX" do conversor USB/serial.

  2. Conecte o pino chamado "TX<P0.1" ao pino "RX" do conversor USB/serial.

  3. 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 exigem 3,3 V. 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. 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

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 MQTT com o cliente AWS IoT MQTT
  1. Faça login no console do AWS IoT.

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

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

Importação da demonstração do FreeRTOS para o DAVE

  1. Inicie o DAVE.

  2. 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).

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

  4. Escolha Terminar.

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

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

  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.

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

  3. No Project Explorer, clique com o botão direito do mouse em aws_demos, escolha Debug As (Depurar como) e DAVE C/C++ Application (aplicação DAVE C/C++).

  4. Clique duas vezes em GDB SEGGER J-Link Debugging (Depuração de GDB SEGGER J-Link) para criar uma confirmação de depuração. Escolha Debug (Depurar).

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

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. (MinGW é 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.

      nota

      Recomendamos que você faça download de uma versão diferente de "8-2018-q4-major", devido a um bug relatado com o utilitário "objcopy" nessa versão.

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

  2. Instale o CMake e MingW.

    Para obter instruções, consulte Pré-requisitos do CMake.

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

  4. 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
  5. Altere os diretórios para o diretório de compilação (build-folder) e use o seguinte comando para compilar 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.

  6. Atualize e execute a imagem com JLINK.

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

      echo loadfile aws_demos.hex > flash.jlink
      echo r >> flash.jlink
      echo g >> flash.jlink
      echo q >> flash.jlink
    2. 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 estabelecida com a placa.

Solução de problemas

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.

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.