Introducción al Xilinx Avnet MicroZed Industrial IoT Kit - FreeRTOS

Introducción al Xilinx Avnet MicroZed Industrial IoT Kit

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 a Xilinx Avnet MicroZed Industrial IoT Kit Si no tiene el kit de Xilinx Avnet MicroZed Industrial IoT, consulte el Catálogo de dispositivos de socios de AWS para adquirir uno de nuestro socio.

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:

  1. Conexión de su placa a un equipo host.

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

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

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

Configuración de hardware MicroZed

El siguiente diagrama puede resultar útil al configurar el hardware MicroZed:

Se destacan la placa de microcontrolador AVnet con LED Power Good, LED de usuario y botón pulsador, acceso JTAG, host Ethernet y USB 10/100/1000, ranura microSD, USB-UART, LED listo, botón de reinicio y puentes MODO de arranque.
Configuración de la placa MicroZed
  1. Conecte el equipo al puerto USB-UART en su placa MicroZed.

  2. Conecte el equipo al puerto de acceso JTAG en su placa MicroZed.

  3. Conecte un router o un puerto Ethernet conectado a Internet al puerto Ethernet y USB-Host de su placa MicroZed.

Cómo configurar el entorno de desarrollo.

Para realizar configuraciones de FreeRTOS para el kit de MicroZed, debe utilizar el Kit de desarrollo de software de Xilinx (XSDK). XSDK es compatible con Windows y Linux.

Descargar e instalar XSDK

Para instalar el software Xilinx, necesita una cuenta gratuita de Xilinx.

Descarga de XSDK
  1. Vaya a la página de descarga de Software Development Kit Standalone WebInstall Client.

  2. Elija la opción apropiada para su sistema operativo.

  3. Se le dirigirá a la página de inicio de sesión de Xilinx.

    Si tiene una cuenta con Xilinx, introduzca sus credenciales de inicio de sesión y elija Iniciar sesión.

    Si no tiene una cuenta de, elija Create your account (Crear cuenta). Después de registrarse, debería recibir un correo electrónico con un enlace para activar su cuenta de Xilinx.

  4. En la página Name and Address Verification (Verificación de nombre y dirección), escriba su información y elija Next (Siguiente). La descarga debe estar lista para iniciarse.

  5. Guarde el archivo Xilinx_SDK_version_os.

Instalación de XSDK
  1. Abra el archivo Xilinx_SDK_version_os.

  2. En Select Edition to Install (Seleccionar edición que instalar), elija Xilinx Software Development Kit (XSDK) (Kit de desarrollo de software de Xilinx (XSDK)) y, a continuación, haga clic en Next (Siguiente).

  3. En la página siguiente del asistente de instalación, en Installation Options (Opciones de instalación), seleccione Install Cable Drivers (Instalar controladores de cable) y haga clic en Next (Siguiente).

Si su equipo no detecta la conexión del USB-UART de MicroZed, instale manualmente los controladores CP210x de USB a VCP de puente UART. Para obtener instrucciones, consulte Silicon Labs CP210x USB-to-UART Installation Guide.

Para obtener más información acerca del XSDK, consulte Getting Started with Xilinx SDK en el sitio web de Xilink.

Monitorización de mensajes de MQTT en la nube

Antes de ejecutar el proyecto de 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
  1. Inicie sesión en la consola de AWS IoT.

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

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

Creación y ejecución del proyecto de demostración de FreeRTOS

Apertura de la demostración de FreeRTOS en el IDE de XSDK

  1. Lance el IDE de XSDK con el directorio del espacio de trabajo establecido en freertos/projects/xilinx/microzed/xsdk.

  2. Cierre la página de bienvenida. En el menú, elija Project (Proyecto) y desactive Build Automatically (Compilar automáticamente).

  3. En el menú, elija File (Archivos) y, a continuación, elija Import (Importar).

  4. En la página Select (Seleccionar), expanda General, elija Existing Projects into Workspace (Proyectos existentes en Workspace) y, a continuación, elija Next (Siguiente).

  5. En la página Importar proyectos, elija Seleccionar directorio raíz y escriba el directorio raíz del proyecto de demostración: freertos/projects/xilinx/microzed/xsdk/aws_demos. Para examinar el directorio, haga clic en Browse (Examinar).

    Después de especificar un directorio raíz, los proyectos de dicho directorio aparecen en la página Import Projects (Importar proyectos). Todos los proyectos disponibles se seleccionan de forma predeterminada.

    nota

    Si ve una advertencia en la parte superior de la página Import Projects (Importar proyectos) ("Algunos proyectos no se puede importar, porque ya existen en el espacio de trabajo") puede ignorarla.

  6. Con todos los proyectos seleccionados, elija Finish (Finalizar).

  7. Si no ve los proyectos aws_bsp, fsbl y MicroZed_hw_platform_0 en el panel de proyectos, repita los pasos anteriores empezando por el número 3 pero con el directorio raíz establecido en freertos/vendors/xilinx e importe aws_bsp, fsbl y MicroZed_hw_platform_0.

  8. En el menú, elija Window (Ventana) y, a continuación, elija Preferences (Preferencias).

  9. En el panel de navegación, expanda Run/Debug (Ejecutar/Depurar), elija String Substitution (Sustitución de cadenas) y, elija New (Nueva).

  10. En New String Substitution Variable (Nueva variable de sustitución de cadena), en Name (Nombre), escriba AFR_ROOT. En Valor, escriba la ruta raíz de freertos/projects/xilinx/microzed/xsdk/aws_demos. Seleccione OK (Aceptar) y, a continuación, elija OK (Aceptar) para guardar la variable y cerrar Preferences (Preferencias).

Creación del proyecto de demostración de FreeRTOS

  1. En el IDE de XSDK, desde el menú, elija Project (Proyecto) y, a continuación, elija Clean (Limpiar).

  2. En Clean (Limpiar), deje las opciones en los valores predeterminados y, a continuación, elija OK (Aceptar). XSDK limpia y compila todos los proyectos y, a continuación, genera los archivos .elf.

    nota

    Para compilar todos los proyectos sin limpiarlos, elija Project (Proyecto) y, a continuación, elija Build All (Compilar todo).

    Para compilar proyectos individuales, seleccione el proyecto que desea compilar, elija Project (Proyecto) y, a continuación, elija Build Project (Compilar proyecto).

Generación de la imagen de arranque del proyecto de demostración de FreeRTOS

  1. En el IDE de XSDK, haga clic con el botón derecho en aws_demos y, a continuación, seleccione Create Boot Image (Crear imagen de arranque).

  2. En Create Boot Image (Crear imagen de arranque), elija Create new BIF file (Crear nuevo archivo BIF).

  3. Junto a Output BIF file path (Ruta de archivo BIF de salida), elija Browse (Examinar) y, a continuación, elija aws_demos.bif ubicado en <freertos>/vendors/xilinx/microzed/aws_demos/aws_demos.bif.

  4. Elija Agregar.

  5. En Add new boot image partition (Añadir nueva partición de imagen de inicio), junto a File path (Ruta de archivo), haga clic en Browse (Examinar) y elija fsbl.elf, situado en vendors/xilinx/fsbl/Debug/fsbl.elf.

  6. Para Partition type (Tipo de partición), elija bootloader y, a continuación, elija OK (Aceptar).

  7. En Create Boot Image (Crear imagen de arranque), elija Create Image (Crear imagen). En Override Files (Anular archivos), elija OK (Aceptar) para sobrescribir el archivo aws_demos.bif existente y generar el archivo BOOT.bin en projects/xilinx/microzed/xsdk/aws_demos/BOOT.bin.

Depuración de JTAG

  1. Establezca los puentes del modo de arranque de la placa MicroZed en el modo de arranque JTAG.

    Ajustes de los conectores y puentes del cabezal de la placa de circuito.
  2. Inserte su tarjeta MicroSD en la ranura para tarjeta MicroSD ubicado directamente en el puerto USB-UART.

    nota

    Antes de depurar, asegúrese de hacer una copia de seguridad de cualquier contenido que tiene en la tarjeta MicroSD.

    La placa debe ser similar a la siguiente:

    Placa de evaluación FreeRTOS con opciones de conectividad.
  3. En el IDE del XSDK, haga clic con el botón derecho en aws_demos, elija Debug As (Depurar como) y, a continuación, elija 1 Launch on System Hardware (System Debugger) (1 Lanzar en hardware del sistema (Depurador del sistema)).

  4. Cuando el depurador se detiene en el punto de ruptura en main(), en el menú, elija Run (Ejecutar) y, a continuación, elija Resume (Reanudar).

    nota

    La primera vez que ejecute la aplicación, se importa un nuevo par de certificado-clave en la memoria no volátil. Para ejecuciones posteriores, puede marcar como comentario vDevModeKeyProvisioning() en el archivo main.c antes de recompilar las imágenes y el archivo BOOT.bin. Esto impide que la copia de los certificados y la clave se almacenen en cada ejecución.

Puede elegir arrancar su placa MicroZed desde una tarjeta MicroSD o desde la memoria flash QSPI para ejecutar el proyecto de demostración de FreeRTOS. Para obtener instrucciones, consulte Generación de la imagen de arranque del proyecto de demostración de FreeRTOS y Ejecución del proyecto de demostración de FreeRTOS.

Ejecución del proyecto de demostración de FreeRTOS

Para ejecutar el proyecto de demostración de FreeRTOS, puede elegir arrancar su placa MicroZed desde una tarjeta MicroSD o desde la memoria flash QSPI.

A medida que configura su placa MicroZed para ejecutar el proyecto de demostración de FreeRTOS, consulte el diagrama en Configuración de hardware MicroZed. Asegúrese de que ha conectado la placa MicroZed en el equipo.

Arranque del proyecto de FreeRTOS desde una tarjeta MicroSD

Formatee la tarjeta MicroSD, que se proporciona con Xilinx MicroZed Industrial IoT Kit.

  1. Copie el archivo BOOT.bin en la tarjeta MicroSD.

  2. Inserte la tarjeta en la ranura de la tarjeta MicroSD directamente debajo del puerto USB-UART.

  3. Establezca los puentes del modo de arranque de MicroZed en el modo de arranque SD.

    Tarjeta SD con tres ranuras denominadas JP1, JP2 y JP3 y un soporte de batería tipo pila de botón.
  4. Pulse el botón RST para restablecer el dispositivo y comenzar a arrancar la aplicación. También puede desenchufar el cable USB-UART del puerto USB-UART y, a continuación, volver a insertar el cable.

Arranque del proyecto de demostración de FreeRTOS desde la memoria flash QSPI

  1. Establezca los puentes del modo de arranque de la placa MicroZed en el modo de arranque JTAG.

    Ajustes de los conectores y puentes del cabezal de la placa de circuito.
  2. Compruebe que el equipo se encuentra conectado a los puertos de acceso USB-UART y JTAG. El indicador LED verde de alimentación correcta debe iluminarse.

  3. En el IDE del XSDK, desde el menú, elija Xilinx y, a continuación, elija Program Flash (Programar flash).

  4. En Program Flash Memory (Programar memoria flash), la plataforma de hardware debe completarse de forma automática. Para Connection (Conexión), elija el servidor de hardware MicroZed para conectar la placa con su equipo host.

    nota

    Si está utilizando el cable Xilinx Smart Lync JTAG, debe crear un servidor de hardware en el IDE de XSDK. Elija New (Nuevo) y, a continuación, defina su servidor.

  5. En Image File (Archivo de imagen), escriba la ruta del directorio a su archivo de imagen BOOT.bin. Elija Browse (Examinar) para examinar el archivo en su lugar.

  6. En Offset (Desplazamiento), escriba 0x0.

  7. En FSBL File (Archivo FSBL), escriba la ruta del directorio a su archivo fsbl.elf. Elija Browse (Examinar) para examinar el archivo en su lugar.

  8. Elija Program (Programar) para programar la placa.

  9. Una vez que la programación de QSPI se haya completado, retire el cable USB-UART para apagar la placa.

  10. Establezca los puentes del modo de arranque de la placa MicroZed en el modo de arranque QSPI.

  11. Inserte su tarjeta en la ranura para tarjeta MicroSD ubicada directamente en el puerto USB-UART.

    nota

    Asegúrese de hacer una copia de seguridad de cualquier contenido que tenga en la tarjeta MicroSD.

  12. Pulse el botón RST para restablecer el dispositivo y comenzar a arrancar la aplicación. También puede desenchufar el cable USB-UART del puerto USB-UART y, a continuación, volver a insertar el cable.

Solución de problemas

Si detecta errores de compilación relacionados con rutas incorrectas, pruebe a limpiar y recompilar el proyecto, como se describe en Creación del proyecto de demostración de FreeRTOS.

Si utiliza Windows, asegúrese de que utiliza barras diagonales al establecer la sustitución en la cadena de variables del IDE del XSDK de Windows.

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.