Conceitos básicos do Nuvoton NuMaker-IoT-M487 - FreeRTOS

Conceitos básicos do Nuvoton NuMaker-IoT-M487

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 a placa de desenvolvimento Nuvoton NuMaker-IoT-M487. O microcontrolador de série inclui módulos RJ45 Ethernet e Wi-Fi integrados. Se você não tem o Nuvoton NuMaker-IoT-M487, 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 software do FreeRTOS para conectar sua placa de desenvolvimento à nuvem da AWS. Para instruções, consulte Primeiras etapas. Neste tutorial, o caminho para o diretório de download do FreeRTOS é chamado freertos.

Visão geral

Este tutorial orienta você pelas seguintes etapas:

  1. Instalar software na máquina host para desenvolver e depurar aplicações incorporadas para a placa do microcontrolador.

  2. Fazer a compilação cruzada de uma aplicação de demonstração do FreeRTOS para uma imagem binária.

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

Configuração do ambiente de desenvolvimento

A edição Keil MDK Nuvoton foi projetada para desenvolver e depurar aplicações para placas Nuvoton M487. A versão Essential, Plus ou Pro do Keil MDK v5 também deve funcionar para o MCU Nuvoton M487 (núcleo Cortex-M4). Você pode fazer download da edição Keil MDK Nuvoton com um desconto para os MCUs da série Nuvoton Cortex-M4. O Keil MDK só é compatível com o Windows.

Para instalar a ferramenta de desenvolvimento para o NuMaker-IoT-M487
  1. Faça download da Edição Keil MDK Nuvoton no site do Keil MDK.

  2. Instale o Keil MDK em sua máquina host usando sua licença. O Keil MDK inclui o Keil µVision IDE, uma cadeia de ferramentas de compilação C/C++ e o depurador µVision.

    Se você tiver problemas durante a instalação, entre em contato com a Nuvoton para obter assistência.

  3. Instale oNu-Link_Keil_Driver_V3.06.7215r (ou versão mais recente), que está na página Ferramenta de desenvolvimento do Nuvoton.

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

Como compilar o projeto de demonstração do FreeRTOS
  1. Abra o IDE Keil µVision.

  2. No menu File (Arquivo), escolha Open (Abrir). Na caixa de diálogo Open file (Abrir arquivo), verifique se o seletor de tipo de arquivo está definido como Project Files (Arquivos de projeto).

  3. Escolha o projeto de demonstração Wi-Fi ou Ethernet a ser criado.

    • Para abrir o projeto de demonstração Wi-Fi, escolha o projeto de destino aws_demos.uvproj no diretório freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos.

    • Para abrir o projeto de demonstração Ethernet, escolha o projeto de destino aws_demos_eth.uvproj no diretório freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos_eth.

  4. Para garantir que suas configurações estejam corretas para atualizar a placa, clique com o botão direito do mouse no projeto aws_demo no IDE e escolha Options (Opções). (Consulte Solução de problemas para obter mais detalhes.)

  5. Na guia Utilities (Utilitários) verifique se Use Target Driver for Flash Programming (Usar o driver de destino para programação flash) está selecionado e se Nuvoton Nu-Link Debugger (Depurador Nuvoton Nu-Link) está definido como o driver de destino.

  6. Na guia Debug (Depurar), ao lado de Nuvoton Nu-Link Debugger (Depurador Nuvoton Nu-Link), escolha Settings (Configurações).

  7. Verifique se Chip Type (Tipo de chip) está definido como M480.

  8. No painel de navegação Project (Projeto) do IDE do Keil µVision, escolha o projeto aws_demos. No menu Project (Projeto), escolha Build Target (Compilar destino).

Você pode usar o cliente MQTT no console da AWS IoT para monitorar as mensagens enviadas pelo dispositivo para a Nuvem 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.

Como executar o projeto de demonstração do FreeRTOS
  1. Conecte a placa Numaker-IoT-M487 à máquina host (computador).

  2. Recrie o projeto.

  3. No Keil µVision IDE, no menu Flash (Atualizar) escolha Download (Fazer download).

  4. No menu Debug (Depurar), escolha Start/Stop Debug Session (Iniciar/interromper sessão de depuração).

  5. Quando o depurador parar no ponto de interrupção em main(), abra o menu Run (Executar) e escolha Run (F5) (Executar (F5)).

    Você deve ver mensagens MQTT enviadas pelo dispositivo no cliente MQTT no console do AWS IoT.

Uso da CMake com o FreeRTOS

Você também pode usar o CMake para compilar e executar aplicações de demonstração do FreeRTOS ou aplicações que você desenvolveu usando editores de código e ferramentas de depuração de terceiros.

Verifique se você instalou o sistema de compilação do CMake. Siga as instruções em Uso da CMake com o FreeRTOS e depois siga as etapas nesta seção.

nota

Certifique-se de que o caminho para o local do compilador (Keil) esteja na variável do sistema Path, por exemplo, C:\Keil_v5\ARM\ARMCC\bin.

Você pode usar o cliente MQTT no console da solução 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.

Para gerar arquivos de compilação a partir de arquivos de origem e executar o projeto de demonstração
  1. Na máquina host, abra o prompt de comando e navegue até a pasta freertos.

  2. Crie uma pasta para conter os arquivos de compilação gerados. Chamaremos essa pasta de BUILD_FOLDER.

  3. Gere os arquivos de compilação para a demonstração Wi-Fi ou Ethernet.

    • Para Wi-Fi:

      Navegue até o diretório que contém os arquivos de origem do projeto de demonstração do FreeRTOS. Depois, gere os arquivos de compilação executando o seguinte comando.

      cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -S . -B BUILD_FOLDER -G Ninja
    • Para Ethernet:

      Navegue até o diretório que contém os arquivos de origem do projeto de demonstração do FreeRTOS. Depois, gere os arquivos de compilação executando o seguinte comando.

      cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -DAFR_ENABLE_ETH=1 -S . -B BUILD_FOLDER -G Ninja
  4. Gere o binário para refletir no M487 executando o seguinte comando.

    cmake --build BUILD_FOLDER

    Nesse ponto, o arquivo binário aws_demos.bin deve estar na pasta BUILD_FOLDER/vendors/Nuvoton/boards/numaker_iot_m487_wifi.

  5. Para configurar a placa para o modo de atualização, certifique-se de que o switch MSG (No.4 do ISW1 no ICE) esteja ativado. Quando você conecta a placa, uma janela (e unidade) será atribuída. (Consulte .) Solução de problemas.)

  6. Abra um emulador de terminal para visualizar as mensagens via UART. Siga as instruções em Instalação de um emulador de terminal.

  7. Execute o projeto de demonstração copiando o binário gerado no dispositivo.

    Se você assinou o tópico MQTT com o cliente MQTT da AWS IoT, deverá ver mensagens MQTT enviadas pelo dispositivo no console da AWS IoT.

Solução de problemas

  • Se o Windows não reconhecer o dispositivo VCOM, instale o driver de porta serial do Windows NuMaker no link Nu-Link USB Driver v1.6.

  • Se você conectar o dispositivo ao Keil MDK (IDE) por meio do Nu-Link, verifique se o switch MSG (No.4 do ISW1 no ICE) está desativado, conforme mostrado.

    Placa de circuito impresso com slot para cartão SD, microcontrolador, conexões e conectores de alimentação e reset identificados.

Se você tiver problemas para configurar seu ambiente de desenvolvimento ou se conectar à placa, entre em contato com a Nuvoton.

Depuração de projetos do FreeRTOS no Keil µVision

Para iniciar uma sessão de depuração no Keil µVision
  1. Abra o Keil µVision.

  2. Siga as etapas para compilar o projeto de demonstração do FreeRTOS em Compilação e execução do projeto de demonstração do FreeRTOS.

  3. No menu Debug (Depurar), escolha Start/Stop Debug Session (Iniciar/interromper sessão de depuração).

    A janela Call Stack+Locals (Chamar pilha+locais) é exibida quando você inicia uma sessão de depuração. O μVision exibe a demonstração na placa, executa a demonstração e para no início da função main().

  4. Defina os pontos de interrupção no código-fonte do projeto e execute-o. O projeto deve parecer com algo semelhante ao seguinte:

    Arquivo de código-fonte principal com inicialização de hardware, agendamento de tarefas e provisionamento de chaves para um projeto de microcontrolador.

Solução de problemas de configurações de depuração do µVision

Se você encontrar problemas ao depurar uma aplicação, verifique se as configurações de depuração estão definidas corretamente no Keil µVision.

Para verificar se as configurações de depuração do µVision estão corretas
  1. Abra o Keil µVision.

  2. Clique com o botão direito do mouse no projeto aws_demo no IDE e escolha Options (Opções).

  3. Na guia Utilities (Utilitários) verifique se Use Target Driver for Flash Programming (Usar o driver de destino para programação flash) está selecionado e se Nuvoton Nu-Link Debugger (Depurador Nuvoton Nu-Link) está definido como o driver de destino.

    Janela de opções que exibe as configurações de programação flash, depuração e processamento de arquivos de saída.
  4. Na guia Debug (Depurar), ao lado de Nuvoton Nu-Link Debugger (Depurador Nuvoton Nu-Link), escolha Settings (Configurações).

    Caixa de diálogo de configurações do depurador Nu-Link com opções para versão do driver, versão do ICE, família do dispositivo, ID do dispositivo, porta, clock máximo, tipo de chip, modo de conexão, opção de reinicialização e tensões de controle de energia.
  5. Verifique se Chip Type (Tipo de chip) está definido como M480.