Image
Keita Kashima
Keita Kashima
Principal Marketing Specialist
Published: April 28, 2022

With the increase of IoT device deployment, it is getting more indispensable to update security and functions on IoT devices. Therefore, a technology/feature called the Firmware Over-the-Air (FOTA) is required. 

I have received many inquiries about FOTA from customers, and this shows their high interest in it.

In response to this demand, Renesas has already released solutions for the RX family, which can realize OTA of Gateway device (1st device) and the secondary device using AWS Free RTOS and the AWS cloud service.

This time, I would like to inform you that Renesas has also released the sample code for FOTA using Microsoft’s Azure RTOS and Azure cloud service, which many of our customers have requested. This sample code can be found in the link at the bottom of this blog.

The sample code released this time is for the RX671 32-bit RX Family MCU.

You can run this sample code using the RX671 Starter Kit Plus (RX671 RSK+) and an optional Silex Wi-Fi Pmod module (sold separately). Since the RX family is certified by Microsoft as Azure RTOS-certified hardware you can use this sample code and the software of the OTA execution at no cost. This also applied to the Azure RTOS* as well.

*Note: A fee will be charged for using the Azure cloud service.  

Image
RSK+ for RX671

RX671 Starter Kit Plus

Image
Silex Wi-Fi Pmod Module

Silex Wi-Fi Pmod Module(Wi-Fi-Pmod-Expansion-Board)

When running the sample code, the OTA Agent of Azure RTOS starts up and communicates with the Azure cloud server. If an OTA job exists on the cloud, the image data of new firmware is downloaded. 

When running the sample code, OTA Agent Library that is provided as an Azure RTOS component connects to Azure IoT Hub and checks for new firmware availability. Downloading will start when the new firmware is available on Azure cloud.

Image
Terminal

At this point, you may be concerned about whether it is possible to specify the target device for the update. Of course, you can specify and manage the target device to be updated via OTA by group tagging.

Image
Tag

When executing an OTA job, the Terminal window shows the progress of updating.

The following is the log at the time of update.
After succeeding an update, the new firmware is executed by switching the Execute Area using the dual-bank function.

Image
Result

This completes the OTA update.

RX family dual-bank function supporting firmware update

For the execution of this Azure OTA, we use the dual-bank function, a hardware feature to support the RX firmware update. This dual-bank function virtually divides the built-in ROM into two areas, an application Execute Area and a Temporary Area for writing a new firmware. It keeps an old firmware in the Execute Area until a new firmware is written into a Temporary Area successfully. After writing the new firmware, the Execute Area is changed with this hardware dual-bank function, enabling an easy and safe firmware update. 

Even if data writing is not completed successfully due to any reasons like an instantaneous blackout, this feature allows easy recovery. In addition, the program executing area is in the same area (address space) all the time, so the load of development is reduced significantly.

Image
Address Space

We are going to extend the support to other products such as RX65N and RX72N, which have already supported Azure RTOS,   and develop the sample code for the secondary OTA with Azure RTOS.

Furthermore, we are considering development of an OTA supporting tool so that users can easily implement OTA function on any IoT devices.  Please keep your eyes on our upcoming IoT solutions for the RX family!

Downloading Sample Code

The sample code can be downloaded at the below link.
Please download the sample code corresponding to the compiler to be used.

https://github.com/azure-rtos/samples/tree/PublicPreview/ADU

Image
ADU

Environment

We have prepared a web page for the RX Family cloud solutions at the below link. You can see many useful solutions here, so please visit RX Cloud Connectivity Solution

There are also many blogs written on the cloud solution previously:

Share this news on