

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Scarica, crea, esegui il flashing ed esegui la demo OTA di FreerTOS su Renesas N RX65
<a name="download-rx65n-ota"></a>

**Importante**  <a name="deprecation-message"></a>
Questa integrazione di riferimento è ospitata nel repository Amazon-FreeRTOS che è obsoleto. Ti consigliamo di [iniziare da qui quando crei un nuovo progetto](freertos-getting-started-modular.md). Se disponi già di un progetto FreeRTOS esistente basato sull'ormai obsoleto repository Amazon-FreerTOS, consulta il. [Guida alla migrazione del repository Github di Amazon-FreeRTOS](github-repo-migration.md)

Questo capitolo mostra come scaricare, creare, eseguire il flashing ed eseguire le applicazioni demo FreerTOS OTA su Renesas N. RX65

**Topics**
+ [Configura il tuo ambiente operativo](#download-rx65n-ota-environment)
+ [Configura le tue risorse AWS](#download-rx65n-ota-setup)
+ [Importa, configura il file di intestazione e crea aws\$1demos e boot\$1loader](#download-rx65n-ota-import-configure)

## Configura il tuo ambiente operativo
<a name="download-rx65n-ota-environment"></a>

Le procedure descritte in questa sezione utilizzano i seguenti ambienti:
+ **IDE**: 2 studio 7.8.0, e 2 studio 2020-07
+ **Catene di strumenti: CCRX Compiler v3.0.1**
+ **Dispositivi di destinazione:** RSKRX65 N-2 MB
+ **Debugger**: emulatore E 2, E 2 Lite
+ **Software**: Renesas Flash Programmatore, Renesas Secure Flash Programmer.exe, Tera Term

**Per configurare l'hardware**

1. Connect l'emulatore E 2 Lite e la porta seriale USB alla scheda RX65 N e al PC.

1. Connect la fonte di alimentazione al RX65 N.

## Configura le tue risorse AWS
<a name="download-rx65n-ota-setup"></a>

1. Per eseguire le demo di FreerTOS, è necessario disporre di AWS un account con un utente IAM autorizzato ad accedere ai servizi. AWS IoT Se non l'hai già fatto, segui i passaggi indicati. [Configurazione dell'account e delle autorizzazioni AWS](freertos-prereqs.md#freertos-account-and-permissions)

1. Per configurare gli aggiornamenti OTA, segui la procedura riportata di seguito[Prerequisiti per l'aggiornamento OTA](ota-prereqs.md). In particolare, segui i passaggi indicati in[Prerequisiti per gli aggiornamenti OTA mediante MQTT](ota-mqtt-freertos.md).

1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot/home).

1. Nel riquadro di navigazione a sinistra, scegli **Gestisci**, quindi scegli **Cose** per creare un oggetto.

   Una cosa è una rappresentazione di un dispositivo o di un'entità logica in AWS IoT. Può trattarsi di un dispositivo fisico o un sensore, ad esempio una lampadina o un interruttore su un muro. Può anche essere un'entità logica come un'istanza di un'applicazione o un'entità fisica a cui non si connette AWS IoT, ma è correlata a dispositivi che lo fanno (ad esempio, un'auto dotata di sensori del motore o un pannello di controllo). AWS IoT fornisce un registro degli oggetti che ti aiuta a gestire le tue cose.

   1. Scegli **Crea**, quindi scegli **Crea una singola cosa**.

   1. Inserisci un **nome** per il tuo oggetto, quindi scegli **Avanti**.

   1. Scegli **Crea certificato**.

   1. Scarica i tre file creati, quindi scegli **Attiva**. 

   1. Scegliere **Attach a policy (Collega policy)**.  
![\[schermata della console che mostra i file da scaricare\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/download-these-files-rx65n.png)

   1. Seleziona la politica in cui hai creato[Policy dei dispositivi](ota-mqtt-freertos.md#ota-mqtt-freertos-device-policy).

      Ogni dispositivo che riceve un aggiornamento OTA tramite MQTT deve essere registrato come oggetto in AWS IoT e deve avere una politica allegata come quella elencata. Ulteriori informazioni sugli elementi degli oggetti `"Action"` e `"Resource"` sono disponibili in [Operazioni di policy AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) e [Risorse per operazioni AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/iot-action-resources.html).

**Note**
      + Le `iot:Connect` autorizzazioni consentono al dispositivo di connettersi tramite MQTT AWS IoT .
      + Le autorizzazioni `iot:Publish` e `iot:Subscribe` sugli argomenti dei processi AWS IoT (`.../jobs/*`) consentono al dispositivo connesso di ricevere notifiche e documenti relativi ai processi e di pubblicare lo stato di completamento dell'esecuzione di un processo.
      + Le `iot:Publish` autorizzazioni `iot:Subscribe` e sugli argomenti degli stream AWS IoT OTA (`.../streams/*`) consentono al dispositivo connesso di recuperare i dati di aggiornamento OTA da. AWS IoT Queste autorizzazioni sono necessarie per eseguire gli aggiornamenti del firmware tramite MQTT.
      + Le `iot:Receive` autorizzazioni consentono di AWS IoT Core pubblicare messaggi su tali argomenti sul dispositivo connesso. Questa autorizzazione viene controllata ad ogni recapito di un messaggio MQTT. È possibile utilizzare questa autorizzazione per revocare l'accesso ai client attualmente sottoscritti a un argomento.

1. Per creare un profilo di firma del codice e registrare un certificato di firma del codice su. AWS

   1. [Per creare le chiavi e la certificazione, vedere la sezione 7.3 «Generazione di coppie di SHA256 chiavi ECDSA con OpenSSL» nella politica di progettazione degli aggiornamenti del firmware MCU di Renesas.](https://www.renesas.com/us/en/document/apn/renesas-mcu-firmware-update-design-policy)

   1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot/home). ****Nel riquadro di navigazione a sinistra, seleziona Gestisci, quindi Jobs.**** Seleziona **Crea un lavoro**, quindi **Crea processo di aggiornamento OTA**. 

   1. In **Seleziona i dispositivi da aggiornare** scegli **Seleziona**, quindi scegli l'elemento che hai creato in precedenza. Seleziona **Avanti**. 

   1. Nella pagina **Crea un processo di aggiornamento OTA FreerTOS**, procedi come segue:

      1. **Per **Seleziona il protocollo per il trasferimento delle immagini del firmware**, scegli MQTT.** 

      1. Per **Seleziona e firma l'immagine del firmware**, scegli **Firma una nuova immagine del firmware per me**. 

      1. Per il **profilo Code Signing**, scegli **Crea**.

      1. Nella finestra **Crea un profilo di firma del codice**, inserisci un **nome di profilo**. Per la **piattaforma hardware del dispositivo**, seleziona **Windows Simulator**. Per il **certificato di firma del codice**, scegli **Importa**.

      1. Sfoglia per selezionare il certificato (`secp256r1.crt`), la chiave privata del certificato (`secp256r1.key`) e la catena di certificati (`ca.crt`).

      1. Inserisci un **nome di percorso del certificato di firma del codice sul dispositivo**. Quindi, scegli **Crea**.

1. Per concedere l'accesso alla firma del codice per AWS IoT, segui i passaggi indicati in[Concedi l'accesso alla firma del codice per AWS IoT](code-sign-policy.md). 

Se non hai Tera Term installato sul tuo PC, puoi scaricarlo da [https://ttssh2.osdn.jp/index.html.en](https://ttssh2.osdn.jp/index.html.en) e configurarlo come mostrato qui. Assicurati di collegare la porta seriale USB dal dispositivo al PC.

![\[Finestra di configurazione della porta seriale Tera Term\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/tera-team-rx65n.png)


## Importa, configura il file di intestazione e crea aws\$1demos e boot\$1loader
<a name="download-rx65n-ota-import-configure"></a>

Per iniziare, selezioni l'ultima versione del pacchetto FreerTOS, che verrà scaricata GitHub e importata automaticamente nel progetto. In questo modo puoi concentrarti sulla configurazione di FreerTOS e sulla scrittura del codice dell'applicazione.

1. Avvia e 2 studio.

1. Scegli **File**, quindi seleziona **Importa**.

1. Seleziona il **progetto Renesas GitHub FreerTOS (con** librerie IoT).  
![\[finestra di importazione di e-squared studio\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/import-renesas-project-rx65n.png)

1. Scegli **Controlla altre versioni... per** mostrare la finestra di dialogo per il download.  
![\[finestra di dialogo per il download di e-squared studio\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/check-more-version-rx65n.png)

1. Seleziona il pacchetto più recente.  
![\[finestra di dialogo per il download del modulo e-squared studio\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/choose-latest-version-rx65n.png)

1. Scegli **Accetto** per accettare il contratto di licenza con l'utente finale.  
![\[finestra di dialogo EULA di e-squared studio\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/eula-rx65n.png)

1. Attendi il completamento del download.  
![\[scarica la barra di avanzamento\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/downloading-rx65n.png)

1. **Seleziona i progetti **aws\$1demos** e **boot\$1loader**, quindi scegli Fine per importarli.**  
![\[finestra di importazione dei progetti\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/import-projects-rx65n.png)

1. Per entrambi i progetti, apri le proprietà del progetto. Nel riquadro di navigazione, scegliete **Tool Chain Editor**.

   1. Scegliete la **toolchain corrente**.

   1. Scegli il **generatore Current**.  
![\[finestra delle proprietà di e-squared studio\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/project-properties-rx65n.png)

1. Nel pannello di navigazione scegli **Impostazioni**. **Scegli la scheda **Toolchain**, quindi scegli la versione della toolchain.**  
![\[Impostazioni di integrazione della toolchain per Renesas CCRX versione v3.01.00, con possibilità di modificare la toolchain.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/project-properties-toolchain-rx65n.png)

   ****Scegli la scheda **Impostazioni dello strumento**, espandi Convertitore e quindi scegli Output.**** Nella finestra principale, assicurati che il **file esadecimale di output** sia selezionato, quindi scegli il **tipo di file di output**.  
![\[La finestra delle impostazioni di configurazione di C/C++ Build mostra le opzioni del compilatore e del linker come il file esadecimale di output, il tipo di file di output, la directory di output e le opzioni di divisione dei file.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/project-properties-settings-rx65n.png)  
![\[Albero delle impostazioni dell'interfaccia con opzioni per Stack Analysis, Tool Chain Editor, C/C++ General, MCU, Project References, ecc.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/project-properties-settings-2-rx65n.png)

1. Nel progetto bootloader, `projects\renesas\rx65n-rsk\e2studio\boot_loader\src\key\code_signer_public_key.h` apri e inserisci la chiave pubblica. [Per informazioni su come creare una chiave pubblica, consulta [Come implementare FreerTOS OTA utilizzando Amazon Web Services RX65 su](https://www.renesas.com/us/en/document/apn/rx-family-how-implement-freertos-ota-using-amazon-web-services-rx65n) N e la sezione 7.3 «Generazione di coppie di chiavi ECDSA con OpenSSL» nella politica di progettazione dell'SHA256 aggiornamento del firmware MCU di Renesas.](https://www.renesas.com/us/en/document/apn/renesas-mcu-firmware-update-design-policy)  
![\[Editor di codice che mostra un file di intestazione C con definizione per CODE_SIGNER_PUBLIC_KEY e una variabile chiave pubblica code signer con codifica PEM.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/open-bootloader-project-rx65n.png)

   Quindi `boot_loader.mot` crea il progetto da creare.

1. Apri il `aws_demos` progetto.

   1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot/home).

   1. Nel riquadro di navigazione a sinistra scegliere **Impostazioni**. Prendi nota del tuo endpoint personalizzato nella casella di testo **Device data endpoint**.

   1. **Scegli **Gestisci**, quindi scegli Cose.** Prendi nota del nome dell' AWS IoT oggetto della tua bacheca.

   1. Nel `aws_demos` progetto, aprite `demos/include/aws_clientcredential.h` e specificate i seguenti valori.

      ```
      #define clientcredentialMQTT_BROKER_ENDPOINT[] = "Your AWS IoT endpoint";
      #define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"
      ```  
![\[Frammento di codice che mostra il nome dell' AWS IoT oggetto e le impostazioni di configurazione dell'endpoint del broker.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/client-credential-rx65n.png)

   1. Apri il file `tools/certificate_configuration/CertificateConfigurator.html`.

   1. Importa il file PEM del certificato e il file PEM a chiave privata che hai scaricato in precedenza.

   1. Scegli **Genera e salva aws\$1clientcredential\$1keys.h** e sostituisci questo file nella directory. `demos/include/`  
![\[Strumento di configurazione dei certificati con campi per fornire i file PEM del certificato client e della chiave privata dalla console e un pulsante per generare e salvare il file aws_clientcredential_keys.h AWS IoT .\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/certificate-config-tool-rx65n.png)

   1. Apri il file e specifica questi valori. `vendors/renesas/boards/rx65n-rsk/aws_demos/config_files/ota_demo_config.h`

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

      *your-certificate-key*Dov'è il valore del file`secp256r1.crt`. Ricordati di aggiungere «\$1» dopo ogni riga della certificazione. [Per ulteriori informazioni sulla creazione del `secp256r1.crt` file, consulta [Come implementare FreerTOS OTA utilizzando Amazon Web Services RX65 su](https://www.renesas.com/us/en/document/apn/rx-family-how-implement-freertos-ota-using-amazon-web-services-rx65n) N e la sezione 7.3 «Generazione di coppie di chiavi ECDSA SHA256 con OpenSSL» nella politica di progettazione dell'aggiornamento del firmware MCU di Renesas.](https://www.renesas.com/us/en/document/apn/renesas-mcu-firmware-update-design-policy)  
![\[File di codice sorgente che mostra il codice C che definisce una stringa costante del certificato del firmatario del codice codificato con codifica PEM con dati del certificato redatti.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/codesigner-cert-rx65n.png)

1. **Attività A: Installare la versione iniziale del firmware**

   1. Apri il `vendors/renesas/boards/board/aws_demos/config_files/aws_demo_config.h` file, commenta e definisci `CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED` o`CONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED`. `#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED`

   1. Aprire il `demos/include/ aws_application_version.h` file e impostare la versione iniziale del firmware su`0.9.2`.  
![\[Frammento di codice che mostra le definizioni delle versioni di un'applicazione, incluse le macro per i numeri di versione principali, secondari e di build.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/firmware-version-rx65n.png)

   1. **Modificate le seguenti impostazioni nel Section Viewer.**  
![\[Finestra del visualizzatore di sezioni che mostra gli indirizzi di memoria, i nomi delle sezioni come SU, SI, i registri e i componenti dell'interfaccia come buffer di rete, eccezioni e pulsanti di azione.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/section-viewer-rx65n.png)

   1. Scegli **Build** per creare il file. `aws_demos.mot`

1. Crea il file `userprog.mot` con Renesas Secure Flash Programmer. `userprog.mot`è una combinazione di e. `aws_demos.mot` `boot_loader.mot` È possibile eseguire il flashing di questo file su RX65 N-RSK per installare il firmware iniziale.

   1. Scarica [ https://github.com/renesas/Amazon-FreeRTOS-Tools e apri](https://github.com/renesas/Amazon-FreeRTOS-Tools). `Renesas Secure Flash Programmer.exe`

   1. Scegli la scheda **Initial Firm** e imposta i seguenti parametri:
      + **Private Key Path**: la posizione di`secp256r1.privatekey`.
      + **Percorso del file del loader di avvio**: la posizione di `boot_loader.mot` (`projects\renesas\rx65n-rsk\e2studio\boot_loader\HardwareDebug`).
      + **Percorso del file**: la posizione di `aws_demos.mot` (`projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug`).  
![\[Finestra Renesas Secure Flash Programmer con MCU, verifica del firmware, numero di sequenza, percorso chiave AES e campi del percorso del file.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/secure-flash-rx65n.png)

   1. Crea una directory denominata `init_firmware` Genera `userprog.mot` e salvala nella directory. `init_firmware` Verificate che la generazione sia riuscita.

1. Esegui il flashing del firmware iniziale sull' RX65N-RSK.

   1. [Scarica l'ultima versione di Renesas Flash Programmer (Programming GUI) da - .html. https://www.renesas.com/tw/ en/products/software-tools/tools/programmer/renesas flash-programmer-programming-gui](https://www.renesas.com/tw/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html) 

   1. Apri il `vendors\renesas\rx_mcu_boards\boards\rx65n-rsk\aws_demos\flash_project\erase_from_bank\ erase.rpj` file per cancellare i dati sulla banca.

   1. Scegli **Inizia** per cancellare la banca.  
![\[La finestra Renesas Flash Programmer mostra i dettagli del progetto del microcontrollore RX Group, il percorso del file e le opzioni di funzionamento flash come Cancella, Programma e Verifica con i pulsanti Start e OK.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/flash-programmer-erasing-rx65n.png)

   1. **Per eseguire il flash, scegli Sfoglia... `userprog.mot`** e accedi alla `init_firmware` directory, seleziona il `userprog.mot` file e scegli **Avvia**.  
![\[La finestra Renesas Flash Programmer mostra le impostazioni delle operazioni di cancellazione, tra cui il microcontrollore RX Group, l'opzione per sfogliare il file di programma, i pulsanti Erase e Start e i dettagli sullo stato dei blocchi selezionati da cancellare.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/flash-programmer-complete-rx65n.png)

1. La versione 0.9.2 (versione iniziale) del firmware è stata installata sull'N-RSK. RX65 La scheda RX65 N-RSK è ora in attesa degli aggiornamenti OTA. Se hai aperto Tera Term sul tuo PC, all'esecuzione del firmware iniziale viene visualizzato qualcosa di simile a quanto segue.

   ```
   -------------------------------------------------
   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
   ```

1. **Attività B: aggiorna la versione del firmware**

   1. Aprire il `demos/include/aws_application_version.h` file e incrementare il valore del `APP_VERSION_BUILD` token a`0.9.3`.

   1. Ricreare il progetto.

1. Crea il `userprog.rsu` file con Renesas Secure Flash Programmer per aggiornare la versione del firmware.

   1. Apri il file `Amazon-FreeRTOS-Tools\Renesas Secure Flash Programmer.exe`.

   1. Scegli la scheda **Update Firm** e imposta i seguenti parametri:
      + **Percorso del file**: la posizione del `aws_demos.mot` file (`projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug`).

   1. Crea una directory denominata `update _firmware`. Genera `userprog.rsu` e salvalo nella `update_firmware` directory. Verificate che la generazione sia riuscita.  
![\[Finestra Renesas Secure Flash Programmer con selezione MCU, tipo di verifica del firmware, numero di sequenza, campo chiave AES MAC e input del percorso del file per la generazione di firmware sicuro.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/update-firmware-rx65n.png)

1. Carica l'aggiornamento del firmware in un bucket Amazon S3 come descritto in. `userproj.rsu` [Crea un bucket Amazon S3 per archiviare l'aggiornamento](dg-ota-bucket.md)   
![\[Interfaccia di gestione dei bucket Amazon S3 con cartelle, caricamenti, versioni e opzioni di autorizzazione\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/upload-firmware-rx65n.png)

1. Crea un processo per aggiornare il firmware sull'N-RSK. RX65

   AWS IoT [Jobs è un servizio che notifica a uno o più dispositivi connessi un Job in sospeso.](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html) Un job può essere utilizzato per gestire una flotta di dispositivi, aggiornare il firmware e i certificati di sicurezza sui dispositivi o eseguire attività amministrative come il riavvio dei dispositivi e l'esecuzione di diagnosi.

   1. Accedi alla [console AWS IoT](https://console.aws.amazon.com/iotv2/). **Nel riquadro di navigazione, scegli **Gestisci** e scegli Lavori.**

   1. Scegli **Crea un lavoro**, quindi scegli **Crea lavoro OTA Update**. Seleziona una cosa, quindi scegli **Avanti**.

   1. Crea un processo di aggiornamento OTA FreerTOS come segue:
      + **Scegli MQTT.**
      + Seleziona il profilo di firma del codice che hai creato nella sezione precedente.
      + Seleziona l'immagine del firmware che hai caricato in un bucket Amazon S3.
      + Per il **nome del percorso dell'immagine del firmware sul dispositivo**, inserisci. **test**
      + Scegli il ruolo IAM che hai creato nella sezione precedente.

   1. Scegli **Next (Successivo)**.  
![\[Impostazioni di firma dell'immagine del firmware e aggiornamento OTA con opzioni per firmare nuovo firmware, selezionare firmware firmato in precedenza, utilizzare firmware firmato personalizzato, specificare il profilo di firma del codice, il file di immagine del firmware, il percorso sul dispositivo e il ruolo IAM per il processo di aggiornamento OTA.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/create-job-next-rx65n.png)

   1. Inserisci un ID, quindi scegli **Crea**.

1. Riapri Tera Term per verificare che il firmware sia stato aggiornato correttamente alla versione demo OTA 0.9.3.  
![\[Output della riga di comando che mostra l'inizializzazione e la connessione di un thread a un broker.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/update-successful-rx65n.png)

1. Sulla AWS IoT console, verifica che lo stato del processo sia **Riuscito**.  
![\[Panoramica del processo di test AFR OTA-Demo che mostra che 1 risorsa ha avuto successo.\]](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/completed-succeeded-rx65n.png)