Conceitos básicos do Xilinx Avnet MicroZed Industrial IoT Kit - FreeRTOS

Conceitos básicos do Xilinx Avnet MicroZed Industrial IoT 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 Xilinx MicroZed Avnet Industrial IoT Kit. Se você não tiver o Xilinx Avnet MicroZed Industrial IoT Kit, acesse o catálogo do AWS Partner Device para comprar um com nossos parceiros.

Antes de começar, você deve configurar o AWS IoT e o 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:

  1. Conectar sua placa a uma máquina host.

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

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

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

Configuração do hardware MicroZed

O diagrama a seguir pode ser útil ao configurar o hardware MicroZed:

Placa de microcontrolador AVNet com LED Power Good, LED de usuário e botão de pressão, acesso JTAG, Ethernet 10/100/1000 e host USB, slot microSD, USB-UART, LED Done, botão Reset e jumpers Boot MODE destacados.
Para configurar a placa MicroZed
  1. Conecte o computador na porta USB-UART da placa MicroZed.

  2. Conecte o computador na porta JTAG Access da placa MicroZed.

  3. Conecte um roteador ou porta Ethernet conectada à internet na porta Ethernet e USB-Host da placa MicroZed.

Configuração do ambiente de desenvolvimento

Para definir configurações do FreeRTOS para o kit MicroZed, é necessário usar o kit de desenvolvimento de software Xilinx (XSDK). O XSDK é compatível com Windows e Linux.

Download e instalação do XSDK

Para instalar o software Xilinx, é necessário uma conta do Xilinx gratuita.

Para fazer download do XSDK
  1. Acesse a página de download do Cliente WebInstall autônomo do kit de desenvolvimento de software.

  2. Escolha a opção adequada para o seu sistema operacional.

  3. Você será direcionado para uma página de login do Xilinx.

    Se você tem uma conta do Xilinx, insira suas credenciais de login e, em seguida, faça login.

    Se você não tiver uma conta, escolha Create your account. Depois de se registrar, você receberá um e-mail com um link para ativar a conta do Xilinx.

  4. Na página Name and Address Verification, insira suas informações e, em seguida, selecione Next. O download deverá estar pronto para começar.

  5. Salve o arquivo Xilinx_SDK_version_os.

Para instalar o XSDK
  1. Abra o arquivo Xilinx_SDK_version_os.

  2. Em Select Edition to Install, escolha Xilinx Software Development Kit (XSDK) e, em seguida, selecione Next.

  3. Na página seguinte do assistente de instalação, em Installation Options, selecione Install Cable Drivers e, em seguida, escolha Next.

Se o computador não detectar a conexão USB-UART do MicroZed, instale os drivers CP210x USB-to-UART Bridge VCP manualmente. Para obter instruções, consulte o Guia de instalação do CP210x USB-to-UART da Silicon Labs.

Para obter mais informações sobre o XSDK, consulte Conceitos básicos do Xilink SDK no site do Xilink.

Monitoramento de mensagens MQTT na nuvem

Antes de executar o projeto de 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
  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.

Compilação e execução do projeto de demonstração do FreeRTOS

Abrir a demonstração do FreeRTOS no IDE do XSDK

  1. Inicie o IDE do XSDK com o diretório do workspace definido como freertos/projects/xilinx/microzed/xsdk.

  2. Feche a página de boas-vindas. No menu, escolha Project (Projeto) e, em seguida, desmarque Build Automatically (Compilar automaticamente).

  3. No menu, escolha File (Arquivo) e, em seguida, selecione Import (Importar).

  4. Na página Select (Selecionar), expanda General (Geral), escolha Existing Projects into Workspace (Projetos existentes no workspace) e, em seguida, selecione Next (Próximo).

  5. Na página Importar projetos, escolha Selecionar diretório raiz e insira o diretório raiz do projeto de demonstração: freertos/projects/xilinx/microzed/xsdk/aws_demos. Para navegar até o diretório, escolha Browse (Navegar).

    Depois de especificar um diretório raiz, os projetos desse diretório aparecerão na página Import Projects (Importar projetos). Todos os projetos disponíveis são selecionados por padrão.

    nota

    Se houver um aviso no topo da página Import Projects (Importar projetos) ("Some projects cannot be imported because they already exist in the workspace." (Alguns projetos não podem ser importados pois já existem no workspace.)) ignore-o.

  6. Com todos os projetos selecionados, escolha Finish (Concluir).

  7. Se você não vir os projetos aws_bsp, fsbl e MicroZed_hw_platform_0 no painel de projetos, repita as etapas anteriores a partir de #3, mas com o diretório raiz definido como freertos/vendors/xilinx, e importe aws_bsp, fsbl e MicroZed_hw_platform_0.

  8. No menu, escolha Window (Janela) e, em seguida, selecione Preferences (Preferências).

  9. No painel de navegação, expanda Run/Debug (Executar/depurar), escolha String Substitution (Substituição de strings) e, em seguida, selecione New (Novo).

  10. Em New String Substitution Variable (Nova variável de substituição de strings), para Name (Nome), insira AFR_ROOT. Em Valor, insira o caminho raiz do freertos/projects/xilinx/microzed/xsdk/aws_demos. Escolha OK e, em seguida, selecione OK para salvar a variável e feche as Preferences (Preferências).

Compilação do projeto de demonstração do FreeRTOS

  1. No IDE do XSDK, no menu, escolha Project (Projeto) e, em seguida, selecione Clean (Limpar).

  2. Em Clean (Limpar), mantenha as opções com os valores padrão e escolha OK. O XSDK limpa e compilar todos os projetos e, em seguida, gera arquivos .elf.

    nota

    Para compilar todos os projetos sem limpá-los, escolha Project (Projeto) e, em seguida, selecione Build All (Compilar todos).

    Para compilar projetos individuais, selecione o projeto que deseja compilar, escolha Project (Projeto) e selecione Build Project (Compilar projeto).

Geração de imagem de inicialização do projeto de demonstração do FreeRTOS

  1. No IDE do XSDK, clique com o botão direito do mouse em aws_demos e escolha Create Boot Image (Criar imagem de inicialização).

  2. Em Create Boot Image (Criar imagem de inicialização), escolha Create new BIF file (Criar novo arquivo BIF).

  3. Ao lado de Output BIF file path (Caminho do arquivo BIF de saída), escolha Browse (Procurar) e selecione o aws_demos.bif localizado em <freertos>/vendors/xilinx/microzed/aws_demos/aws_demos.bif.

  4. Escolha Adicionar.

  5. Em Add new boot image partition (Adicionar nova partição da imagem de inicialização), ao lado de File path (Caminho do arquivo), escolha Browse (Navegar) e, em seguida, selecione fsbl.elf localizado em vendors/xilinx/fsbl/Debug/fsbl.elf.

  6. Para o Partition type (Tipo de partição), escolha bootloader e selecione OK.

  7. Em Create Boot Image (Criar imagem de inicialização), escolha Create Image (Criar imagem). Em Override Files (Substituir arquivos), escolha OK para substituir o aws_demos.bif existente e gerar o arquivo BOOT.bin em projects/xilinx/microzed/xsdk/aws_demos/BOOT.bin.

Depuração do JTAG

  1. Defina os jumpers do modo de inicialização da placa MicroZed para o modo de inicialização JTAG.

    Conectores de cabeçalho da placa de circuito impresso e configurações de jumpers.
  2. Insira o cartão MicroSD no slot para cartão MicroSD localizado embaixo da porta USB-UART.

    nota

    Antes de depurar, faça backup de qualquer conteúdo existente no cartão MicroSD.

    A placa deverá ser semelhante à seguinte:

    Placa de avaliação do FreeRTOS com opções de conectividade.
  3. No IDE do XSDK, clique com o botão direito do mouse em aws_demos, escolha Debug As (Depurar como) e, em seguida, selecione 1 Launch on System Hardware (System Debugger) (1 Iniciar no hardware do sistema (depurador do sistema)).

  4. Quando o depurador parar no ponto de interrupção em main(), no menu, escolha Run (Executar) e, em seguida, selecione Resume (Continuar).

    nota

    Na primeira vez que você executar a aplicação, um novo par de chave-certificado será importado para a memória não volátil. Para execuções subsequentes, você pode comentar vDevModeKeyProvisioning() no arquivo main.c antes de compilar novamente as imagens e o arquivo BOOT.bin. Isso impede a cópia dos certificados e da chave para armazenamento em cada execução.

Você pode optar por inicializar a placa MicroZed a partir de um cartão MicroSD ou de QSPI flash para executar o projeto de demonstração do FreeRTOS. Para obter instruções, consulte Geração de imagem de inicialização do projeto de demonstração do FreeRTOS e Execução do projeto de demonstração do FreeRTOS.

Execução do projeto de demonstração do FreeRTOS

Para executar o projeto de demonstração do FreeRTOS, inicialize a placa MicroZed a partir de um cartão MicroSD ou de QSPI flash.

À medida que a placa MicroZed é configurada para execução do projeto de demonstração do FreeRTOS, consulte o diagrama em Configuração do hardware MicroZed. Verifique se a placa MicroZed está conectada ao computador.

Inicialização do projeto do FreeRTOS a partir de um cartão MicroSD

Formate o cartão MicroSD fornecido com o Xilinx MicroZed Industrial IoT Kit.

  1. Copie o arquivo BOOT.bin para o cartão MicroSD.

  2. Insira o cartão no slot para cartão MicroSD embaixo da porta USB-UART.

  3. Defina os jumpers do modo de inicialização da MicroZed para o modo de inicialização SD.

    Cartão SD com três slots etiquetados como JP1, JP2, JP3 e um suporte para bateria tipo moeda.
  4. Pressione o botão RST para redefinir o dispositivo e começar a inicialização da aplicação. Você também pode desconectar o cabo USB-UART da porta USB-UART e, em seguida, inserir o cabo novamente.

Inicialização do projeto de demonstração do FreeRTOS a partir de QSPI flash

  1. Defina os jumpers do modo de inicialização da placa MicroZed para o modo de inicialização JTAG.

    Conectores de cabeçalho da placa de circuito impresso e configurações de jumpers.
  2. Verifique se o computador está conectado às portas USB-UART e JTAG Access. A luz Power Good LED verde deve estar iluminada.

  3. No IDE do XSDK, no menu, escolha Xilinx e, em seguida, selecione Program Flash (Programar flash).

  4. Em Program Flash Memory (Programar memória flash), a plataforma do hardware deverá ser preenchida automaticamente. Em Connection (Conexão), escolha o servidor de hardware MicroZed para conectar a placa ao computador host.

    nota

    Se estiver usando o cabo Xilinx Smart Lync JTAG, é necessário criar um servidor de hardware no IDE do XSDK. Escolha New (Novo) e defina o servidor.

  5. Em Image File (Arquivo de imagem), insira o caminho de diretório para o arquivo de imagem BOOT.bin. Em vez disso, escolha Browse (Navegar) para navegar até o arquivo.

  6. Em Offset (Deslocamento), insira 0x0.

  7. Em FSBL File (Arquivo FSBL), insira o caminho de diretório para o arquivo fsbl.elf. Em vez disso, escolha Browse (Navegar) para navegar até o arquivo.

  8. Escolha Program (Programar) para programar a placa.

  9. Após a conclusão da programação QSPI, remova o cabo USB-UART para desligar a placa.

  10. Defina os jumpers do modo de inicialização da placa MicroZed para o modo de inicialização QSPI.

  11. Insira o cartão no slot para cartão MicroSD localizado embaixo da porta USB-UART.

    nota

    Lembre-se de fazer backup de qualquer conteúdo existente no cartão MicroSD.

  12. Pressione o botão RST para redefinir o dispositivo e começar a inicialização da aplicação. Você também pode desconectar o cabo USB-UART da porta USB-UART e, em seguida, inserir o cabo novamente.

Solução de problemas

Se você encontrar erros de compilação relacionados a caminhos incorretos, tente limpar e compilar o projeto novamente, conforme descrito em Compilação do projeto de demonstração do FreeRTOS.

Se estiver usando o Windows, lembre-se de usar barras ao definir as variáveis de substituição de strings no IDE do Windows XSDK.

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.