Fazer download, compilação, atualização e execução de demonstração OTA do FreeRTOS no RX65N da Renesas - Gratuito RTOS

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

Fazer download, compilação, atualização e execução de demonstração OTA do FreeRTOS no RX65N da Renesas

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 RTOS repositório Github gratuito da Amazon.

Esse capítulo mostra como você faz download, compilação, atualização e execução das aplicações de demonstração OTA do FreeRTOS no RX65N da Renesas.

Configuração do ambiente operacional

Os procedimentos nesta seção usam os seguintes ambientes:

  • IDE: e2 studio 7.8.0, e2 studio 2020-07

  • Cadeia de ferramentas: compilador CCRX v3.0.1

  • Dispositivos de destino: RSKRX65N-2MB

  • Depuradores: emulador E2, E2 Lite

  • Software: Renesas Flash Programmer, Renesas Secure Flash Programmer.exe, Tera Term

Como configurar o hardware
  1. Conecte o emulador E2 Lite e a porta serial USB à placa RX65N e ao PC.

  2. Conecte a fonte de alimentação ao RX65N.

Configure seus AWS recursos

  1. Para executar as demonstrações do FreeRTOS, você deve ter AWS uma conta com um usuário do IAM que tenha permissão para acessar os serviços. AWS IoT Caso ainda não tenha, siga as etapas em Configurando sua AWS conta e permissões.

  2. Para configurar as atualizações OTA, siga as etapas em OTApré-requisitos de atualização. Em especial, siga as etapas em Pré-requisitos para atualizações usando OTA MQTT.

  3. Abra o console de AWS IoT.

  4. No painel de navegação à esquerda, escolha Gerenciar e, depois, Coisas para criar uma coisa.

    Uma coisa é uma representação de um dispositivo ou entidade lógica em AWS IoT. Ela pode ser um dispositivo físico ou sensor (por exemplo, uma lâmpada ou um interruptor em uma parede). Também pode ser uma entidade lógica, como uma instância de um aplicativo ou entidade física que não se conecta AWS IoT, mas está relacionada a dispositivos que o fazem (por exemplo, um carro com sensores de motor ou um painel de controle). AWS IoT fornece um registro de coisas que ajuda você a gerenciar suas coisas.

    1. Escolha Criar e Criar uma única coisa.

    2. Insira o Nome da coisa e escolha Próximo.

    3. Selecione Criar certificado.

    4. Faça download dos três arquivos criados e escolha Ativar.

    5. Selecione a opção Anexar uma política.

      tela do console mostrando os arquivos a serem baixados
    6. Selecione a política que você criou em Política de dispositivo.

      Cada dispositivo que recebe uma atualização OTA usando o MQTT deve ser registrado como um item AWS IoT e deve ter uma política anexada, como a listada. Você pode encontrar mais informações sobre os itens nos objetos "Resource" e "Action" em Ações da política principal do AWS IoT e Recursos da ação principal do AWS IoT.

      Observações
      • As iot:Connect permissões permitem que seu dispositivo se conecte AWS IoT ao MQTT.

      • As permissões de iot:Subscribe e iot:Publish para tópicos de trabalhos da AWS IoT (.../jobs/*) permitem que o dispositivo conectado receba notificações de trabalho e documentos de trabalho, e publique o estado de conclusão da execução de um trabalho.

      • As iot:Publish permissões iot:Subscribe e sobre os tópicos de fluxos AWS IoT OTA (.../streams/*) permitem que o dispositivo conectado busque dados de atualização do OTA de. AWS IoT Essas permissões são necessárias para executar atualizações de firmware pelo MQTT.

      • As iot:Receive permissões AWS IoT Core permitem publicar mensagens sobre esses tópicos no dispositivo conectado. Essa permissão é verificada em cada entrega de uma mensagem de MQTT. Você pode usar essa permissão para revogar o acesso a clientes que estão inscritos em um tópico atualmente.

  5. Para criar um perfil de assinatura de código e registrar um certificado de assinatura de código em. AWS

    1. Para criar as chaves e a certificação, consulte a seção 7.3 "Geração de pares de chaves ECDSA-SHA256 com OpenSSL" na Política de criação de atualização de firmware de MCU da Renesas.

    2. Abra o console de AWS IoT. No painel de navegação esquerdo, selecione Gerenciar, depois, Trabalhos. Selecione Criar um trabalho, depois Criar trabalho de atualização OTA.

    3. Em Selecionar dispositivos para atualizar, escolha Selecionar e escolha a coisa que você criou anteriormente. Escolha Próximo.

    4. Na página Criar um trabalho de atualização OTA do FreeRTOS, faça o seguinte:

      1. Em Selecionar o protocolo para transferência de imagem do firmware, escolha MQTT.

      2. Em Selecionar e assinar a imagem de firmware, escolha Assinar uma nova imagem de firmware para mim.

      3. Em Perfil de assinatura de código, escolha Criar.

      4. Na janela Criar um perfil de assinatura de código, insira um nome de perfil. Para a plataforma de hardware de dispositivo, selecione o Windows Simulator. Para o certificado de assinatura de código, escolha Importar.

      5. Navegue para selecionar o certificado (secp256r1.crt), a chave privada do certificado (secp256r1.key) e a cadeia de certificados (ca.crt).

      6. Insira um nome de caminho do certificado de assinatura de código no dispositivo. Em seguida, selecione Criar.

  6. Para conceder acesso à assinatura de código para AWS IoT, siga as etapas emConceda acesso à assinatura de código para AWS IoT.

Se não tem o Tera Term instalado no PC, você pode baixá-lo em https://ttssh2.osdn.jp/index.html.en e configurá-lo conforme mostrado aqui. Conecte a porta serial USB do dispositivo ao PC.

Janela de configuração da porta serial do Tera Term

Importe, configure o arquivo de cabeçalho e compile aws_demos e boot_loader

Para começar, você seleciona a versão mais recente do pacote FreeRTOS, e ela será GitHub baixada e importada automaticamente para o projeto. Dessa forma, você pode se concentrar na configuração do FreeRTOS e na escrita do código da aplicação.

  1. Lançamento do e2 studio.

  2. Escolha o Arquivo e depois Importar....

  3. Selecione o projeto Renesas GitHub FreeRTOS (com bibliotecas de IoT).

    janela de importação do e-squared studio
  4. Escolha Verificar mais versões... para mostrar a caixa de diálogo de download.

    janela de diálogo de download do e-squared studio
  5. Selecione o pacote mais recente.

    janela de diálogo de download do módulo do e-squared studio
  6. Escolha Concordo para aceitar o contrato de licença do usuário final.

    Diálogo de EULA do e-squared studio
  7. Aguarde a conclusão do download.

    barra de progresso do download
  8. Selecione os projetos aws_demos e boot_loader e escolha Concluir para importá-los.

    janela de importação de projetos
  9. Para ambos os projetos, abra as propriedades do projeto. No painel de navegação, selecione Editor de cadeia de ferramentas.

    1. Escolha a Cadeia de ferramentas atual.

    2. Escolha o Builder atual.

    janela de propriedades do e-squared studio
  10. No painel de navegação, selecione Configurações. Escolha a guia Cadeia de ferramentas e, em seguida, escolha a Versão da cadeia de ferramentas.

    Configurações de integração do conjunto de ferramentas para o Renesas CCRX versão v3.01.00, com opção de alterar o conjunto de ferramentas.

    Escolha a guia Configurações de ferramenta, expanda Conversor e escolha Saída. Na janela principal, verifique se Arquivo hexadecimal de saída está selecionado e escolha o tipo de arquivo de saída.

    Janela de configurações do C/C++ Build mostrando as opções do compilador e do vinculador, como arquivo hexadecimal de saída, tipo de arquivo de saída, diretório de saída e opções de divisão de arquivos.
    Árvore de configurações de interface com opções para Stack Analysis, Tool Chain Editor, C/C++ General, MCU, Project References, etc.
  11. No projeto carregador de inicialização, abra projects\renesas\rx65n-rsk\e2studio\boot_loader\src\key\code_signer_public_key.h e insira a chave pública. Para obter informações sobre como criar uma chave pública, consulte Como implementar o OTA do FreeRTOS usando o Amazon Web Services no RX65N e a seção 7.3 "Geração de pares de chaves ECDSA-SHA256 com OpenSSL" na Política de criação de atualização de firmware de MCU da Renesas.

    Editor de código mostrando um arquivo de cabeçalho C com definição para CODE_SIGNER_PUBLIC_KEY e uma variável de chave pública do assinante de código codificada por PEM.

    Em seguida, compile o projeto para criar boot_loader.mot.

  12. Abra o projeto aws_demos.

    1. Abra o console de AWS IoT.

    2. No painel de navegação à esquerda, escolha Configurações. Anote seu endpoint personalizado na caixa de texto Endpoint de dados do dispositivo.

    3. Escolha Gerenciar e, em seguida, Coisas. Anote o nome do AWS IoT item do seu quadro.

    4. No projeto aws_demos, abra demos/include/aws_clientcredential.h e especifique os seguintes valores.

      #define clientcredentialMQTT_BROKER_ENDPOINT[] = "Your AWS IoT endpoint"; #define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"
      Trecho de código mostrando o nome da AWS IoT coisa e as configurações do endpoint do broker.
    5. Abra o arquivo tools/certificate_configuration/CertificateConfigurator.html.

    6. Importe o arquivo PEM do certificado e o arquivo PEM da chave privada que você baixou anteriormente.

    7. Escolha Gerar e salvar aws_clientcredential_keys.h e substitua esse arquivo no diretório demos/include/.

      Ferramenta de configuração de certificados com campos para fornecer arquivos PEM de certificado de cliente e chave privada a partir do AWS IoT console e um botão para gerar e salvar o arquivo aws_clientcredential_keys.h.
    8. Abra o arquivo vendors/renesas/boards/rx65n-rsk/aws_demos/config_files/ota_demo_config.h e especifique esses valores.

      #define otapalconfigCODE_SIGNING_CERTIFICATE [] = "your-certificate-key";

      No qual your-certificate-key é o valor do arquivo secp256r1.crt. Lembre-se de adicionar "\" após cada linha na certificação. Para obter mais informações sobre a criação do arquivo secp256r1.crt, consulte Como implementar o OTA do FreeRTOS usando o Amazon Web Services no RX65N e a seção 7.3 "Geração de pares de chaves ECDSA-SHA256 com OpenSSL" na Política de criação de atualização de firmware de MCU da Renesas.

      Arquivo de código-fonte mostrando o código C definindo uma string constante de certificado de assinante de código codificada por PEM com dados de certificado redigidos.
  13. Tarefa A: Instalar a versão inicial do firmware

    1. Abra o arquivo vendors/renesas/boards/board/aws_demos/config_files/aws_demo_config.h, comente #define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED e defina CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED ou CONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED.

    2. Abra o arquivo demos/include/ aws_application_version.h e defina a versão inicial do firmware como 0.9.2.

      Trecho de código mostrando as definições de versão de um aplicativo, incluindo macros para números de versão principal, secundária e de compilação.
    3. Altere as configurações a seguir em Visualizador de seção.

      Janela do visualizador de seções mostrando endereços de memória, nomes de seções como SU, SI, registros e componentes da interface, como buffers de rede, exceções e botões de ação.
    4. Escolha Compilar para criar o arquivo aws_demos.mot.

  14. Crie o arquivo userprog.mot com o Renesas Secure Flash Programmer. userprog.mot é uma combinação de aws_demos.mot e boot_loader.mot. Você pode atualizar esse arquivo para o RX65N-RSK para instalar o firmware inicial.

    1. Baixe https://github.com/renesas/Amazon-FreeRTOS-Tools e abra Renesas Secure Flash Programmer.exe.

    2. Escolha a guia Firmware inicial e defina os seguintes parâmetros:

      • Caminho da chave privada: a localização de secp256r1.privatekey.

      • Caminho do arquivo do carregador de inicialização: a localização de boot_loader.mot (projects\renesas\rx65n-rsk\e2studio\boot_loader\HardwareDebug).

      • Caminho do arquivo: a localização do arquivo aws_demos.mot (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

      Janela do Renesas Secure Flash Programmer com MCU, verificação de firmware, número de sequência, caminho da chave AES e campos de caminho do arquivo.
    3. Crie um diretório chamado init_firmware gere userprog.mot e salve-o no diretório init_firmware. Verifique se o que foi gerado teve êxito.

  15. Atualize o firmware inicial no RX65N-RSK.

    1. Baixe a versão mais recente do Renesas Flash Programmer (GUI de programação) em https://www.renesas.com/tw/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html.

    2. Abra o arquivo vendors\renesas\rx_mcu_boards\boards\rx65n-rsk\aws_demos\flash_project\erase_from_bank\ erase.rpj para apagar dados no banco.

    3. Escolha Iniciar para apagar o banco.

      Janela do Renesas Flash Programmer mostrando detalhes do projeto do microcontrolador RX Group, caminho do arquivo e opções de operação do flash, como Apagar, Programar e Verificar com os botões Iniciar e OK.
    4. Para atualizar userprog.mot, escolha Procurar... e navegue até o diretório init_firmware, selecione o arquivo userprog.mot e escolha Iniciar.

      Janela do Renesas Flash Programmer mostrando as configurações de operação de apagamento, incluindo o microcontrolador RX Group, a opção de procurar o arquivo do programa, os botões Apagar e Iniciar e detalhes de status nos blocos selecionados a serem apagados.
  16. A versão 0.9.2 (versão inicial) do firmware foi instalada no seu RX65N-RSK. Agora, a placa RX65N-RSK está recebendo as atualizações OTA. Ao abrir o Tera Term no PC, você verá algo parecido com o seguinte quando o firmware inicial for executado.

    ------------------------------------------------- RX65N secure boot program ------------------------------------------------- Checking flash ROM status. bank 0 status = 0xff [LIFECYCLE_STATE_BLANK] bank 1 status = 0xfc [LIFECYCLE_STATE_INSTALLING] bank info = 1. (start bank = 0) start installing user program. copy secure boot (part1) from bank0 to bank1...OK copy secure boot (part2) from bank0 to bank1...OK update LIFECYCLE_STATE from [LIFECYCLE_STATE_INSTALLING] to [LIFECYCLE_STATE_VALID] bank1(temporary area) block0 erase (to update LIFECYCLE_STATE)...OK bank1(temporary area) block0 write (to update LIFECYCLE_STATE)...OK swap bank... ------------------------------------------------- RX65N secure boot program ------------------------------------------------- Checking flash ROM status. bank 0 status = 0xf8 [LIFECYCLE_STATE_VALID] bank 1 status = 0xff [LIFECYCLE_STATE_BLANK] bank info = 0. (start bank = 1) integrity check scheme = sig-sha256-ecdsa bank0(execute area) on code flash integrity check...OK jump to user program 0 1 [ETHER_RECEI] Deferred Interrupt Handler Task started 1 1 [ETHER_RECEI] Network buffers: 3 lowest 3 2 1 [ETHER_RECEI] Heap: current 234192 lowest 234192 3 1 [ETHER_RECEI] Queue space: lowest 8 4 1 [IP-task] InitializeNetwork returns OK 5 1 [IP-task] xNetworkInterfaceInitialise returns 0 6 101 [ETHER_RECEI] Heap: current 234592 lowest 233392 7 2102 [ETHER_RECEI] prvEMACHandlerTask: PHY LS now 1 8 3001 [IP-task] xNetworkInterfaceInitialise returns 1 9 3092 [ETHER_RECEI] Network buffers: 2 lowest 2 10 3092 [ETHER_RECEI] Queue space: lowest 7 11 3092 [ETHER_RECEI] Heap: current 233320 lowest 233320 12 3193 [ETHER_RECEI] Heap: current 233816 lowest 233120 13 3593 [IP-task] vDHCPProcess: offer c0a80a09ip 14 3597 [ETHER_RECEI] Heap: current 233200 lowest 233000 15 3597 [IP-task] vDHCPProcess: offer c0a80a09ip 16 3597 [IP-task] IP Address: 192.168.10.9 17 3597 [IP-task] Subnet Mask: 255.255.255.0 18 3597 [IP-task] Gateway Address: 192.168.10.1 19 3597 [IP-task] DNS Server Address: 192.168.10.1 20 3600 [Tmr Svc] The network is up and running 21 3622 [Tmr Svc] Write certificate... 22 3697 [ETHER_RECEI] Heap: current 232320 lowest 230904 23 4497 [ETHER_RECEI] Heap: current 226344 lowest 225944 24 5317 [iot_thread] [INFO ][DEMO][5317] ---------STARTING DEMO--------- 25 5317 [iot_thread] [INFO ][INIT][5317] SDK successfully initialized. 26 5317 [iot_thread] [INFO ][DEMO][5317] Successfully initialized the demo. Network type for the demo: 4 27 5317 [iot_thread] [INFO ][MQTT][5317] MQTT library successfully initialized. 28 5317 [iot_thread] [INFO ][DEMO][5317] OTA demo version 0.9.2 29 5317 [iot_thread] [INFO ][DEMO][5317] Connecting to broker... 30 5317 [iot_thread] [INFO ][DEMO][5317] MQTT demo client identifier is rx65n-gr-rose (length 13). 31 5325 [ETHER_RECEI] Heap: current 206944 lowest 206504 32 5325 [ETHER_RECEI] Heap: current 206440 lowest 206440 33 5325 [ETHER_RECEI] Heap: current 206240 lowest 206240 38 5334 [ETHER_RECEI] Heap: current 190288 lowest 190288 39 5334 [ETHER_RECEI] Heap: current 190088 lowest 190088 40 5361 [ETHER_RECEI] Heap: current 158512 lowest 158168 41 5363 [ETHER_RECEI] Heap: current 158032 lowest 158032 42 5364 [ETHER_RECEI] Network buffers: 1 lowest 1 43 5364 [ETHER_RECEI] Heap: current 156856 lowest 156856 44 5364 [ETHER_RECEI] Heap: current 156656 lowest 156656 46 5374 [ETHER_RECEI] Heap: current 153016 lowest 152040 47 5492 [ETHER_RECEI] Heap: current 141464 lowest 139016 48 5751 [ETHER_RECEI] Heap: current 140160 lowest 138680 49 5917 [ETHER_RECEI] Heap: current 138280 lowest 138168 59 7361 [iot_thread] [INFO ][MQTT][7361] Establishing new MQTT connection. 62 7428 [iot_thread] [INFO ][MQTT][7428] (MQTT connection 81cfc8, CONNECT operation 81d0e8) Wait complete with result SUCCESS. 63 7428 [iot_thread] [INFO ][MQTT][7428] New MQTT connection 4e8c established. 64 7430 [iot_thread] [OTA_AgentInit_internal] OTA Task is Ready. 65 7430 [OTA Agent T] [prvOTAAgentTask] Called handler. Current State [Ready] Event [Start] New state [RequestingJob] 66 7431 [OTA Agent T] [INFO ][MQTT][7431] (MQTT connection 81cfc8) SUBSCRIBE operation scheduled. 67 7431 [OTA Agent T] [INFO ][MQTT][7431] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Waiting for operation completion. 68 7436 [ETHER_RECEI] Heap: current 128248 lowest 127992 69 7480 [OTA Agent T] [INFO ][MQTT][7480] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Wait complete with result SUCCESS. 70 7480 [OTA Agent T] [prvSubscribeToJobNotificationTopics] OK: $aws/things/rx65n-gr-rose/jobs/$next/get/accepted 71 7481 [OTA Agent T] [INFO ][MQTT][7481] (MQTT connection 81cfc8) SUBSCRIBE operation scheduled. 72 7481 [OTA Agent T] [INFO ][MQTT][7481] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Waiting for operation completion. 73 7530 [OTA Agent T] [INFO ][MQTT][7530] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Wait complete with result SUCCESS. 74 7530 [OTA Agent T] [prvSubscribeToJobNotificationTopics] OK: $aws/things/rx65n-gr-rose/jobs/notify-next 75 7530 [OTA Agent T] [prvRequestJob_Mqtt] Request #0 76 7532 [OTA Agent T] [INFO ][MQTT][7532] (MQTT connection 81cfc8) MQTT PUBLISH operation queued. 77 7532 [OTA Agent T] [INFO ][MQTT][7532] (MQTT connection 81cfc8, PUBLISH operation 818b80) Waiting for operation completion. 78 7552 [OTA Agent T] [INFO ][MQTT][7552] (MQTT connection 81cfc8, PUBLISH operation 818b80) Wait complete with result SUCCESS. 79 7552 [OTA Agent T] [prvOTAAgentTask] Called handler. Current State [RequestingJob] Event [RequestJobDocument] New state [WaitingForJob] 80 7552 [OTA Agent T] [prvParseJSONbyModel] Extracted parameter [ clientToken: 0:rx65n-gr-rose ] 81 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: execution 82 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: jobId 83 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: jobDocument 84 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: afr_ota 85 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: protocols 86 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: files 87 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: filepath 99 7651 [ETHER_RECEI] Heap: current 129720 lowest 127304 100 8430 [iot_thread] [INFO ][DEMO][8430] State: Ready Received: 1 Queued: 0 Processed: 0 Dropped: 0 101 9430 [iot_thread] [INFO ][DEMO][9430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 102 10430 [iot_thread] [INFO ][DEMO][10430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 103 11430 [iot_thread] [INFO ][DEMO][11430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 104 12430 [iot_thread] [INFO ][DEMO][12430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 105 13430 [iot_thread] [INFO ][DEMO][13430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 106 14430 [iot_thread] [INFO ][DEMO][14430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 107 15430 [iot_thread] [INFO ][DEMO][15430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0
  17. Tarefa B: Atualização da versão do firmware

    1. Abra o arquivo demos/include/aws_application_version.h e incremente o valor do token APP_VERSION_BUILD para 0.9.3.

    2. Recrie o projeto.

  18. Crie o arquivo userprog.rsu com o Renesas Secure Flash Programmer para atualizar a versão do seu firmware.

    1. Abra o arquivo Amazon-FreeRTOS-Tools\Renesas Secure Flash Programmer.exe.

    2. Escolha a guia Atualizar firmware e defina os seguintes parâmetros:

      • Caminho do arquivo: a localização do arquivo aws_demos.mot (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

    3. Crie um diretório chamado update _firmware. Gere userprog.rsu e salve-o no diretório update_firmware. Verifique se o que foi gerado teve êxito.

      Janela do Renesas Secure Flash Programmer com seleção de MCU, tipo de verificação de firmware, número de sequência, campo de chave AES MAC e entrada de caminho de arquivo para gerar firmware seguro.
  19. Faça o upload da atualização do firmware userproj.rsu, em um bucket do Amazon S3, conforme descrito em Criação de um bucket do Amazon S3 para armazenar a atualização.

    Interface de gerenciamento de buckets do Amazon S3 com opções de pastas, uploads, versões e permissões
  20. Crie uma trabalho para atualizar o firmware no RX65N-RSK.

    AWS IoT Jobs é um serviço que notifica um ou mais dispositivos conectados sobre um Job pendente. Um trabalho pode ser usado para gerenciar uma frota de dispositivos, atualizar o firmware e os certificados de segurança em dispositivos ou realizar tarefas administrativas, como reiniciar dispositivos e realizar diagnósticos.

    1. Faça login no console do AWS IoT. No painel de navegação, escolha Gerenciar e escolha Trabalhos.

    2. Escolha Criar um trabalho, e escolha Criar trabalho de atualização OTA. Selecione uma coisa e escolha Avançar.

    3. Crie um trabalho de atualização OTA do FreeRTOS desta forma:

      • Escolha MQTT.

      • Selecione o perfil de assinatura de código criado na seção anterior.

      • Selecione a imagem do firmware que você carregou em um bucket do Amazon S3.

      • Em Nome do caminho da imagem do firmware no dispositivo, insira test.

      • Selecione o perfil do IAM que você criou na seção anterior.

    4. Escolha Próximo.

      Assinatura de imagem de firmware e configurações de atualização OTA com opções para assinar novo firmware, selecionar firmware assinado anteriormente, usar firmware assinado personalizado, especificar perfil de assinatura de código, arquivo de imagem de firmware, caminho no dispositivo e função do IAM para o trabalho de atualização OTA.
    5. Insira um ID e escolha Criar.

  21. Reabra o Tera Term para verificar se o firmware foi atualizado com êxito para a versão de demonstração 0.9.3 do OTA.

    Saída de linha de comando mostrando a inicialização e a conexão de um thread a um broker.
  22. No AWS IoT console, verifique se o status do trabalho é Bem-sucedido.

    Visão geral do trabalho de teste AFR OTA-Demo mostrando que 1 recurso foi bem-sucedido.