Descarga, creación, instalación y ejecución de la demostración de OTA de FreeRTOS en Renesas RX65N - Gratis RTOS

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.

Descarga, creación, instalación y ejecución de la demostración de OTA de FreeRTOS en Renesas RX65N

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 al repositorio RTOS Github gratuito de Amazon.

En este capítulo se muestra cómo descargar, crear, instalar y ejecutar la demostración de OTA de FreeRTOS en Renesas RX65N.

Configuración del entorno operativo

Para los procedimientos de esta sección se requieren los siguientes entornos:

  • IDE: e2 studio 7.8.0, e2 studio 2020-07

  • Cadenas de herramientas: CCRX Compiler v3.0.1

  • Dispositivos de destino: RSKRX65N-2MB

  • Depuradores: emulador E2, E2 Lite

  • Software: Renesas Flash Programmer, Renesas Secure Flash Programmer.exe, Tera Term

Configuración del hardware
  1. Conecte el emulador E2 Lite y el puerto serie USB a la placa RX65N y al PC.

  2. Conecte la fuente de alimentación a RX65N.

Configura tus AWS recursos

  1. Para ejecutar las demostraciones de FreeRTOS, debe tener una AWS cuenta con un usuario de IAM que tenga permiso para acceder a los servicios. AWS IoT Si aún no lo ha hecho, siga los pasos que se indican en Configurando tu AWS cuenta y permisos.

  2. Para configurar las actualizaciones de OTA, siga los pasos que se indican en OTAactualizar los requisitos previos. En concreto, siga los pasos que se indican en Requisitos previos para las OTA actualizaciones mediante MQTT.

  3. Abra la consola de AWS IoT.

  4. En el panel de navegación izquierdo, elija Administrar y, a continuación, Objetos.

    Un objeto es una representación de un dispositivo o de una entidad lógica de AWS IoT. Puede ser un dispositivo físico o un sensor (por ejemplo, una bombilla o un interruptor en la pared). También puede ser una entidad lógica, como una instancia de una aplicación o entidad física AWS IoT, a la que no se conecta, pero que está relacionada con los dispositivos que sí lo hacen (por ejemplo, un automóvil con sensores de motor o un panel de control). AWS IoT proporciona un registro de cosas que le ayuda a administrarlas.

    1. Elija Crear y después Crear un solo objeto.

    2. Introduzca un Nombre para el objeto y, a continuación, seleccione Siguiente.

    3. Elija Create certificate.

    4. Descargue los tres archivos que se crean y, a continuación, seleccione Activar.

    5. Elija Attach a policy (Asociar una política).

      pantalla de consola que muestra los archivos que se van a descargar
    6. Seleccione la política que creó en Política de dispositivos.

      Cada dispositivo que reciba una actualización OTA mediante MQTT debe estar registrado AWS IoT y tener una política adjunta como la que aparece en la lista. Puede encontrar más información acerca de los elementos de los objetos "Resource" y "Action" en las Acciones de la política principal de AWS IoT y en los recursos de acciones principales de AWS IoT.

      Notas
      • Los iot:Connect permisos permiten que el dispositivo se conecte a AWS IoT través de MQTT.

      • Los permisos iot:Subscribe y iot:Publish en los temas de trabajos de AWS IoT (.../jobs/*) permiten que el dispositivo conectado reciba notificaciones de trabajo y documentos de trabajo, y publique el estado de finalización de una ejecución de trabajo.

      • Los iot:Publish permisos iot:Subscribe y relacionados con los temas de las transmisiones AWS IoT OTA (.../streams/*) permiten al dispositivo conectado obtener datos de actualización de OTA desde ellos. AWS IoT Estos permisos son necesarios para realizar actualizaciones de firmware sobre MQTT.

      • Los iot:Receive permisos permiten AWS IoT Core publicar mensajes sobre esos temas en el dispositivo conectado. Este permiso se verifica en cada entrega de un mensaje MQTT. Puede utilizar este permiso para revocar el acceso a los clientes que están actualmente suscritos a un tema.

  5. Para crear un perfil de firma de código y registrar un certificado de firma de código en él. AWS

    1. Para crear las claves y la certificación, consulte la sección 7.3 “Generación de pares de claves ECDSA-SHA256 con OpenSSL” en la Política de diseño de actualización del firmware de la MCU de Renesas.

    2. Abra la consola de AWS IoT. En el panel de navegación izquierdo, elija Administrar y, a continuación, Trabajos. Seleccione Crear un trabajo y, a continuación, Crear trabajo de actualiz. de OTA.

    3. En Seleccionar dispositivos para actualizar, elija Seleccionar y, a continuación, elija el objeto que creó anteriormente. Seleccione Siguiente.

    4. En la página Crear un trabajo de actualización OTA de FreeRTOS, realice lo siguiente:

      1. En Seleccionar el protocolo para la transferencia de imágenes de firmware, elija MQTT.

      2. En Seleccionar y firmar la imagen de firmware, elija Firmar una nueva imagen de firmware por mí.

      3. En Perfil de firma de código, elija Crear.

      4. En la ventana Crear un perfil de firma de código, introduzca un Nombre de perfil. En Plataforma de hardware de dispositivos, seleccione Simulador de Windows. En Certificado de firma de código, elija Importar.

      5. Busque para seleccionar el certificado (secp256r1.crt), la clave privada del certificado (secp256r1.key) y la cadena de certificados (ca.crt).

      6. Introduzca el Nombre de ruta del certificado de firma de código en el dispositivo. A continuación, seleccione Crear.

  6. Para conceder acceso a la firma de código AWS IoT, sigue los pasos que se indican. Conceda acceso a la firma de código para AWS IoT

Si no tiene Tera Term instalado en el PC, puede descargarlo desde https://ttssh2.osdn.jp/index.html.en y configurarlo como se muestra aquí. Asegúrese de conectar el puerto serie USB del dispositivo al PC.

Ventana de configuración del puerto serie Tera Term

Importación, configuración del archivo de encabezado y creación de aws_demos y boot_loader

Para empezar, selecciona la última versión del paquete FreeRTOS, que se descargará GitHub e importará automáticamente al proyecto. De esta forma, puede centrarse en la configuración de FreeRTOS y en escribir el código de la aplicación.

  1. Inicie e2 studio.

  2. Elija Archivo y, a continuación, Importar.

  3. Seleccione el proyecto Renesas GitHub FreeRTOS (con bibliotecas de IoT).

    Ventana de importación de e-squared studio
  4. Seleccione Buscar más versiones… para mostrar el cuadro de diálogo de descarga.

    Ventana de cuadro de diálogo de descarga de e-squared studio
  5. Seleccione el paquete más reciente.

    Ventana de cuadro de diálogo de descarga del módulo e-squared studio
  6. Elija Acepto para aceptar el acuerdo de licencia de usuario final.

    Cuadro de diálogo de EULA de e-squared studio
  7. Espere a que finalice la descarga.

    Barra de progreso de descarga
  8. Seleccione los proyectos aws_demos y boot_loader y, a continuación, seleccione Finalizar para importarlos.

    Ventana de importación de proyectos
  9. Para ambos proyectos, abra las propiedades del proyecto. En el panel de navegación, elija Editor de cadena de herramientas.

    1. Elija la Cadena de herramientas actual.

    2. Elija el Creador actual.

    Ventana de propiedades de e-squared studio
  10. En el panel de navegación, seleccione Configuración. Seleccione la pestaña Cadena de herramientas y, a continuación, elija la Versión de la cadena de herramientas.

    Configuración de integración de la cadena de herramientas para la versión 3.01.00 de Renesas CCRX, con la opción de cambiar la cadena de herramientas.

    Seleccione la pestaña Configuración de la herramienta, expanda Convertidor y, a continuación, seleccione Salida. En la ventana principal, asegúrese de seleccionar Archivo hexadecimal de salida y, a continuación, elija el Tipo de archivo de salida.

    Ventana de ajustes de configuración de C/C++ Build que muestra las opciones del compilador y el enlazador, como el archivo hexadecimal de salida, el tipo de archivo de salida, el directorio de salida y las opciones de división de archivos.
    Árbol de configuración de la interfaz con opciones para Stack Analysis, Tool Chain Editor, C/C++ General, MCU, referencias de proyectos, etc.
  11. En el proyecto del cargador de arranque, abra projects\renesas\rx65n-rsk\e2studio\boot_loader\src\key\code_signer_public_key.h e introduzca la clave pública. Para obtener información sobre cómo crear una clave pública, consulte Cómo implementar FreeRTOS OTA mediante Amazon Web Services en RX65N y la sección 7.3 “Generación de pares de claves ECDSA-SHA256 con OpenSSL” en la Política de diseño de actualizaciones de firmware de MCU de Renesas.

    Editor de código que muestra un archivo de cabecera en C con la definición de CODE_SIGNER_PUBLIC_KEY y una variable de clave pública de firma de código codificada en PEM.

    Para crear el proyecto para crear boot_loader.mot.

  12. Abra el proyecto aws_demos.

    1. Abra la consola de AWS IoT.

    2. En el panel de navegación izquierdo, elija Configuración. Anote su punto de conexión personalizado en el cuadro de texto Punto de enlace de datos de dispositivo.

    3. Seleccione Administrar y Objetos. Anota el nombre del elemento de tu tablero. AWS IoT

    4. En el proyecto aws_demos, abra demos/include/aws_clientcredential.h y especifique los siguientes valores.

      #define clientcredentialMQTT_BROKER_ENDPOINT[] = "Your AWS IoT endpoint"; #define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"
      Fragmento de código que muestra el nombre de la AWS IoT cosa y los ajustes de configuración del punto final del broker.
    5. Abra el archivo tools/certificate_configuration/CertificateConfigurator.html.

    6. Importe el archivo PEM del certificado y el archivo PEM de clave privada que descargó anteriormente.

    7. Elija Generar y guardar aws_clientcredential_keys.h y guarde el archivo en el directorio demos/include/.

      Herramienta de configuración de certificados con campos para proporcionar los archivos PEM de certificados de cliente y clave privada desde la AWS IoT consola, y un botón para generar y guardar el archivo aws_clientcredential_keys.h.
    8. Abra el archivo vendors/renesas/boards/rx65n-rsk/aws_demos/config_files/ota_demo_config.h y especifique estos valores.

      #define otapalconfigCODE_SIGNING_CERTIFICATE [] = "your-certificate-key";

      Donde your-certificate-key es el valor del archivo secp256r1.crt. Recuerde añadir “\” después de cada línea de la certificación. Para obtener información sobre cómo crear el archivo secp256r1.crt, consulte Cómo implementar FreeRTOS OTA mediante Amazon Web Services en RX65N y la sección 7.3 “Generación de pares de claves ECDSA-SHA256 con OpenSSL” en la Política de diseño de actualizaciones de firmware de MCU de Renesas.

      Archivo de código fuente que muestra el código C que define una cadena constante de certificado de firma de código codificada en PEM con datos de certificado redactados.
  13. Tarea A: Instalar la versión inicial del firmware

    1. Abra el archivo vendors/renesas/boards/board/aws_demos/config_files/aws_demo_config.h, comente #define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED y defina CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED o CONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED.

    2. Abra el archivo demos/include/ aws_application_version.h y configure la versión inicial del firmware en 0.9.2.

      Fragmento de código que muestra las definiciones de versión de una aplicación, incluidas las macros de los números de versión principales, secundarios y de compilación.
    3. Cambie los siguientes ajustes en Visor de sección.

      Ventana del visor de secciones que muestra las direcciones de memoria, los nombres de las secciones como SU y SI, los registros y los componentes de la interfaz, como los búferes de red, las excepciones y los botones de acción.
    4. Seleccione Crear para crear el archivo aws_demos.mot.

  14. Cree el archivo userprog.mot con el programador Secure Flash de Renesas. userprog.mot es una combinación de aws_demos.mot y boot_loader.mot. Puede instalar este archivo en RX65N-RSK para instalar el firmware inicial.

    1. Descargue https://github.com/renesas/Amazon-FreeRTOS-Tools y abra Renesas Secure Flash Programmer.exe.

    2. Seleccione la pestaña Firma inicial y, a continuación, defina los siguientes parámetros:

      • Ruta de clave privada: la ubicación de secp256r1.privatekey.

      • Ruta del archivo del cargador de arranque: la ubicación de boot_loader.mot (projects\renesas\rx65n-rsk\e2studio\boot_loader\HardwareDebug).

      • Ruta del archivo: la ubicación de aws_demos.mot (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

      Ventana Renesas Secure Flash Programmer con campos de MCU, verificación del firmware, número de secuencia, ruta clave AES y ruta de archivo.
    3. Cree un directorio denominado init_firmware, genere userprog.mot y guárdelo en el directorio init_firmware. Compruebe que se haya generado correctamente.

  15. Instale el firmware inicial en RX65N-RSK.

    1. Descargue la versión más reciente del programador Renesas Flash (GUI de programación) desde https://www.renesas.com/tw/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html.

    2. Abra el archivo vendors\renesas\rx_mcu_boards\boards\rx65n-rsk\aws_demos\flash_project\erase_from_bank\ erase.rpj para borrar los datos del banco.

    3. Seleccione Empezar para borrar el banco.

      La ventana del programador Flash de Renesas muestra los detalles del proyecto del microcontrolador del Grupo RX, la ruta del archivo y las opciones de operación del flash, como borrar, programar y verificar con los botones Inicio y Aceptar.
    4. Para instalar userprog.mot, seleccione Buscar…, acceda al directorio init_firmware, seleccione el archivo userprog.mot y elija Iniciar.

      La ventana del Renesas Flash Programmer muestra la configuración de la operación de borrado, incluido el microcontrolador RX Group, la opción de buscar el archivo del programa, los botones de borrado e inicio y los detalles de estado de los bloques seleccionados para borrar.
  16. La versión 0.9.2 (versión inicial) del firmware se instaló en su RX65N-RSK. La placa RX65N-RSK ahora escucha las actualizaciones OTA. Si ha abierto Tera Term en su PC, verá algo parecido a lo siguiente cuando se ejecute el firmware inicial.

    ------------------------------------------------- RX65N secure boot program ------------------------------------------------- Checking flash ROM status. bank 0 status = 0xff [LIFECYCLE_STATE_BLANK] bank 1 status = 0xfc [LIFECYCLE_STATE_INSTALLING] bank info = 1. (start bank = 0) start installing user program. copy secure boot (part1) from bank0 to bank1...OK copy secure boot (part2) from bank0 to bank1...OK update LIFECYCLE_STATE from [LIFECYCLE_STATE_INSTALLING] to [LIFECYCLE_STATE_VALID] bank1(temporary area) block0 erase (to update LIFECYCLE_STATE)...OK bank1(temporary area) block0 write (to update LIFECYCLE_STATE)...OK swap bank... ------------------------------------------------- RX65N secure boot program ------------------------------------------------- Checking flash ROM status. bank 0 status = 0xf8 [LIFECYCLE_STATE_VALID] bank 1 status = 0xff [LIFECYCLE_STATE_BLANK] bank info = 0. (start bank = 1) integrity check scheme = sig-sha256-ecdsa bank0(execute area) on code flash integrity check...OK jump to user program 0 1 [ETHER_RECEI] Deferred Interrupt Handler Task started 1 1 [ETHER_RECEI] Network buffers: 3 lowest 3 2 1 [ETHER_RECEI] Heap: current 234192 lowest 234192 3 1 [ETHER_RECEI] Queue space: lowest 8 4 1 [IP-task] InitializeNetwork returns OK 5 1 [IP-task] xNetworkInterfaceInitialise returns 0 6 101 [ETHER_RECEI] Heap: current 234592 lowest 233392 7 2102 [ETHER_RECEI] prvEMACHandlerTask: PHY LS now 1 8 3001 [IP-task] xNetworkInterfaceInitialise returns 1 9 3092 [ETHER_RECEI] Network buffers: 2 lowest 2 10 3092 [ETHER_RECEI] Queue space: lowest 7 11 3092 [ETHER_RECEI] Heap: current 233320 lowest 233320 12 3193 [ETHER_RECEI] Heap: current 233816 lowest 233120 13 3593 [IP-task] vDHCPProcess: offer c0a80a09ip 14 3597 [ETHER_RECEI] Heap: current 233200 lowest 233000 15 3597 [IP-task] vDHCPProcess: offer c0a80a09ip 16 3597 [IP-task] IP Address: 192.168.10.9 17 3597 [IP-task] Subnet Mask: 255.255.255.0 18 3597 [IP-task] Gateway Address: 192.168.10.1 19 3597 [IP-task] DNS Server Address: 192.168.10.1 20 3600 [Tmr Svc] The network is up and running 21 3622 [Tmr Svc] Write certificate... 22 3697 [ETHER_RECEI] Heap: current 232320 lowest 230904 23 4497 [ETHER_RECEI] Heap: current 226344 lowest 225944 24 5317 [iot_thread] [INFO ][DEMO][5317] ---------STARTING DEMO--------- 25 5317 [iot_thread] [INFO ][INIT][5317] SDK successfully initialized. 26 5317 [iot_thread] [INFO ][DEMO][5317] Successfully initialized the demo. Network type for the demo: 4 27 5317 [iot_thread] [INFO ][MQTT][5317] MQTT library successfully initialized. 28 5317 [iot_thread] [INFO ][DEMO][5317] OTA demo version 0.9.2 29 5317 [iot_thread] [INFO ][DEMO][5317] Connecting to broker... 30 5317 [iot_thread] [INFO ][DEMO][5317] MQTT demo client identifier is rx65n-gr-rose (length 13). 31 5325 [ETHER_RECEI] Heap: current 206944 lowest 206504 32 5325 [ETHER_RECEI] Heap: current 206440 lowest 206440 33 5325 [ETHER_RECEI] Heap: current 206240 lowest 206240 38 5334 [ETHER_RECEI] Heap: current 190288 lowest 190288 39 5334 [ETHER_RECEI] Heap: current 190088 lowest 190088 40 5361 [ETHER_RECEI] Heap: current 158512 lowest 158168 41 5363 [ETHER_RECEI] Heap: current 158032 lowest 158032 42 5364 [ETHER_RECEI] Network buffers: 1 lowest 1 43 5364 [ETHER_RECEI] Heap: current 156856 lowest 156856 44 5364 [ETHER_RECEI] Heap: current 156656 lowest 156656 46 5374 [ETHER_RECEI] Heap: current 153016 lowest 152040 47 5492 [ETHER_RECEI] Heap: current 141464 lowest 139016 48 5751 [ETHER_RECEI] Heap: current 140160 lowest 138680 49 5917 [ETHER_RECEI] Heap: current 138280 lowest 138168 59 7361 [iot_thread] [INFO ][MQTT][7361] Establishing new MQTT connection. 62 7428 [iot_thread] [INFO ][MQTT][7428] (MQTT connection 81cfc8, CONNECT operation 81d0e8) Wait complete with result SUCCESS. 63 7428 [iot_thread] [INFO ][MQTT][7428] New MQTT connection 4e8c established. 64 7430 [iot_thread] [OTA_AgentInit_internal] OTA Task is Ready. 65 7430 [OTA Agent T] [prvOTAAgentTask] Called handler. Current State [Ready] Event [Start] New state [RequestingJob] 66 7431 [OTA Agent T] [INFO ][MQTT][7431] (MQTT connection 81cfc8) SUBSCRIBE operation scheduled. 67 7431 [OTA Agent T] [INFO ][MQTT][7431] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Waiting for operation completion. 68 7436 [ETHER_RECEI] Heap: current 128248 lowest 127992 69 7480 [OTA Agent T] [INFO ][MQTT][7480] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Wait complete with result SUCCESS. 70 7480 [OTA Agent T] [prvSubscribeToJobNotificationTopics] OK: $aws/things/rx65n-gr-rose/jobs/$next/get/accepted 71 7481 [OTA Agent T] [INFO ][MQTT][7481] (MQTT connection 81cfc8) SUBSCRIBE operation scheduled. 72 7481 [OTA Agent T] [INFO ][MQTT][7481] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Waiting for operation completion. 73 7530 [OTA Agent T] [INFO ][MQTT][7530] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Wait complete with result SUCCESS. 74 7530 [OTA Agent T] [prvSubscribeToJobNotificationTopics] OK: $aws/things/rx65n-gr-rose/jobs/notify-next 75 7530 [OTA Agent T] [prvRequestJob_Mqtt] Request #0 76 7532 [OTA Agent T] [INFO ][MQTT][7532] (MQTT connection 81cfc8) MQTT PUBLISH operation queued. 77 7532 [OTA Agent T] [INFO ][MQTT][7532] (MQTT connection 81cfc8, PUBLISH operation 818b80) Waiting for operation completion. 78 7552 [OTA Agent T] [INFO ][MQTT][7552] (MQTT connection 81cfc8, PUBLISH operation 818b80) Wait complete with result SUCCESS. 79 7552 [OTA Agent T] [prvOTAAgentTask] Called handler. Current State [RequestingJob] Event [RequestJobDocument] New state [WaitingForJob] 80 7552 [OTA Agent T] [prvParseJSONbyModel] Extracted parameter [ clientToken: 0:rx65n-gr-rose ] 81 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: execution 82 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: jobId 83 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: jobDocument 84 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: afr_ota 85 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: protocols 86 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: files 87 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: filepath 99 7651 [ETHER_RECEI] Heap: current 129720 lowest 127304 100 8430 [iot_thread] [INFO ][DEMO][8430] State: Ready Received: 1 Queued: 0 Processed: 0 Dropped: 0 101 9430 [iot_thread] [INFO ][DEMO][9430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 102 10430 [iot_thread] [INFO ][DEMO][10430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 103 11430 [iot_thread] [INFO ][DEMO][11430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 104 12430 [iot_thread] [INFO ][DEMO][12430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 105 13430 [iot_thread] [INFO ][DEMO][13430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 106 14430 [iot_thread] [INFO ][DEMO][14430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 107 15430 [iot_thread] [INFO ][DEMO][15430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0
  17. Tarea B: actualizar la versión del firmware

    1. Abra el archivo demos/include/aws_application_version.h y aumente el valor del token APP_VERSION_BUILD a 0.9.3.

    2. Vuelva a compilar el proyecto.

  18. Cree el archivo userprog.rsu con el programador Secure Flash de Renesas para actualizar la versión de su firmware.

    1. Abra el archivo Amazon-FreeRTOS-Tools\Renesas Secure Flash Programmer.exe.

    2. Seleccione la pestaña Actualice el firmware y, a continuación, defina los siguientes parámetros:

      • Ruta del archivo: la ubicación del archivo aws_demos.mot (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

    3. Cree un directorio llamado update _firmware. Genere userprog.rsu y guárdela en el directorio update_firmware. Compruebe que se haya generado correctamente.

      Ventana del programador Renesas Secure Flash con selección de MCU, tipo de verificación del firmware, número de secuencia, campo clave AES MAC e introducción de ruta de archivo para generar un firmware seguro.
  19. Cargue la actualización del firmware, userproj.rsu, en un bucket de Amazon S3 tal y como se describe enCreación de un bucket de Amazon S3 para almacenar la actualización.

    Interfaz de administración de buckets de Amazon S3 con opciones de carpetas, cargas, versiones y permisos
  20. Cree un trabajo para actualizar el firmware del RX65N-RSK.

    AWS IoT Jobs es un servicio que notifica a uno o más dispositivos conectados una tarea pendiente. Puede usar un trabajo para administrar una flota de dispositivos, actualizar el firmware y los certificados de seguridad de sus dispositivos o realizar tareas administrativas, como reiniciar los dispositivos y realizar diagnósticos.

    1. Inicie sesión en la consola de AWS IoT. En el panel de navegación, elija Administrar y, a continuación, Trabajos.

    2. Elija Crear y, a continuación, elija Crear trabajo de actualización OTA. Seleccione un objeto y, a continuación, elija Siguiente.

    3. Cree un trabajo de actualización OTA de FreeRTOS de la siguiente manera:

      • Elija MQTT.

      • Seleccione el perfil de firma de código que ha creado en la sección anterior.

      • Seleccione la imagen de firmware que ha cargado en un bucket de Amazon S3.

      • En Nombre de la ruta de la imagen de firmware en el dispositivo, introduzca test.

      • Elija el rol de IAM que ha creado en la sección anterior.

    4. Elija Siguiente.

      Configuración de firma de imagen de firmware y actualización OTA con opciones para firmar un nuevo firmware, seleccionar el firmware previamente firmado, usar un firmware firmado personalizado, especificar el perfil de firma de código, el archivo de imagen del firmware, la ruta del dispositivo y la función de IAM para el trabajo de actualización de OTA.
    5. Introduzca el ID y, a continuación, elija Crear.

  21. Vuelva a abrir Tera Term para comprobar que el firmware se actualizó correctamente a la versión de demostración 0.9.3 de OTA.

    El resultado de la línea de comandos muestra la inicialización y la conexión de un hilo a un intermediario.
  22. En la AWS IoT consola, compruebe que el estado del trabajo es Correcto.

    Descripción general del trabajo de prueba AFR OTA Demo que muestra que 1 recurso se ha realizado correctamente.