

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Introducción al kit de conectividad de IoT XMC4800 de Infineon
<a name="getting_started_infineon"></a>

**importante**  <a name="deprecation-message"></a>
Esta integración de referencia está alojada en el Amazon-FreeRTOS repositorio, que está en desuso. Recomendamos [empezar por aquí](freertos-getting-started-modular.md) al crear un nuevo proyecto. Si ya tiene un proyecto de Freertos existente basado en el Amazon-FreeRTOS repositorio ahora obsoleto, consulte la. [Amazon-FreeRTOS Guía de migración del repositorio de Github](github-repo-migration.md)

Este tutorial ofrece instrucciones para la introducción al kit de conectividad de IoT Infineon XMC4800. [Si no tiene el kit de conectividad IoT Infineon XMC4800, visite AWS el catálogo de dispositivos de nuestros socios para comprar uno de nuestros socios.](https://devices.amazonaws.com/detail/a3G0L00000AANsbUAH/XMC4800-IoT-Amazon-FreeRTOS-Connectivity-Kit-WiFi)

Si desea abrir una conexión en serie con la placa para ver la información de registro y depuración, necesitará un USB/Serial convertidor de 3,3 V, además del kit de conectividad IoT XMC4800. [El CP2104 es un USB/Serial conversor común que está ampliamente disponible en placas como el CP2104 Friend de Adafruit.](https://www.adafruit.com/product/3309)

Antes de empezar, debes configurar AWS IoT y descargar FreeRTOS para conectar tu dispositivo a la AWS nube. Para obtener instrucciones, consulte [Primeros pasos](freertos-prereqs.md). En este tutorial, la ruta al directorio de descargas de FreeRTOS se denomina `{{freertos}}`.

## Descripción general de
<a name="w2aac31b9b7c25c27c13"></a>

Este tutorial contiene instrucciones para los siguientes pasos de introducción:

1. Instalación de software en el equipo host para desarrollar y depurar las aplicaciones integradas de la placa de su microcontrolador.

1. Compilación cruzada de una aplicación de demostración de FreeRTOS en una imagen binaria.

1. Carga de la imagen binaria de la aplicación en su placa y, a continuación, ejecución de la aplicación.

1. Interacción con la aplicación que se ejecuta en la placa con una conexión serie para fines de monitorización y depuración.

## Cómo configurar el entorno de desarrollo.
<a name="infineon-setup-env"></a>

FreeRTOS utiliza el entorno de desarrollo DAVE de Infineon para programar el XMC4800. Antes de empezar, debe descargar e instalar DAVE y algunos J-Link controladores para comunicarse con el depurador integrado.

### Instale DAVE
<a name="install-dave"></a>

1. Vaya a la página [de descarga de software DAVE](https://infineoncommunity.com/dave-download_ID645) de Infineon.

1. Elija el paquete de DAVE para su sistema operativo y envíe su información de registro. Después de registrarse en Infineon, debería recibir un mail de confirmación con un enlace para descargar un archivo .zip.

1. Descargue el archivo .zip del paquete de Dave (`DAVE_{{version}}_{{os}}_{{date}}.zip`) y descomprímalo a la ubicación en la que desee instalar DAVE (por ejemplo, `C:\DAVE4`). 
**nota**  
Algunos usuarios de Windows han informado de problemas al usar el explorador de Windows para descomprimir el archivo. Le recomendamos que utilice un programa de terceros como 7-Zip.

1. Para lanzar DAVE, ejecute el archivo ejecutable que podrá encontrar en la carpeta descomprimida `DAVE_{{version}}_{{os}}_{{date}}.zip`.

(Para obtener más información, consulte la [DAVE Quick Start Guide](https://www.infineon.com/dgdl/Infineon-DAVE_Quick_Start-GS-v02_00-EN.pdf?fileId=5546d4624cb7f111014d059f7b8c712d)).

### Instale los controladores Segger J-Link
<a name="install-jlink"></a>

Para comunicarse con la sonda de depuración integrada de la placa XMC4800 Relax EtherCAT, necesitará los controladores incluidos en el paquete de software y documentación. J-Link [Puede descargar el paquete de J-Link software y documentación desde la página de descargas de software de Segger. J-Link ](https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack)

## Establecimiento de una conexión serie
<a name="install-serial-connection"></a>

La configuración de una conexión serial es opcional, pero se recomienda. Una conexión serie permite a la placa enviar información de registro y depuración en un formato que puede ver en su equipo de desarrollo.

La aplicación de demostración XMC4800 utiliza una conexión en serie UART en los pines P0.0 y P0.1, que están etiquetados en la serigrafía de la placa XMC4800 Relax EtherCAT. Para configurar una conexión serie:

1. Conecte el pin etiquetado como «RX<P0.0» al pin «TX» de su USB/Serial convertidor.

1. Conecte el pin etiquetado como «TX>P0.1» al pin «RX» de su USB/Serial convertidor.

1. Conecte el pin de conexión a tierra del convertidor serie a uno de los pines etiquetados “GND” en la placa. Los dispositivos deben compartir una conexión a tierra común.

La alimentación se suministra desde el puerto de depuración USB, así que no conecte el pin de tensión positiva del adaptador serie a la placa.

**nota**  
Algunos cables serie utilizan un nivel de señalización de 5 V. La placa XMC4800 y el módulo Wi-Fi Click requieren una alimentación de 3,3 V. No utilice el puente IOREF de la placa para cambiar las señales de la placa a 5 V.

 Con el cable conectado, puede abrir una conexión serie en un emulador de terminal como, por ejemplo, [GNU Screen](https://www.gnu.org/software/screen/). La velocidad en baudios se establece en 115 200 de forma predeterminada con 8 bits de datos, sin paridad, y 1 bit de parada. 

## Monitorización de mensajes de MQTT en la nube
<a name="infineon-monitor-mqtt"></a>

Antes de ejecutar la demostración de FreeRTOS, puede configurar el cliente MQTT en la AWS IoT consola para supervisar los mensajes que su dispositivo envía a la nube. AWS 

**Para suscribirse al tema MQTT con el AWS IoT Cliente MQTT**

1. Inicie sesión en la [consola de AWS IoT](https://console.aws.amazon.com/iotv2/).

1. En el panel de navegación, seleccione **Probar** y, a continuación, seleccione el **cliente de prueba MQTT** para abrir el cliente MQTT.

1. En **Tema de suscripción**, escriba **{{your-thing-name}}/example/topic** y, a continuación, elija **Suscribirse al tema**.

Cuando el proyecto de demostración se ejecute correctamente en su dispositivo, verá el mensaje “¡Hola, mundo\!” enviado varias veces al tema al que se ha suscrito.

## Creación y ejecución del proyecto de demostración de FreeRTOS
<a name="infineon-build-and-run-example"></a>

### Importación de la demostración de FreeRTOS a DAVE
<a name="infineon-freertos-import-project"></a><a name="infineon-load-project"></a>

1. Inicie DAVE.

1. En DAVE, elija **File (Archivo)**, **Import (Importar)**. En la ventana **Import (Importar)**, expanda la carpeta **Infineon**, elija **DAVE Project (Proyecto DAVE)** y, a continuación, elija **Next (Siguiente)**.

1. En la ventana **Import DAVE Projects (Importar proyectos de DAVE)**, elija **Select Root Directory (Seleccionar directorio raíz)**, elija **Browse (Examinar)** y, a continuación, elija el proyecto de demostración XMC4800.

   En el directorio en el que ha descomprimido la descarga de FreeRTOS, el proyecto de demostración se encuentra en `projects/infineon/xmc4800_iotkit/dave4/aws_demos`. 

   Asegúrese de que **Copy Projects Into Workspace (Copiar proyectos en Workspace)** no esté marcada).

1. Seleccione **Finalizar**.

   El proyecto `aws_demos` debe importarse a su espacio de trabajo y activarse.

1. En el menú **Project (Proyecto)** elija **Build Active Project (Compilar proyecto activo)**.

   Asegúrese de que el proyecto se crea sin errores.

### Ejecución del proyecto de demostración de FreeRTOS
<a name="infineon-run-examples"></a>

1. Utilice un cable USB para conectar su kit de conectividad de IoT XMC4800 a su equipo. La placa tiene dos conectores microUSB. Utilice el denominado “X101”, donde Debug aparece al lado en la serigrafía de la placa.

1. En el menú **Project (Proyecto)**, elija **Rebuild Active Project (Reconstruir proyecto activo)** para reconstruir `aws_demos` y garantizar que se recogen los cambios realizados a la configuración.

1. En el **Explorador de proyectos**, haga clic con el botón derecho del ratón`aws_demos`, seleccione **Depurar como** y, a continuación, seleccione Aplicación **DAVE C/C \+\+**.

1. Double-click Depuración de **GDB SEGGER para crear una J-Link confirmación de depuración**. Elija **Debug (Depuración)**.

1. Cuando el depurador se detenga en el punto de ruptura en `main()`, desde el menú **Run (Ejecutar)**, elija **Resume (Reanudar)**.

En la AWS IoT consola, el cliente MQTT de los pasos 4 y 5 debería mostrar los mensajes MQTT enviados por su dispositivo. Si utiliza la conexión serie, verá algo como esto en la salida UART:

```
0 0 [Tmr Svc] Starting key provisioning...
1 1 [Tmr Svc] Write root certificate...
2 4 [Tmr Svc] Write device private key...
3 82 [Tmr Svc] Write device certificate...
4 86 [Tmr Svc] Key provisioning done...
5 291 [Tmr Svc] Wi-Fi module initialized. Connecting to AP...
.6 8046 [Tmr Svc] Wi-Fi Connected to AP. Creating tasks which use network...
7 8058 [Tmr Svc] IP Address acquired [IP Address]
8 8058 [Tmr Svc] Creating MQTT Echo Task...
9 8059 [MQTTEcho] MQTT echo attempting to connect to [MQTT Broker].
...10 23010 [MQTTEcho] MQTT echo connected.
11 23010 [MQTTEcho] MQTT echo test echoing task created.
.12 26011 [MQTTEcho] MQTT Echo demo subscribed to iotdemo/#
13 29012 [MQTTEcho] Echo successfully published 'Hello World 0'
.14 32096 [Echoing] Message returned with ACK: 'Hello World 0 ACK'
.15 37013 [MQTTEcho] Echo successfully published 'Hello World 1'
16 40080 [Echoing] Message returned with ACK: 'Hello World 1 ACK'
.17 45014 [MQTTEcho] Echo successfully published 'Hello World 2'
.18 48091 [Echoing] Message returned with ACK: 'Hello World 2 ACK'
.19 53015 [MQTTEcho] Echo successfully published 'Hello World 3'
.20 56087 [Echoing] Message returned with ACK: 'Hello World 3 ACK'
.21 61016 [MQTTEcho] Echo successfully published 'Hello World 4'
22 64083 [Echoing] Message returned with ACK: 'Hello World 4 ACK'
.23 69017 [MQTTEcho] Echo successfully published 'Hello World 5'
.24 72091 [Echoing] Message returned with ACK: 'Hello World 5 ACK'
.25 77018 [MQTTEcho] Echo successfully published 'Hello World 6'
26 80085 [Echoing] Message returned with ACK: 'Hello World 6 ACK'
.27 85019 [MQTTEcho] Echo successfully published 'Hello World 7'
.28 88086 [Echoing] Message returned with ACK: 'Hello World 7 ACK'
.29 93020 [MQTTEcho] Echo successfully published 'Hello World 8'
.30 96088 [Echoing] Message returned with ACK: 'Hello World 8 ACK'
.31 101021 [MQTTEcho] Echo successfully published 'Hello World 9'
32 104102 [Echoing] Message returned with ACK: 'Hello World 9 ACK'
.33 109022 [MQTTEcho] Echo successfully published 'Hello World 10'
.34 112047 [Echoing] Message returned with ACK: 'Hello World 10 ACK'
.35 117023 [MQTTEcho] Echo successfully published 'Hello World 11'
36 120089 [Echoing] Message returned with ACK: 'Hello World 11 ACK'
.37 122068 [MQTTEcho] MQTT echo demo finished.
38 122068 [MQTTEcho] ----Demo finished----
```

### Creación de la demostración de FreeRTOS con CMake
<a name="infineon-cmake"></a>

Si prefiere no utilizar un IDE para el desarrollo de FreeRTOS, también puede usar CMake para crear y ejecutar las aplicaciones de demostración o las aplicaciones que ha desarrollado con herramientas de depuración y editores de código de terceros.

**nota**  
En esta sección se explica el uso de CMake en Windows con MingW como el sistema de compilación nativo. Para obtener más información acerca de cómo utilizar CMake con otros sistemas operativos y opciones, consulte [Uso de CMake con FreeRTOS](getting-started-cmake.md). ([MinGW](https://sourceforge.net/projects/mingw-w64/files/) es un entorno de desarrollo minimalista para aplicaciones nativas de Microsoft Windows).

**Creación de la demostración de FreeRTOS con CMake**

1. Configure la cadena de herramientas GNU Arm Embedded Toolchain.

   1. Descargue una versión de Windows de la cadena de herramientas de la [página de descargas de Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads).
**nota**  
Le recomendamos que descargue una versión que no sea "8-2018-q4-major", debido a [un error comunicado](https://bugs.launchpad.net/gcc-arm-embedded/+bug/1810274) con la utilidad “objcopy” en esa versión.

   1. Abra el instalador de la cadena de herramientas descargada y siga las instrucciones del asistente para instalar la cadena de herramientas.
**importante**  
En la última página del asistente de instalación, seleccione **Add path to environment variable (Añadir ruta a variable de entorno)** para añadir la ruta de la cadena de herramientas a la variable de entorno de ruta del sistema.

1. Instale CMake y MingW.

   Para obtener instrucciones, consulte [Requisitos previos de CMake](getting-started-cmake.md#building-cmake-prereqs).

1. Cree una carpeta para contener los archivos de compilación generados (){{build-folder}}.

1. Cambie los directorios por el directorio de descargas de FreeRTOS (`{{freertos}}`) y utilice el siguiente comando para generar los archivos de creación:

   ```
   cmake -DVENDOR=infineon -DBOARD=xmc4800_iotkit -DCOMPILER=arm-gcc -S . -B {{build-folder}} -G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0
   ```

1. Cambie los directorios al directorio de compilación ({{build-folder}}) y utilice el siguiente comando para crear el binario:

   ```
   cmake --build . --parallel 8
   ```

   Este comando compila el binario de salida `aws_demos.hex` en el directorio de compilación.

1. Actualice y ejecute la imagen con [JLINK](#install-jlink).

   1. Desde el directorio de compilación ({{build-folder}}), utilice los siguientes comandos para crear un script flash:

      ```
      echo loadfile aws_demos.hex > flash.jlink
      ```

      ```
      echo r >> flash.jlink
      ```

      ```
      echo g >> flash.jlink
      ```

      ```
      echo q >> flash.jlink
      ```

   1. Actualice la imagen mediante el ejecutable de JLNIK.

      ```
      {{JLINK_PATH}}\JLink.exe  -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlink
      ```

      Los registros de la aplicación deben ser visibles a través de [la conexión serie](#install-serial-connection) que ha establecido con la placa.

## Resolución de problemas
<a name="infineon-troubleshooting"></a>

Si aún no lo has hecho, asegúrate de configurar AWS IoT y descargar FreeRTOS para conectar tu dispositivo a la AWS nube. Para obtener instrucciones, consulte [Primeros pasos](freertos-prereqs.md).

Si necesita información general de solución de problemas que pueden surgir al empezar a trabajar con FreeRTOS, consulte [Introducción a solución de problemas](gsg-troubleshooting.md).