Introducción al kit de conectividad de IoT XMC4800 de Infineon
importante
Esta integración de referencia está alojada en el repositorio de Amazon-FreeRTOS, que está en desuso. Recomendamos empezar por aquí al crear un nuevo proyecto. Si ya tiene un proyecto FreeRTOS existente basado en el repositorio Amazon FreeRTOS, ahora obsoleto, consulte Guía de migración del repositorio Github de Amazon-FreeRTOS.
Este tutorial ofrece instrucciones para la introducción al kit de conectividad de IoT Infineon XMC4800. Si todavía no tiene el Kit de conectividad de IoT XMC4800, consulte el Catálogo de dispositivos de socios de AWS para comprar uno de nuestro socio
Si desea abrir una conexión serie con la placa para ver información de registro y depuración, necesita un convertidor USB a serie de 3,3 V, además del kit de conectividad de IoT XMC4800. El CP2104 es un convertidor USB a serie común de amplia disponibilidad en placas como la CP2104 Friend
Antes de comenzar, debe configurar AWS IoT y la descarga de FreeRTOS para conectar el dispositivo a la nube de AWS. Para obtener instrucciones, consulte Primeros pasos. En este tutorial, la ruta al directorio de descargas de FreeRTOS se denomina .freertos
Descripción general
Este tutorial contiene instrucciones para los siguientes pasos de introducción:
-
Instalación de software en el equipo host para desarrollar y depurar las aplicaciones integradas de la placa de su microcontrolador.
-
Compilación cruzada de una aplicación de demostración de FreeRTOS en una imagen binaria.
-
Carga de la imagen binaria de la aplicación en su placa y, a continuación, ejecución de la aplicación.
-
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.
FreeRTOS utiliza el entorno de desarrollo DAVE de Infineon para programar el XMC4800. Antes de comenzar, tendrá que descargar e instalar DAVE y algunos controladores J-Link para comunicarse con el depurador incorporado.
Instale DAVE
-
Vaya a la página de descarga de software DAVE
de Infineon. -
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.
-
Descargue el archivo .zip del paquete de Dave (
DAVE_) y descomprímalo a la ubicación en la que desee instalar DAVE (por ejemplo,version_os_date.zipC:\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.
-
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
Instale controladores Segger J-Link
Para comunicarse con la sonda de depuración incorporada de la placa XMC4800 Relax EtherCAT, necesita los controladores que se incluyen en el paquete de documentación y software de J-Link. Puede descargar el paquete de documentación y software de J-Link a través de la página de descarga de software de J-Link
Establecimiento de una conexión serie
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 serie UART en los pines P0.0 y P0.1, que se etiquetan en la serigrafía de la placa XMC4800 Relax EtherCAT. Para configurar una conexión serie:
-
Conecte el pin con la etiqueta “RX<P0.0” al pin “TX” de su convertidor USB a serie.
-
Conecte el pin con la etiqueta “TX>P0.1” al pin “RX” de su convertidor USB a serie.
-
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. El XMC4800 board and the Wi-Fi Haga clic en memoria requieren un 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
Monitorización de mensajes de MQTT en la nube
Antes de ejecutar la demostración de FreeRTOS, puede configurar el cliente de MQTT en la consola de AWS IoT para monitorizar los mensajes que envía el dispositivo a la nube de AWS.
Suscripción al tema de MQTT con el cliente de MQTT de AWS IoT
-
Inicie sesión en la consola de AWS IoT
. -
En el panel de navegación, seleccione Probar y, a continuación, seleccione el cliente de prueba MQTT para abrir el cliente MQTT.
-
En Tema de suscripción, escriba
y, a continuación, elija Suscribirse al tema.your-thing-name/example/topic
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
Importación de la demostración de FreeRTOS a DAVE
-
Inicie DAVE.
-
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).
-
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).
-
Seleccione Finalizar.
El proyecto
aws_demosdebe importarse a su espacio de trabajo y activarse. -
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
-
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.
-
En el menú Project (Proyecto), elija Rebuild Active Project (Reconstruir proyecto activo) para reconstruir
aws_demosy garantizar que se recogen los cambios realizados a la configuración. -
Desde Project Explorer (Explorador de proyectos), haga clic con el botón derecho del ratón en
aws_demos, elija Debug As (Depurar como) y, a continuación, elija DAVE C/C++ Application (Aplicación DAVE C/C++). -
Haga doble clic en GDB SEGGER J-Link Debugging (Depuración de J-Link de SEGGER con GDB) para crear una confirmación de depuración. Elija Debug (Depuración).
-
Cuando el depurador se detenga en el punto de ruptura en
main(), desde el menú Run (Ejecutar), elija Resume (Reanudar).
En la consola de AWS IoT, el cliente de MQTT de los pasos 4-5 debe mostrar los mensajes de MQTT enviados por el 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
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. (MinGW
Creación de la demostración de FreeRTOS con CMake
-
Configure la cadena de herramientas GNU Arm Embedded Toolchain.
-
Descargue una versión de Windows de la cadena de herramientas de la página de descargas de Arm Embedded Toolchain
. nota
Le recomendamos que descargue una versión que no sea "8-2018-q4-major", debido a un error comunicado
con la utilidad “objcopy” en esa versión. -
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.
-
-
Instale CMake y MingW.
Para obtener instrucciones, consulte Requisitos previos de CMake.
-
Cree una carpeta para contener los archivos de compilación generados (
carpeta-compilación). -
Cambie los directorios por el directorio de descargas de FreeRTOS (
) y utilice el siguiente comando para generar los archivos de creación:freertoscmake -DVENDOR=infineon -DBOARD=xmc4800_iotkit -DCOMPILER=arm-gcc -S . -Bbuild-folder-G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0 -
Cambie los directorios al directorio de compilación (
carpeta-compilación) y utilice el siguiente comando para compilar el binario:cmake --build . --parallel 8Este comando compila el binario de salida
aws_demos.hexen el directorio de compilación. -
Actualice y ejecute la imagen con JLINK.
-
Desde el directorio de compilación (
carpeta-compilación), utilice los siguientes comandos para crear un script de actualización:echo loadfile aws_demos.hex > flash.jlinkecho r >> flash.jlinkecho g >> flash.jlinkecho q >> flash.jlink -
Actualice la imagen mediante el ejecutable de JLNIK.
JLINK_PATH\JLink.exe -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlinkLos registros de la aplicación deben ser visibles a través de la conexión serie que ha establecido con la placa.
-
Solución de problemas
Si aún no lo ha hecho, asegúrese de configurar AWS IoT y la descarga de FreeRTOS para conectar el dispositivo a la nube de AWS. Para obtener instrucciones, consulte Primeros pasos.
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.