Image
Hiroki Ishiguro
Hiroki Ishiguro
Senior Principal Engineer
Published: September 1, 2022

Software development has steadily increased its scale and complexity. While software developers want to focus on software design and development, they also must deliver test result analysis, package releases, etc. On the other hand, if a module is used on multiple platforms, more than 80% of the test procedure could be the same between platforms. In this case, it could cause the omission of the test cases, which were conducted on a particular platform, while on another platform where the module is implemented in a specified way.

In short, there are 2 major challenges facing developers.

  1. Efficiency Improvement: how to develop more efficiently amid the rising cost of software development.
  2. Quality Improvement: how to improve the quality without skipping similar test cases.

In recent years, the concept of CI/CD (Continuous Integration/Continuous Delivery) is spreading. We have considered applying this concept to MCU software development to address these challenges. We have deployed various tools, for example, IDE (e2 studio/CS+), with the CI/CD tools on the command line for easy collaboration. For CI/CD tool, we are distributing using GitLab.

Based on this deployment, developers can focus on design and coding for the users’ system. Here I will introduce the automation of evaluating the RX family software with the actual machine on GitLab. The following is the system configuration of GitLab.

Image
GitLab System Configuration

As you may know, there are over 100 software modules in the "RX Driver Package" supporting more than 20 RX MCU groups, as shown in the list. It is necessary to verify the operation with every combination. In addition, though it is not shown in the list, there are 3 compatible compilers such as CC-RX, GCC, and IRA, and it is necessary to verify for each as well. Using the Raspberry Pi was also a major preference.

This approach could help solve the above-mentioned challenge on the resource requirements as below.

  1. Efficiency improved: no labor cost, 1/10 of the electricity bill for the test machine, and 1/40 of the test time.
  2. Quality improved: the target of test specification, which is used to limit to a particular board, compiler, or optimization option level, could be expanded.

In the next blog, I will introduce details of specific approach. By sharing this know-how with our automatic software development team and other departments as well, we are constantly improving the efficiency of the software development within Renesas.

I think cutting-edge approaches to software development are emerging from Americas. It is advantageous for us as a global company that we can quickly build up a team with engineering resources from various locations. We will continue to adopt the leading-edge software development approaches, such as for Application Notes development and continuously share the know-how with our customers.

Share this news on