图像
Hiroki Ishiguro
石黒 裕紀
主幹技師
已发布: 2022年9月1日

软件开发的规模和复杂性都在增加。软件开发人员不仅要专注于设计和编写代码,同时还需要收集测试结果、制作发布包和文档。另一方面,在一套代码支持多个平台的开发过程中,80%以上的测试过程在每个平台上都是相同的。此时的问题是,无法检测出本应该在特定平台上进行安装测试却被遗漏的测试部分。

总结起来有以下2点问题。

  1. 提高效率:软件开发成本不断增加——如何更有效地开发
  2. 提高质量:不省略类似测试用例——如何提高质量

作为应对以上问题的一项措施,CI/CD(持续集成和持续交付,Continuous Integration/Continuous Delivery)的概念最近得到了广泛应用,我们也在考虑能否将其应用于单片机软件开发。我们想到用命令行运行包括IDE(e2 studio/CS+)在内的各种工具,从而使CI/CD工具配合更加方便。最后选择了“GitLab”作为CI/CD工具。

得益于这一想法的应用,即使在用户系统中开发人员也可以专注于设计和编写代码。接下来编者将围绕“通过GitLab对RX系列软件进行自动实机评测”这一课题为大家进行介绍。下面显示的是GitLab系统结构图。

图像
GitLab System Configuration

例如,如列表所示,“RX Driver Package”包含100多个软件模块,支持20多种RX系列设备组,它们之间的所有组合都需要进行运行检验。此外,虽然表中没有显示,还有三种类型的对应编译器:CC-RX,GCC和IAR,这些也需要分别进行运行检验。Raspberry Pi的应用也是一大亮点。

通过这一措施,在创建发布数据和测试所需的资源方面,有效地解决了所面临的上述问题①②。

① 人工成本为零,测试用机器的电费为1/10,测试期压缩到1/40,效率有所提高
② 扩大了以往特定主板、编译器、最优化选项水平等限定性测试规范的对象范围,质量有所提高

关于一些具体的实现手法,编者打算在下期博客中为大家介绍。

当前编者正在尝试在整个瑞萨公司中共享该专有技术来提高瑞萨整体的软件开发效率,同时每天还会与车载软件开发部门不断进行相关技术经验交流。

并且,编者认为最先进的软件开发方法不会仅仅局限在美国国内,凭借着瑞萨作为全球企业的优势,能够随时与来自世界不同地区的工程师建立合作机制,必将打破传统的技术传播壁垒。今后我们还将继续引入最先进的软件开发方法,并通过应用指南等方式与广大用户共享技术经验。