

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

# Começando com o kit Cypress CY8CKIT-064S0S2-4343W
<a name="getting_started_cypress_psoc64"></a>

**Importante**  <a name="deprecation-message"></a>
Essa integração de referência está hospedada no Amazon-FreeRTOS repositório que está obsoleto. Recomendamos [começar aqui](freertos-getting-started-modular.md) ao criar um novo projeto. Se você já tem um projeto FreeRTOS existente com base no repositório agora Amazon-FreeRTOS obsoleto, consulte o. [Amazon-FreeRTOS Guia de migração do repositório Github](github-repo-migration.md)

Este tutorial fornece instruções para começar a usar o [CY8CKIT-064S0S2-4343W](https://www.cypress.com/CY8CKIT-064S0S2-4343W)kit. Você pode usar esse link para comprar um kit, caso ainda não tenha. Você também pode usar esse link para acessar o guia do usuário do kit. 

## Introdução
<a name="getting_started_cypress_psoc64_first"></a>

Antes de começar, você deve configurar AWS IoT os FreeRTOS para conectar seu dispositivo à nuvem. AWS Para instruções, consulte [Primeiras etapas](freertos-prereqs.md). Depois de concluir os pré-requisitos, você terá um pacote FreeRTOS com credenciais. AWS IoT Core 

**nota**  
Neste tutorial, o caminho para o diretório de download do FreeRTOS criado na seção "Primeiras etapas" é chamado `{{freertos}}`.

## Configuração do ambiente de desenvolvimento
<a name="getting_started_cypress_psoc64_setup"></a>

O FreeRTOS funciona com um fluxo de compilação CMake ou Make. Você pode usar ModusToolbox para seu fluxo de construção do Make. Você pode usar o IDE Eclipse fornecido com ModusToolbox ou um IDE parceiro, como IAR EW-Arm, Arm MDK ou Microsoft Visual Studio Code. O IDE do Eclipse é compatível com os sistemas operacionais Windows, macOS e Linux. 

Antes de começar, baixe e instale o [ModusToolbox software](https://www.cypress.com/products/modustoolbox-software-environment) mais recente. Para obter mais informações, consulte o [Guia ModusToolbox de instalação](https://www.cypress.com/ModusToolboxInstallGuide).

### Ferramentas de atualização para ModusToolbox 2.1 ou versões anteriores
<a name="getting_started_cypress_psoc64_modus_toolbox_updates"></a>

Se você estiver usando o IDE Eclipse ModusToolbox 2.1 para programar este kit, precisará atualizar o Firmware-loader OpenOCD e as ferramentas. 

Nas etapas a seguir, por padrão, o caminho `{{ModusToolbox}}` para:
+ Do Windows é `C:\Users\{{user_name}}\ModusToolbox`.
+ Do Linux é `{{user_home}}/ModusToolbox` ou onde você escolher extrair o arquivo.
+ Do macOS está na pasta Aplicações no volume selecionado no assistente.

#### Atualização do OpenOCD
<a name="getting_started_cypress_psoc64_openocd_update"></a>

Este kit exige o Cypress OpenOCD 4.0.0 ou posterior para apagar e programar o chip com êxito.

**Como atualizar o Cypress OpenOCD**

1. Acesse a [página de lançamento do Cypress OpenOCD](https://github.com/Infineon/openocd/releases).

1. Baixe o arquivo de arquivamento para seu sistema operacional (Windows/Mac/Linux).

1. Exclua os arquivos existentes em `{{ModusToolbox}}/tools_2.x/openocd`.

1. Substitua os arquivos `{{ModusToolbox}}/tools_2.x/openocd` pelo conteúdo extraído do arquivo que você baixou na etapa anterior.

#### Atualizando Firmware-loader
<a name="getting_started_cypress_psoc64_firmware_loader_update"></a>

Este kit requer o Cypress Firmware-loader 3.0.0 ou posterior.

**Para atualizar o Cypress Firmware-loader**

1. Acesse a [página de Firmware-loader lançamento do Cypress](https://github.com/cypresssemiconductorco/Firmware-loader/releases).

1. Baixe o arquivo de arquivamento para seu sistema operacional (Windows/Mac/Linux).

1. Exclua os arquivos existentes em `{{ModusToolbox}}/tools_2.x/fw-loader`.

1. Substitua os arquivos `{{ModusToolbox}}/tools_2.x/fw-loader` pelo conteúdo extraído do arquivo que você baixou na etapa anterior.

Como alternativa, você pode usar o CMake para gerar arquivos de compilação do projeto a partir do código-fonte da aplicação FreeRTOS, compilar o projeto usando sua ferramenta de compilação preferida e, em seguida, programar o kit usando o OpenOCD. Se você preferir usar uma ferramenta de GUI para programar com o fluxo CMake, baixe e instale o Cypress Programmer a partir da página [Soluções de programação da Cypress](https://www.cypress.com/products/psoc-programming-solutions). Para obter mais informações, consulte [Uso da CMake com o FreeRTOS](getting-started-cmake.md).

## Configuração do hardware
<a name="getting_started_cypress_psoc64_hardware"></a>

Siga estas etapas para configurar o hardware do kit.

1. 

**Provisionamento do kit**  
Siga as instruções do [Guia de aprovisionamento do CY8CKIT-064S0S2-4343W kit para](https://community.cypress.com/docs/DOC-20043) provisionar seu kit com segurança para. AWS IoT

   Este kit requer a CySecureTools versão 3.1.0 ou posterior.

1. **Configuração de uma conexão serial**

   1. Conecte o kit ao computador host.

   1. A porta serial USB do kit é enumerada automaticamente no computador host. Identifique o número da porta. No Windows, é possível identificá-lo usando o **Gerenciador de dispositivos** em **Portas** (COM e LPT).

   1. Inicie um terminal serial e abra uma conexão com as seguintes configurações:
      + Taxa de baud: 115200
      + Dados: 8 bits
      + Paridade: nenhum
      + Bits de parada: 1
      + Controle de fluxo: nenhum

## Compilação e execução do projeto de demonstração do FreeRTOS
<a name="getting_started_cypress_psoc64_build_run"></a>

Nesta seção, você criará e executará a demonstração.

1. Certifique-se de seguir as etapas no [Guia de aprovisionamento do kit](https://community.cypress.com/docs/DOC-20043). CY8CKIT-064S0S2-4343W 

1. **Compile a demonstração do FreeRTOS.**

   1. Abra o IDE do Eclipse ModusToolbox e escolha ou crie um espaço de trabalho.

   1. No menu **File (Arquivo)**, escolha **Import (Importar)**.

      Expanda **Geral**, escolha **Projetos existentes no espaço de trabalho** e, em seguida, **Próximo**.

   1. No **Diretório raiz**, insira `{{freertos}}/projects/cypress/CY8CKIT-064S0S2-4343W/mtb/aws_demos` e selecione o nome do projeto `aws_demos`. Isso deve ser selecionado por padrão.

   1. Escolha **Concluir** para importar o projeto para o espaço de trabalho.

   1. Compile a aplicação fazendo uma das seguintes etapas:
      + No **Painel rápido**, selecione **Compilar aplicação aws\_demos**.
      + Escolha **Projeto** e escolha **Compilar tudo**.

      Verifique se o projeto é compilado sem erros.

1. 

**Monitoramento de mensagens MQTT na Nuvem**  
Antes de executar a demonstração, você pode configurar o cliente MQTT no AWS IoT console para monitorar as mensagens que seu dispositivo envia para a AWS nuvem. Para assinar o tópico MQTT com o cliente AWS IoT MQTT, siga estas etapas.

   1. Faça login no [console do AWS IoT](https://console.aws.amazon.com//iotv2/).

   1. No painel de navegação, escolha **Teste** e, em seguida, escolha **cliente de teste MQTT** para abrir o cliente MQTT.

   1. Em **Tópico de assinatura**, insira **{{your-thing-name}}/example/topic** e selecione **Assinar o tópico**.

1. **Execução do projeto de demonstração do FreeRTOS**

   1. Selecione o projeto `aws_demos` no espaço de trabalho.

   1. No **Painel rápido**, selecione **Programa aws\_demos (KitProg**3). Isso programa a placa e a aplicação de demonstração começa a ser executada após a conclusão da programação.

   1. Você pode exibir o status da aplicação em execução no terminal serial. A figura a seguir mostra uma parte da saída do terminal.  
![Captura de tela da saída do terminal após a criação do projeto aws_demo.](http://docs.aws.amazon.com/pt_br/freertos/latest/userguide/images/gsg-psoc64-terminal-output.png)

      A demonstração do MQTT publica mensagens de quatro tópicos diferentes (`iotdemo/topic/{{n}}`, em que n=1 a 4) e assina todos esses tópicos para receber as mesmas mensagens de volta. Quando uma mensagem é recebida, a demonstração publica uma mensagem de confirmação sobre o tópico `iotdemo/acknowledgements`. A lista a seguir descreve as mensagens de depuração que aparecem na saída do terminal, com referências aos números de série das mensagens. Na saída, os detalhes do driver WICED Host Driver (WHD) são impressos primeiro sem numeração de série. 

      1. 1 a 4 — O dispositivo se conecta ao ponto de acesso (AP) configurado e é provisionado conectando-se ao AWS servidor usando o endpoint e os certificados configurados.

      1. De 5 a 13: a biblioteca coreMQTT é inicializada e o dispositivo estabelece a conexão MQTT.

      1. De 14 a 17: o dispositivo assina todos os tópicos para receber de volta as mensagens publicadas.

      1. De 18 a 30: o dispositivo publica duas mensagens e espera para recebê-las de volta. Quando cada mensagem é recebida, o dispositivo envia uma mensagem de confirmação.

      O mesmo ciclo de publicação, recebimento e confirmação continua até que todas as mensagens sejam publicadas. Duas mensagens são publicadas por ciclo até que o número de ciclos configurados seja concluído.

1. 

**Uso da CMake com o FreeRTOS**  
Você também pode usar o CMake para compilar e executar a aplicação de demonstração. Para configurar o CMake e um sistema de compilação nativo, consulte [Pré-requisitos](getting-started-cmake.md#building-cmake-prereqs).

   1. Use o comando a seguir para gerar os arquivos de compilação. Especifique a placa de destino com a opção `-DBOARD`. 

      ```
      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S {{freertos}} -B {{build_dir}}
      ```

      Se você estiver usando o Windows, deverá especificar o sistema de compilação nativo, usando a opção `-G`, porque o CMake usa o Visual Studio por padrão.   
**Example**  

      ```
      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S {{freertos}} -B {{build_dir}} -G Ninja
      ```

      Se `arm-none-eabi-gcc` não estiver no caminho do shell, você também precisará definir a variável `AFR_TOOLCHAIN_PATH` CMake.   
**Example**  

      ```
       -DAFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
      ```

   1. Use o comando a seguir para compilar o projeto usando o CMake.

      ```
      cmake --build {{build_dir}}
      ```

   1. Por fim, programe os arquivos `cm0.hex` e `cm4.hex` gerados em `{{build_dir}}` usando o Cypress Programmer.

### Execução de outras demonstrações
<a name="getting_started_cypress_psoc64_demos"></a>

As aplicações de demonstração a seguir foram testadas e verificadas para funcionar com a versão atual. Você pode encontrar essas demonstrações no diretório `{{freertos}}/demos`. Para obter informações sobre como executar essas demonstrações, consulte [Demonstrações do FreeRTOS](freertos-next-steps.md).
+ Demonstração do Bluetooth Low Energy
+ Over-the-Air Demo de atualizações
+ Demonstração do cliente Echo de Secure Sockets
+ AWS IoT Demonstração do Device Shadow

## Depuração
<a name="getting_started_cypress_psoc64_debugging"></a>

Os KitProg 3 do kit oferecem suporte à depuração pelo protocolo SWD.
+ **Para depurar o aplicativo FreeRTOS, selecione o projeto aws\_demos **no espaço de trabalho e, em seguida, selecione aws\_demos** Debug (3) no **Painel** rápido. KitProg**

## Atualizações OTA
<a name="getting_started_cypress_psoc64_ota_updates"></a>

Os MCUs do PSoC 64 foram aprovados em todos os testes de qualificação exigidos do FreeRTOS. No entanto, o recurso opcional over-the-air (OTA) implementado na biblioteca de AWS firmware PSoC 64 Standard Secure ainda está pendente de avaliação. O recurso OTA, conforme implementado no momento, é aprovado em todos os testes de qualificação OTA, exceto em [ aws\_ota\_test\_case\_rollback\_if\_unable\_to\_connect\_after\_update.py](https://github.com/aws/amazon-freertos/blob/202012.00/tools/ota_e2e_tests/aws_ota_test/aws_ota_test_case_rollback_if_unable_to_connect_after_update.py). 

Quando uma imagem OTA validada com sucesso é aplicada a um dispositivo usando o PSoc64 Standard Secure — AWS MCU e o dispositivo não consegue se comunicar AWS IoT Core, o dispositivo não pode voltar automaticamente para a imagem original em boas condições. Isso pode fazer com que o dispositivo fique inacessível AWS IoT Core para futuras atualizações. Essa funcionalidade ainda está sendo desenvolvida pela equipe do Cypress.

Para obter mais informações, consulte [Atualizações OTA com AWS e o CY8CKIT-064S0S2-4343W kit](https://community.cypress.com/docs/DOC-20063). Caso existam mais dúvidas ou você precise de suporte técnico, entre em contato com a [Comunidade de desenvolvedores da Cypress](https://community.cypress.com).