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 XMC4800 da Infineon, acesse o catálogo do AWS Partner Device para adquirir um dos nossos parceiros
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
Antes de começar, você deve configurar o AWS IoT e seu download do FreeRTOS para conectar seu dispositivo à nuvem da 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:
-
Instalar software na máquina host para desenvolver e depurar aplicativos incorporados para seu microcontrolador.
-
Compilar uma aplicação de demonstração do FreeRTOS de forma cruzada para uma imagem binária.
-
Carregar a imagem binária do aplicativo em sua placa e executar o aplicativo.
-
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
-
Vá para a página de download do software DAVE
da Infineon. -
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.
-
Faça download do arquivo .zip do pacote DAVE (
DAVE_) e descompacte-o no local onde você deseja instalar o DAVE (por exemplo,version_os_date.zipC:\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.
-
Para iniciar o DAVE, execute o arquivo executável encontrado na pasta
DAVE_descompactado.version_os_date.zip
Para obter mais informações, consulte o Guia de início rápido do DAVE
Instalação do drivers Segger J-Link
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
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:
-
Conecte o pino chamado "RX<P0.0" ao pino "TX" do conversor USB/serial.
-
Conecte o pino chamado "TX<P0.1" ao pino "RX" do conversor USB/serial.
-
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
Monitoramento de mensagens MQTT na nuvem
Antes de executar a demonstração do FreeRTOS, você pode configurar o cliente MQTT no console do AWS IoT para monitorar as mensagens enviadas pelo dispositivo para a nuvem da AWS.
Para assinar o tópico MQTT com o cliente MQTT do AWS IoT
-
Faça login no console do AWS IoT
. -
No painel de navegação, escolha Teste e, em seguida, escolha cliente de teste MQTT para abrir o cliente MQTT.
-
Em Tópico de inscrição, insira
e selecione Inscreva-se no tópico.your-thing-name/example/topic
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
-
Inicie o DAVE.
-
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).
-
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.
-
Escolha Terminar.
O projeto
aws_demosdeve ser importado para seu espaço de trabalho e ativado. -
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
-
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.
-
No menu Project (Projeto), escolha Rebuild Active Project (Recriar projeto ativo) para recriar
aws_demose garantir que as alterações de configuração sejam selecionadas. -
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++). -
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).
-
Quando o depurador parar no ponto de interrupção em
main(), no menu Run (Executar), escolha Resume (Continuar).
No console do AWS IoT, o cliente MQTT das etapas 4-5 deve exibir as mensagens MQTT enviadas pelo 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
Como compilar a demonstração do FreeRTOS com CMake
-
Configure o conjunto de ferramentas GNU Arm Embedded.
-
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. -
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.
-
-
Instale o CMake e MingW.
Para obter instruções, consulte Pré-requisitos do CMake.
-
Crie uma pasta para conter os arquivos de compilação gerados (
build-folder). -
Altere os diretórios para seu diretório de download do (
) e use o comando a seguir para gerenciar os arquivos de compilação:freertoscmake -DVENDOR=infineon -DBOARD=xmc4800_iotkit -DCOMPILER=arm-gcc -S . -Bbuild-folder-G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0 -
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 8Esse comando cria o binário de saída
aws_demos.hexpara o diretório de compilação. -
Atualize e execute a imagem com JLINK.
-
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.jlinkecho r >> flash.jlinkecho g >> flash.jlinkecho q >> flash.jlink -
Atualize a imagem usando o executável JLNIK.
JLINK_PATH\JLink.exe -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlinkOs 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, configure o AWS IoT e o download do FreeRTOS para conectar o dispositivo à nuvem da 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.