Image
Hisao Munakata
Senior Director
Published: July 18, 2020

The utilization of open source software (OSS) is inevitable in the development of modern electronic devices that require a network connection and cloud cooperation. However, to port an OSS created to operate on a general-purpose PC CPU to a high-performance SoC, it is necessary to develop device drivers for on-chip IP functions and a display/voice arbitration mechanism integration. However, the division of the roles for such development between semiconductor suppliers and set manufacturers is ambiguous. The reality is that a significant difference exists in the level of OSS compliance (quality), depending on the silicon vendor. In this article, I would like to introduce Renesas' success strategy for product development using OSS.

Rapidly increasing software development costs become a headache for many set makers. The traditional software development method that develops software from scratch for each product plan has already failed. As a way to remedy the situation, the "Software First" scheme has been proposed that reuses the software as much for the product variant in the same generation and across multiple generations. To realize that, "sustainable software" will be an essential requirement. So far, software development and verification rely on specific use cases (narrowed-down preconditions). However, to create reusable software, you need to design also for unknown usage that may occur in the future in advance. The fuzz test is the new software validation method for such requirements, which intentionally feeds the wrong data to the target application. For example, try changing the spreadsheet file's extension to .mp4 and feeding it to the media player. The expected behavior is that the media player outputs an error message saying, "It is not the correct video file" without freezing. However, embedded devices specially developed for specific purposes might not withstand this kind of mean test.

OSS is (should be) programmed so that it will not fail no matter who used it, and its peer review history in a public mailing list is also open to anyone. You can expect that OSS owns enough quality that it can withstand long-term operation due to such characteristics. (The operation verification for use cases of target products is still the responsibility of the set manufacturer, though.) From the long-term operation standpoint, the fact that OSS is a public asset, not belonging to any company, can be another advantage. For example, the first Linux kernel was created more than a quarter of a century ago. Even now, the development community led by its founder, Mr. Linus Torvalds, continues to make active enhancements and quality improvements. There is no similar software belonging to a company.

Image
linux-kernel-archives

Linux kernel community, one of the examples of OSS, releases the latest version almost every ten weeks.

Because OSS itself is distributed free of charge in principle, semiconductor suppliers have different attitudes toward OSS. Renesas has actively supported OSS since relatively early times. Its history goes back to around 1995 when the internet came into the home. Back in those days, we downloaded the code from the development community repository and modified it to work with our 32-bit RISC microcomputer, then distributed it to the customer. After that, we had opportunities to participate in industrial consortium activities aiming to utilize OSS such as CELF (CE Linux Forum) and Linux Foundation.  Also, we attended some international developer conferences. Then we got wisdom from the development community leaders regarding the right way to work with OSS. The idea was "building long-term sustainable software assets by participating in the OSS continuous development cycle as a member of the community, rather than modifying the downloaded ones locally." To realize this, we contracted with several active kernel developers. We asked them to develop/verify the Renesas devices and board support code inside the community development cycle rather than through in-house activity. With this practice, we could realize the "Upstream First" process. All Linux BSP that we currently offer our customers is developed based on "Upstream First," so you can find verified Renesas devices support code in any version distributed by the community.

Image
sw-reusability

Fully applying the concept of Upstream First, which is the basis of sustainable software

Renesas also plays an essential role in the industrial consortium such as the "Yocto Project", which develops a platform for building/distributing Linux BSP (Board Support Package), and "AGL" and "GENIVI" which expand the Linux adoption in the automotive industry. We also strive for the long-term operation of Linux, such as CIP (Civil Infrastructure Platform) and LTSI (Long Term Support Initiative) to realize sustainable software. And, we adopt the community's long-term maintenance target version to all our Linux BSP. We believe that these efforts are critical and beneficial ways for protecting the customers' software investment. To satisfy further industry expectations of the long-term operation of software, Renesas commits to the future through collaboration with the OSS development community and industrial consortium.

Image
github-kernel

Public repository of the Linux kernel for Renesas R-Car (updated regularly basis including the latest kernel support)

Image
yocto-project

Renesas is an advisory board member for the Yocto Project that develops Linus BSP tools

Image
civil-infrastructure-platform

As a core member, Renesas supports the activities of CIP that aim for the long-term operation of Linux for social infrastructure.

Share this news on