

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

# Qualificação da placa
<a name="freertos-qualification"></a>

## Pré-requisitos
<a name="prerequistes-qualification"></a>

Requisitos de hardware:

A placa MCU-based de desenvolvimento na qual as bibliotecas do FreeRTOS são AWS IoT executadas deve ter:
+ Ethernet ou Wi-Fi capacidade de conectividade celular

Requisitos de software:

O [fluxograma de portabilidade](https://docs.aws.amazon.com/freertos/latest/portingguide/porting-chart.html) no Guia de *portabilidade do FreeRTOS* identifica as bibliotecas necessárias do FreeRTOS AWS IoT para qualquer placa de desenvolvimento. MCU-based O subconjunto mínimo é:
+ Kernel do FreeRTOS
+ coreMQTT
+ AWS IoT Over-The-Air atualização (OTA)

Requisitos de teste:
+ Verifique a implementação das APIs específicas da plataforma de hardware exigidas pelas bibliotecas do FreeRTOS em relação ao GitHub repositório de testes [definido](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests) usando o FreeRTOS. AWS IoT Device Tester Consulte [Verifique as bibliotecas do FreeRTOS portadas usando AWS IoT Device Tester (IDT)](#qualifying-your-device-idt).
+ Verifique a interoperabilidade AWS IoT Core usando o Device Advisor. Veja a Etapa 4 do [Verifique as bibliotecas do FreeRTOS portadas usando AWS IoT Device Tester (IDT)](#qualifying-your-device-idt).

## Recomendações
<a name="recommendations-qualification"></a>

Para melhorar a segurança, recomendamos o seguinte.
+ Para evitar que um comprometimento offline ou temporário se torne permanente, armazene segredos e credenciais em uma Raiz de confiança de hardware que resista a ataques físicos, como um [Elemento de segurança](https://wikipedia.org/wiki/Secure_element) ou um Enclave de segurança.
+ Para reduzir o risco de [falsificação](https://wikipedia.org/wiki/Spoofing_attack) de rede e ataques [intermediários que podem resultar na divulgação não autorizada de dados, use um True Random Number Generator](https://wikipedia.org/wiki/Man-in-the-middle_attack) [(TRNG) para](https://wikipedia.org/wiki/Hardware_random_number_generator) as bibliotecas FreeRTOS que implementam protocolos como DHCP, DNS e TLS. TCP/IP Para obter mais informações, consulte a página 50 da [Recomendação para a geração de números aleatórios utilizando geradores de bits aleatórios determinísticos](https://csrc.nist.gov/publications/detail/sp/800-90a/rev-1/final) (NIST SP 800-90A). 

## Etapas de qualificação
<a name="qualifying-your-device"></a>

### Verifique as bibliotecas do FreeRTOS portadas usando AWS IoT Device Tester (IDT)
<a name="qualifying-your-device-idt"></a>

1. Faça a portabilidade das bibliotecas do FreeRTOS para sua placa. Consulte o [Guia de portabilidade do FreeRTOS](https://docs.aws.amazon.com/freertos/latest/portingguide/) para obter instruções.

1. Crie um projeto de teste e transfira os testes necessários do [FreeRTOS-Libraries-Integration-Tests](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests) GitHub repositório. Chame a tarefa [ RunQualificationTest](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests/blob/a8cafefc714cdbb4ee1d0f97c92e9c4cc75059fd/src/qualification_test.c#L52)do executor de testes. 
**nota**  
Para uma boa experiência do desenvolvedor, é recomendável transferir as bibliotecas do FreeRTOS e executar o grupo de teste individual correspondente localmente usando um IDE para verificar a integração.  
A tarefa do executor de testes é executada em um projeto de teste individual ou no projeto da aplicação de demonstração.

1. Crie um arquivo `manifest.yml` para listar todas as dependências usadas nas qualificações. As dependências incluem as bibliotecas do FreeRTOS e os repositórios de teste. Para mais detalhes, consulte [Instruções do arquivo de manifesto do FreeRTOS](afq-checklist-manifest-instr.md). 
**nota**  
O `manifest.yml` é usado pelo IDT para descobrir as dependências necessárias para verificações de integridade em versões específicas da biblioteca FreeRTOS e para configurar o projeto de teste para compilar, instalar e executar os binários de teste.   
O IDT não exige uma estrutura de projeto específica e usa o caminho de referência incluído no arquivo `manifest.yml`.

1. <a name="qualifying-your-device-da"></a>Verifique a AWS IoT interoperabilidade usando o Device Advisor.

   1. Crie um projeto de demonstração que use os mesmos componentes, incluindo bibliotecas FreeRTOS, portabilidade e tarefas de integração, como o OTA, usadas nos testes acima.

      Para qualificação, a aplicação de demonstração deve fornecer os seguintes recursos:
      + Execute publicações do MQTT e assine um tópico.
      + Execute atualizações OTA.
      + Crie um carregador de inicialização compatível com atualizações OTA. Use o próprio carregador de inicialização ou [MCUboot](https://freertos.org/mcuboot/). Consulte [Labs-FreeRTOS-Plus-MCUBoot](https://github.com/FreeRTOS/Lab-Project-FreeRTOS-MCUBoot).
**nota**  
O repositório [ GitHubFreeRTOS](https://github.com/FreeRTOS/FreeRTOS) tem exemplos pré-configurados que demonstram tarefas individuais. Há também uma [demonstração da coreMQTT Agent](https://github.com/FreeRTOS/coreMQTT-Agent-Demos) integrada que incorpora tarefas coreMQTT e OTA. Além disso, consulte Integrações de IoT em destaque do FreeRTOS em [Exemplos de projetos de qualificação](examples-qualification.md). 

   1. AWS IoT Device Tester executará sua demonstração no [AWS IoT Device Advisor](https://docs.aws.amazon.com/iot/latest/developerguide/device-advisor.html). Os seguintes casos de teste do Device Advisor são necessários para a qualificação.  
**Casos de teste**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/freertos/latest/qualificationguide/freertos-qualification.html)

1. Execute os testes AWS IoT Device Tester e gere um relatório de teste.
   + O IDT configura testes e faz uma compilação e instalação na placa automaticamente. Para habilitar isso, você deve configurar o IDT para executar os comandos build e flash do dispositivo no arquivo `userdata.json`. Consulte [ Definir configurações de compilação, atualização e testes](https://docs.aws.amazon.com/freertos/latest/userguide/lts-qual-steps.html#lts-cfg-dt-ud) no [Guia do usuário do IDT para FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/device-tester-for-freertos-ug.html).
   + Forneça recursos compatíveis com o dispositivo no arquivo `device.json`, como tipo de conectividade, algoritmo de criptografia e método de provisionamento de chaves para que o IDT determine os testes aplicáveis a serem executados. Consulte [ Criar um pool de dispositivos no IDT para FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/lts-qual-steps.html#lts-cfg-dt-dp) no [Guia do usuário do IDT para FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/device-tester-for-freertos-ug.html). 
   + Crie e configure sua AWS conta no IDT para criar os recursos de nuvem necessários. Consulte [Criar e configurar uma AWS conta para o IDT para criar os recursos de nuvem necessários no Guia](https://docs.aws.amazon.com/freertos/latest/userguide/lts-qual-steps.html#lts-cfg-aws-afr) do usuário do [IDT for FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/device-tester-for-freertos-ug.html). 

### Preparação para enviar
<a name="qualifying-your-device-preparation"></a>

1. Escreva um **Guia de conceitos básicos** para executar o projeto de demonstração MQTT ou OTA em seu dispositivo. Consulte [ Criação de um guia de conceitos básicos no guia do FreeRTOS para o dispositivo](https://docs.aws.amazon.com/freertos/latest/qualificationguide/afq-gsg.html) para obter instruções.

1. *Forneça um documento de modelagem de ameaças verificando se você mitiga os riscos definidos na [Modelagem de Ameaças para o carregador de inicialização do AWS IoT dispositivo](https://docs.aws.amazon.com/freertos/latest/portingguide/afr-porting-ota.html#afr-bootloader), descrito em Portando a biblioteca [OTA no Guia de Portabilidade do](https://docs.aws.amazon.com/freertos/latest/portingguide/afr-porting-ota.html) FreeRTOS.* Este documento deve ser carregado como um Ativo de suporte ao enviar o dispositivo na [Central de parceiros da APN.](https://partnercentral.awspartner.com) 

1. Forneça um repositório público para downloads de código. Recomendamos que você forneça um link para o GitHub repositório corporativo.

### Envio de qualificação
<a name="qualifying-your-device-submission"></a>
+ Relatório de teste do IDT.
+ AWS IoT Relatório de teste do Device Advisor.
+ Documento de modelagem de ameaças.
+ GitHub repositório com o código-fonte para downloads.