In-vehicle software and remote development environment
In recent years, in-vehicle software development has begun to require the rapid and continuous release of high-value-added software, much like smartphone applications. In response to these trends, software development methods that automate the development process, such as continuous integration/continuous delivery (CI/CD), are increasingly being adopted in the automotive field. Automation naturally includes testing of developed software, but in embedded software development such as software development for in-vehicle ECUs, actual equipment is used for this testing. Therefore, a system that can remotely and automatically control the actual equipment used for testing is required.
As the scale of in-vehicle software development increases, more and more engineers are involved in software development. In distributed development where many engineers participate from different locations, it is time consuming and expensive to provide all engineers with actual equipment and set up a development environment at each location. If a development environment can be set up at a single location and used remotely, this problem can be solved.
Our approach to a remote development environment
To remotely use a development environment using an actual device, tasks such as turning the power on and off, writing the developed program to flash memory, and restarting the program must be available over a network. Renesas has been providing evaluation boards as a software development environment for the "R-Car" series SoCs for automotive applications. However, evaluation boards alone do not provide sufficient functions and information to build a remote environment. To build a remote environment, customers had to study the system and develop the environment on their own.
To solve this problem, we are developing reference designs for remote development environments to help customers build remote development environments. As part of this effort, we launched a solution for remotely updating firmware for software development environments using R-Car S4 evaluation boards (type name: RTP8A779F0ASKB0SP2S) and R-Car V4H evaluation boards (type name: RTP8A779G0ASKB0FS0SA000) in April 2022.
This reference design consists of information on the equipment and components needed to configure a remote development environment, sample software to control that environment, and a user guide that describes how to build the remote development environment and use the sample software. By installing the necessary equipment and components as described in the User's Guide, customers can easily build a remote development environment. The software tools that control the remote development environment are provided as open-source software so that they can be easily integrated with, for example, CI/CD environments that customers have already established.
The configuration of the remote development environment realized in this reference design is shown below.
For example, updating the firmware installed on an evaluation board requires setting switches on the evaluation board. This solution provides a way to remotely set switches. An R-Car remote control board (type name: RTP8A779G0ASKB0SS0SN080) provided by Renesas and a single board computer are used for setting switches on the evaluation board.
Future Developments
We are continually working to expand our solutions to make it easier for our customers to build their development environments. This solution currently covers the R-Car S4 and R-Car V4H evaluation environments, but we plan to expand support to other R-Car products and MCU products for automotive applications in the future.
If you are considering building a remote development environment for R-Car S4 or R-Car V4H, please contact us about R-Car remote control board (type name: RTP8A779G0ASKB0SS0SN080) through the contact window.