

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Unduh, buat, flash, dan jalankan demo FreerTOS OTA di Renesas N RX65
<a name="download-rx65n-ota"></a>

**penting**  <a name="deprecation-message"></a>
Integrasi referensi ini di-host di repositori Amazon-Freertos yang tidak digunakan lagi. Kami menyarankan Anda [mulai di sini](freertos-getting-started-modular.md) ketika Anda membuat proyek baru. Jika Anda sudah memiliki proyek FreeRTOS yang sudah ada berdasarkan repositori Amazon-Freertos yang sekarang tidak digunakan lagi, lihat. [Panduan Migrasi Repositori Github Amazon-freertos](github-repo-migration.md)

Bab ini menunjukkan cara mengunduh, membangun, mem-flash, dan menjalankan aplikasi demo FreerTOS OTA di Renesas N. RX65

**Topics**
+ [Siapkan lingkungan operasi Anda](#download-rx65n-ota-environment)
+ [Siapkan AWS sumber daya Anda](#download-rx65n-ota-setup)
+ [Impor, konfigurasikan file header dan buat aws\$1demos dan boot\$1loader](#download-rx65n-ota-import-configure)

## Siapkan lingkungan operasi Anda
<a name="download-rx65n-ota-environment"></a>

Prosedur di bagian ini menggunakan lingkungan berikut:
+ **IDE**: 2 studio 7.8.0, dan 2 studio 2020-07
+ **Rantai Alat**: CCRX Compiler v3.0.1
+ **Perangkat target**: RSKRX65 N-2MB
+ **Debugger**: E 2, E 2 Lite emulator
+ **Perangkat lunak**: Renesas Flash Programmer, Renesas Secure Flash Programmer.exe, Tera Term

**Untuk mengatur perangkat keras Anda**

1. Hubungkan emulator E 2 Lite dan port serial USB ke papan RX65 N dan PC Anda.

1. Hubungkan sumber daya ke RX65 N.

## Siapkan AWS sumber daya Anda
<a name="download-rx65n-ota-setup"></a>

1. Untuk menjalankan demo FreeRTOS, Anda harus memiliki akun dengan pengguna IAM AWS yang memiliki izin untuk mengakses layanan. AWS IoT Jika Anda belum melakukannya, ikuti langkah-langkahnya[Menyiapkan AWS akun dan izin](freertos-prereqs.md#freertos-account-and-permissions).

1. Untuk mengatur pembaruan OTA, ikuti langkah-langkahnya[Prasyarat pembaruan OTA](ota-prereqs.md). Secara khusus, ikuti langkah-langkahnya[Prasyarat untuk pembaruan OTA menggunakan MQTT](ota-mqtt-freertos.md).

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

1. Di panel navigasi kiri, pilih **Kelola**, lalu pilih **Things** to create a thing.

   Sesuatu adalah representasi dari perangkat atau entitas logis di AWS IoT. Ini bisa berupa perangkat fisik atau sensor (misalnya, bola lampu atau sakelar di dinding). Ini juga bisa menjadi entitas logis seperti contoh aplikasi atau entitas fisik yang tidak terhubung AWS IoT, tetapi terkait dengan perangkat yang melakukannya (misalnya, mobil yang memiliki sensor mesin atau panel kontrol). AWS IoT menyediakan registri sesuatu yang membantu Anda mengelola barang-barang Anda.

   1. Pilih **Buat**, lalu pilih **Buat satu hal**.

   1. Masukkan **Nama** untuk barang Anda, lalu pilih **Berikutnya**.

   1. Pilih **Buat sertifikat**.

   1. Unduh tiga file yang dibuat dan kemudian pilih **Aktifkan**. 

   1. Pilih **Lampirkan kebijakan**.  
![\[layar konsol yang menampilkan file yang akan diunduh\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/download-these-files-rx65n.png)

   1. Pilih kebijakan yang Anda buat[Kebijakan perangkat](ota-mqtt-freertos.md#ota-mqtt-freertos-device-policy).

      Setiap perangkat yang menerima pembaruan OTA menggunakan MQTT harus terdaftar sebagai sesuatu AWS IoT dan benda tersebut harus memiliki kebijakan terlampir seperti yang terdaftar. Anda dapat menemukan informasi selengkapnya tentang item dalam `"Action"` dan `"Resource"` objek di [Tindakan Kebijakan AWS IoT Inti](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) dan [Sumber Daya Tindakan AWS IoT Inti](https://docs.aws.amazon.com/iot/latest/developerguide/iot-action-resources.html).

**Catatan**
      + `iot:Connect`Izin memungkinkan perangkat Anda terhubung AWS IoT melalui MQTT.
      + `iot:Publish`Izin `iot:Subscribe` dan pada topik AWS IoT pekerjaan (`.../jobs/*`) memungkinkan perangkat yang terhubung untuk menerima pemberitahuan pekerjaan dan dokumen pekerjaan, dan untuk mempublikasikan status penyelesaian pelaksanaan pekerjaan.
      + `iot:Publish`Izin `iot:Subscribe` dan tentang topik aliran AWS IoT OTA (`.../streams/*`) memungkinkan perangkat yang terhubung untuk mengambil data pembaruan OTA dari. AWS IoT Izin ini diperlukan untuk melakukan pembaruan firmware melalui MQTT.
      + `iot:Receive`Izin memungkinkan AWS IoT Core untuk mempublikasikan pesan tentang topik tersebut ke perangkat yang terhubung. Izin ini diperiksa pada setiap pengiriman pesan MQTT. Anda dapat menggunakan izin ini untuk mencabut akses ke klien yang saat ini berlangganan topik.

1. Untuk membuat profil penandatanganan kode dan mendaftarkan sertifikat penandatanganan kode pada. AWS

   1. [Untuk membuat kunci dan sertifikasi, lihat bagian 7.3 “Menghasilkan ECDSA- Pasangan SHA256 Kunci dengan OpenSSL” di Kebijakan Desain Pembaruan Firmware Renesas MCU.](https://www.renesas.com/us/en/document/apn/renesas-mcu-firmware-update-design-policy)

   1. Buka [konsol AWS IoT](https://console.aws.amazon.com/iot/home). Di panel navigasi kiri, pilih **Kelola**, lalu **Pekerjaan**. Pilih **Create a job** lalu **Create OTA update Job**. 

   1. Di bawah **Pilih perangkat yang akan diperbarui** **pilih Pilih** lalu pilih hal yang Anda buat sebelumnya. Pilih **Selanjutnya**. 

   1. Pada halaman pekerjaan **Create a FreeRTOS OTA update**, lakukan hal berikut:

      1. Untuk **Pilih protokol untuk transfer gambar firmware**, pilih **MQTT**. 

      1. Untuk **Pilih dan tandatangani gambar firmware Anda**, pilih **Tanda tangani gambar firmware baru untuk saya**. 

      1. Untuk **profil penandatanganan kode**, pilih **Buat**.

      1. Di jendela **Buat profil penandatanganan kode**, masukkan **nama Profil**. Untuk **platform perangkat keras perangkat** pilih **Windows Simulator**. Untuk **sertifikat penandatanganan kode** pilih **Impor**.

      1. Telusuri untuk memilih sertifikat (`secp256r1.crt`), kunci privat sertifikat (`secp256r1.key`), dan rantai sertifikat (`ca.crt`).

      1. Masukkan **Pathname sertifikat penandatanganan kode di perangkat**. Lalu pilih **Buat**.

1. Untuk memberikan akses ke penandatanganan kode AWS IoT, ikuti langkah-langkahnya[Berikan akses ke penandatanganan kode untuk AWS IoT](code-sign-policy.md). 

Jika Tera Term tidak diinstal pada PC Anda, Anda dapat mengunduhnya [https://ttssh2.osdn.jp/index.htmldari.en](https://ttssh2.osdn.jp/index.html.en) dan mengaturnya seperti yang ditunjukkan di sini. Pastikan Anda mencolokkan port Serial USB dari perangkat Anda ke PC Anda.

![\[Jendela pengaturan port serial Tera Term\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/tera-team-rx65n.png)


## Impor, konfigurasikan file header dan buat aws\$1demos dan boot\$1loader
<a name="download-rx65n-ota-import-configure"></a>

Untuk memulai, Anda memilih versi terbaru dari paket FreerTOS, dan ini akan diunduh GitHub dari dan diimpor secara otomatis ke proyek. Dengan cara ini Anda dapat fokus pada konfigurasi FreeRTOS dan menulis kode aplikasi.

1. Luncurkan e 2 studio.

1. Pilih **File**, lalu pilih **Impor...**

1. Pilih Proyek **Renesas FreeRTOS (dengan GitHub pustaka IoT**).  
![\[jendela impor studio e-kuadrat\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/import-renesas-project-rx65n.png)

1. Pilih **Periksa versi lainnya...** untuk menampilkan kotak dialog unduhan.  
![\[jendela dialog unduhan studio e-kuadrat\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/check-more-version-rx65n.png)

1. Pilih paket terbaru.  
![\[jendela dialog unduhan modul studio e-kuadrat\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/choose-latest-version-rx65n.png)

1. Pilih **Setuju** untuk menerima perjanjian lisensi pengguna akhir.  
![\[dialog EULA studio e-kuadrat\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/eula-rx65n.png)

1. Tunggu hingga unduhan selesai.  
![\[unduh bilah kemajuan\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/downloading-rx65n.png)

1. **Pilih proyek **aws\$1demos dan **boot\$1loader****, lalu pilih Selesai untuk mengimpornya.**  
![\[jendela proyek impor\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/import-projects-rx65n.png)

1. Untuk kedua proyek, buka properti proyek. Di panel navigasi, pilih **Tool Chain Editor**.

   1. Pilih **toolchain saat ini**.

   1. Pilih **pembangun saat ini**.  
![\[jendela properti studio e-kuadrat\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/project-properties-rx65n.png)

1. Pada panel navigasi, silakan pilih **Pengaturan**. **Pilih tab **Toolchain**, lalu pilih Versi toolchain.**  
![\[Pengaturan integrasi rantai alat untuk Renesas CCRX Version v3.01.00, dengan opsi untuk mengubah rantai alat.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/project-properties-toolchain-rx65n.png)

   Pilih tab **Pengaturan Alat**, perluas **Konverter** dan kemudian pilih **Output**. Di jendela utama, pastikan **Output hex file** dipilih, dan kemudian pilih **jenis file Output**.  
![\[C/C++ Membangun jendela pengaturan konfigurasi yang menampilkan opsi kompiler dan tautan seperti file hex output, jenis file output, direktori keluaran, dan opsi pembagian file.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/project-properties-settings-rx65n.png)  
![\[Pohon pengaturan antarmuka dengan opsi untuk Analisis Tumpukan, Editor Rantai Alat, C/C++ Umum, MCU, Referensi Proyek, dll.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/project-properties-settings-2-rx65n.png)

1. Dalam proyek bootloader, buka `projects\renesas\rx65n-rsk\e2studio\boot_loader\src\key\code_signer_public_key.h` dan masukkan kunci publik. [Untuk informasi tentang cara membuat kunci publik, lihat [Cara menerapkan FreeRTOS OTA dengan menggunakan Amazon Web Services RX65 di](https://www.renesas.com/us/en/document/apn/rx-family-how-implement-freertos-ota-using-amazon-web-services-rx65n) N dan bagian 7.3 “Menghasilkan ECDSA SHA256 - Pasangan Kunci dengan OpenSSL” di Kebijakan Desain Pembaruan Firmware MCU Renesas.](https://www.renesas.com/us/en/document/apn/renesas-mcu-firmware-update-design-policy)  
![\[Editor kode menampilkan file header C dengan definisi untuk CODE_SIGNER_PUBLIC_KEY dan variabel kunci publik penandatangan kode yang disandikan PEM.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/open-bootloader-project-rx65n.png)

   Kemudian bangun proyek untuk dibuat`boot_loader.mot`.

1. Buka `aws_demos` proyek.

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

   1. Pada panel navigasi kiri, pilih **Pengaturan**. Catat titik akhir kustom Anda di kotak teks **titik akhir data Perangkat**.

   1. Pilih **Kelola**, lalu pilih **Things**. Catat nama AWS IoT benda papan Anda.

   1. Dalam `aws_demos` proyek, buka `demos/include/aws_clientcredential.h` dan tentukan nilai-nilai berikut.

      ```
      #define clientcredentialMQTT_BROKER_ENDPOINT[] = "Your AWS IoT endpoint";
      #define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"
      ```  
![\[Cuplikan kode yang menunjukkan nama AWS IoT benda dan pengaturan konfigurasi titik akhir broker.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/client-credential-rx65n.png)

   1. Buka file `tools/certificate_configuration/CertificateConfigurator.html`.

   1. Impor file PEM sertifikat dan file PEM Kunci Pribadi yang Anda unduh sebelumnya.

   1. Pilih **Generate dan save aws\$1clientcredential\$1keys.h** dan ganti file ini di direktori. `demos/include/`  
![\[Alat Konfigurasi Sertifikat dengan bidang untuk menyediakan sertifikat klien dan file PEM kunci pribadi dari AWS IoT Konsol, dan tombol untuk membuat dan menyimpan file aws_clientcredential_keys.h.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/certificate-config-tool-rx65n.png)

   1. Buka `vendors/renesas/boards/rx65n-rsk/aws_demos/config_files/ota_demo_config.h` file, dan tentukan nilai-nilai ini.

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

      *your-certificate-key*Dimana nilai dari file tersebut`secp256r1.crt`. Ingatlah untuk menambahkan “\$1” setelah setiap baris dalam sertifikasi. [Untuk informasi selengkapnya tentang membuat `secp256r1.crt` file, lihat [Cara menerapkan FreerTOS OTA menggunakan Amazon Web Services RX65 di](https://www.renesas.com/us/en/document/apn/rx-family-how-implement-freertos-ota-using-amazon-web-services-rx65n) N dan bagian 7.3 “Menghasilkan ECDSA SHA256 - Pasangan Kunci dengan OpenSSL” di Kebijakan Desain Pembaruan Firmware Renesas MCU.](https://www.renesas.com/us/en/document/apn/renesas-mcu-firmware-update-design-policy)  
![\[File kode sumber yang menunjukkan kode C yang mendefinisikan string konstan sertifikat penandatangan kode yang disandikan PEM dengan data sertifikat yang disunting.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/codesigner-cert-rx65n.png)

1. **Tugas A: Instal versi awal firmware**

   1. Buka `vendors/renesas/boards/board/aws_demos/config_files/aws_demo_config.h` file, beri komentar`#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED`, dan tentukan salah satu `CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED` atau`CONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED`.

   1. Buka `demos/include/ aws_application_version.h` file, dan atur versi awal firmware ke`0.9.2`.  
![\[Cuplikan kode yang menampilkan definisi versi untuk aplikasi, termasuk makro untuk nomor versi mayor, minor, dan build.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/firmware-version-rx65n.png)

   1. Ubah pengaturan berikut di **Penampil Bagian**.  
![\[Jendela penampil bagian yang menampilkan alamat memori, nama bagian seperti SU, SI, register, dan komponen antarmuka seperti buffer jaringan, pengecualian, dan tombol tindakan.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/section-viewer-rx65n.png)

   1. Pilih **Build** untuk membuat `aws_demos.mot` file.

1. Buat file `userprog.mot` dengan Renesas Secure Flash Programmer. `userprog.mot`adalah kombinasi dari `aws_demos.mot` dan`boot_loader.mot`. Anda dapat mem-flash file ini ke RX65 N-RSK untuk menginstal firmware awal.

   1. Unduh [ https://github.com/renesas/Amazon-Freertos-Tools](https://github.com/renesas/Amazon-FreeRTOS-Tools) dan buka. `Renesas Secure Flash Programmer.exe`

   1. Pilih tab **Firm Awal** dan kemudian atur parameter berikut:
      + **Private Key Path** — Lokasi`secp256r1.privatekey`.
      + **Jalur File Boot Loader** — Lokasi `boot_loader.mot` (`projects\renesas\rx65n-rsk\e2studio\boot_loader\HardwareDebug`).
      + **File Path** — Lokasi dari `aws_demos.mot` (`projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug`).  
![\[Jendela Renesas Secure Flash Programmer dengan MCU, verifikasi firmware, nomor urut, jalur kunci AES, dan bidang jalur file.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/secure-flash-rx65n.png)

   1. Buat direktori bernama`init_firmware`, Hasilkan`userprog.mot`, dan simpan ke `init_firmware` direktori. Verifikasi bahwa hasil berhasil.

1. Flash firmware awal pada RX65 N-RSK.

   1. [Unduh versi terbaru dari Renesas Flash Programmer (Programming GUI) dari - .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. Buka `vendors\renesas\rx_mcu_boards\boards\rx65n-rsk\aws_demos\flash_project\erase_from_bank\ erase.rpj` file untuk menghapus data di bank.

   1. Pilih **Mulai** untuk menghapus bank.  
![\[Jendela Renesas Flash Programmer yang menampilkan detail proyek mikrokontroler Grup RX, jalur file, dan opsi operasi flash seperti Hapus, Program, dan Verifikasi dengan tombol Mulai dan OK.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/flash-programmer-erasing-rx65n.png)

   1. Untuk mem-flash`userprog.mot`, pilih **Browse...** dan navigasikan ke `init_firmware` direktori, pilih `userprog.mot` file dan pilih **Mulai**.  
![\[Jendela Renesas Flash Programmer yang menampilkan pengaturan operasi hapus, termasuk mikrokontroler RX Group, opsi untuk menelusuri file program, tombol Hapus dan Mulai, dan detail status pada blok yang dipilih untuk dihapus.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/flash-programmer-complete-rx65n.png)

1. Versi 0.9.2 (versi awal) dari firmware telah diinstal ke N-RSK Anda RX65. Papan RX65 N-RSK sekarang mendengarkan pembaruan OTA. Jika Anda telah membuka Tera Term di PC Anda, Anda melihat sesuatu seperti berikut ketika firmware awal berjalan.

   ```
   -------------------------------------------------
   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. **Tugas B: Perbarui versi firmware Anda**

   1. Buka `demos/include/aws_application_version.h` file dan naikkan nilai `APP_VERSION_BUILD` token ke`0.9.3`.

   1. Membangun kembali proyek.

1. Buat `userprog.rsu` file dengan Renesas Secure Flash Programmer untuk memperbarui versi firmware Anda.

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

   1. Pilih tab **Perbarui Perusahaan** dan atur parameter berikut:
      + **File Path** — Lokasi `aws_demos.mot` file (`projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug`).

   1. Membuat sebuah direktori bernama `update _firmware`. Hasilkan `userprog.rsu` dan simpan ke `update_firmware` direktori. Verifikasi bahwa hasil berhasil.  
![\[Jendela Renesas Secure Flash Programmer dengan pemilihan MCU, jenis verifikasi firmware, nomor urut, bidang kunci AES MAC, dan input jalur file untuk menghasilkan firmware yang aman.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/update-firmware-rx65n.png)

1. Unggah pembaruan firmware,`userproj.rsu`, ke dalam bucket Amazon S3 seperti yang dijelaskan dalam. [Buat bucket Amazon S3 untuk menyimpan pembaruan Anda](dg-ota-bucket.md)   
![\[Antarmuka manajemen bucket Amazon S3 dengan folder, unggahan, versi, dan opsi izin\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/upload-firmware-rx65n.png)

1. Buat pekerjaan untuk memperbarui firmware pada RX65 N-RSK.

   AWS IoT Jobs adalah layanan yang memberi tahu satu atau beberapa perangkat yang terhubung tentang [Job](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html) yang tertunda. Pekerjaan dapat digunakan untuk mengelola armada perangkat, memperbarui firmware dan sertifikat keamanan pada perangkat, atau melakukan tugas administratif seperti memulai ulang perangkat dan melakukan diagnostik.

   1. Masuk ke [konsol AWS IoT](https://console.aws.amazon.com/iotv2/) tersebut. Di panel navigasi, pilih **Kelola**, dan pilih **Pekerjaan**.

   1. Pilih **Buat pekerjaan**, lalu pilih **Buat pekerjaan Pembaruan OTA**. Pilih sesuatu, lalu pilih **Berikutnya**.

   1. Buat pekerjaan pembaruan FreeRTOS OTA sebagai berikut:
      + Pilih **MQTT**.
      + Pilih profil penandatanganan kode yang Anda buat di bagian sebelumnya.
      + Pilih gambar firmware yang Anda unggah ke bucket Amazon S3.
      + Untuk **Pathname gambar firmware pada perangkat**, masukkan**test**.
      + Pilih peran IAM yang Anda buat di bagian sebelumnya.

   1. Pilih **Berikutnya**.  
![\[Tanda gambar firmware dan pengaturan pembaruan OTA dengan opsi untuk menandatangani firmware baru, memilih firmware yang ditandatangani sebelumnya, menggunakan firmware yang ditandatangani khusus, menentukan profil penandatanganan kode, file gambar firmware, jalur di perangkat, dan peran IAM untuk pekerjaan pembaruan OTA.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/create-job-next-rx65n.png)

   1. Masukkan ID lalu pilih **Buat**.

1. Buka kembali Tera Term untuk memverifikasi bahwa firmware berhasil diperbarui ke versi demo OTA 0.9.3.  
![\[Output baris perintah menunjukkan inisialisasi dan koneksi thread ke broker.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/update-successful-rx65n.png)

1. Di AWS IoT konsol, verifikasi bahwa status pekerjaan **berhasil.**  
![\[Ikhtisar pekerjaan tes AFR OTA-demo menunjukkan 1 sumber daya berhasil.\]](http://docs.aws.amazon.com/id_id/freertos/latest/userguide/images/completed-succeeded-rx65n.png)