Newgin
NEWGIN是一家开发、制造和销售游戏机的公司,主要产品包括弹珠机和扑克游戏机
NEWGIN进行了微控制器的艰难转换,通过可靠的集成开发环境(IDE)和安全支持实现了这一过程
游戏机制造商NEWGIN已经更换了用于控制其游戏机声音、可移动部件和照明的微控制器。他们从一家半导体制造商独有的核心处理器转向了NXP的基于Arm架构的核心处理器。LPC4330FET是一款罕见的微控制器,集成了Arm Cortex-M4核心和Cortex-M0核心。
选择了LPC4330FET之后,NEWGIN选择了IAR Embedded Workbench for Arm,不仅用于其基于Arm的微控制器的项目,还用于其双核软件项目。据NEWGIN称,由于IAR Embedded Workbench的便利性和广泛的支持,项目顺利过渡,使公司成功开发了“CR Hana no Keiji X(Ikusa)”游戏机。
尽管在游戏机开发中面临各项挑战,仍然提高了性能控制板和LCD显示板的效率
NEWGIN系统由三块板组成:
- 主控板
- 性能控制板
- LCD显示板
主控板负责在游戏机进入板面下部中央区域时进行抽奖处理(玩家是否命中目标)。它配备了一款仍然使用汇编语言编程的8位微控制器。
我们的口号是“严肃玩乐”,希望通过为客户提供娱乐来贡献社会。我们的“CR Hana no Keiji”系列深受各个年龄段粉丝的喜爱。该系列去年推出,为了迎接系列的十周年纪念,我们打算进一步发展“Hana no Keiji”产品,以满足客户的需求!
- Takefumi Miyazaki
性能控制板的角色
性能控制板负责控制输出到扬声器的声音,以及控制可移动部件的电机,还负责控制安装在机器框架周围和板面上的LED灯。
性能控制板对机器的性能贡献最大,这是我们在这个项目中选择更换微控制器的板块。性能控制板还负责进行抽奖处理,决定执行哪种表演,而LCD显示板则根据抽奖处理的结果,在板面中央的LCD屏幕上显示必要的图案和视频。
- Kouki Shimada
总体来说,板面和框架上大约有400至600个LED灯,其中大部分是全彩LED。一些游戏机型号配备了15个或更多的电机。
近年来,游戏规格已经多样化,尽管主控板的处理过程变得更加复杂,但其最大容量仍限制在3K字节的ROM、3K字节的RAM或512字节的程序。程序语言也是通过汇编器编写的,因此不能使用表面贴装设备进行电气组件。
- Kouki Shimada
性能控制板和LCD显示板也受到一定的限制。存储视觉数据的LCD显示板的存储容量限制为64 Gbit。
对于我们的性能控制软件,我们将部分开发外包给了分包商。我们非常注重工具的操作直观性,以确保即使在升级微控制器时,分包商的工作效率也不会受到影响。我们最初使用的是半导体制造商内部开发的工具,因此我们希望找到一个具有日文菜单和类似GUI的工具。
- Kouki Shimada
我们认为IAR编译器的性能非常出色。当时,我们认为原先使用的工具在代码优化能力上会占据上风,但IAR Embedded Workbench的代码效率与竞争对手不相上下。此外,在我们正式决定采用IAR Embedded Workbench之前,IAR提供的周到支持也促使了我们最终的决定。
- Takefumi Miyazaki
我们公司位于名古屋,当我们需要时,IAR不仅快速响应了我们的咨询,甚至还来到我们公司为我们举办了实地研讨会。他们详细而丰富地讲解了基于Arm微控制器的基础知识,从其他开发环境过渡到IAR Embedded Workbench的操作指南,以及如何使用多核处理器的说明。这些讲座以及我们获得的直接支持完全消除了我们最初的担忧,使得我们能够专注于开发工作。
- Takefumi Miyazaki
NEWGIN在软件开发过程中应用了IAR Embedded Workbench,用于2016年11月上市的“CR Hana no Keiji X”性能控制板。
我们设计的结构使得带有FPU功能的Cortex-M4核心能够专注于各种性能控制逻辑处理。同时,我们利用Cortex-M0核心来执行外围控制和外部I/O的中断处理。我们的系统没有使用操作系统(OS),完全依赖裸机(bare metal)执行。公司开发了基础软件,并将其作为SDK分发给应用开发者。每个应用软件在基础软件上运行时都会根据不同型号进行重新创建和适配。
- Takefumi Miyazaki
除了LPC4330FET之外,这款产品的电路板还配备了声音LSI、RTC IC、FRAM和功率IC。LED驱动IC、电机驱动IC和GPIO接口IC安装在外部,并与微控制器进行通信。Cortex-M0核心充当协处理器。
从头开始创建SDK
为了这个项目,从头开始创建了SDK。包括从微控制器的外设功能出发,重新创建了从属设备驱动程序、LED控制、电机控制以及声音输出库。
在构建之前,SDK被临时放置在一个中间文件中,但在这里添加了错误检查功能。这使得我们可以在实际操作设备之前知道有多少故障的照明系统。我们设计这样做是为了确保应用开发者不会在寻找其代码中的小错误时陷入困境。
- Kouki Shimada
项目从更换微控制器开始进行生产控制板的开发。与微控制器通信的某些设备发生了重大改变,并且还采纳了新的设备。我们花了大约1.5年的时间完成SDK的开发,但如果开发环境不直观,或者没有得到优质支持,这个项目肯定会花费更长的时间。也许会超过2年。
- Takefumi Miyazaki
通过使用IAR Embedded Workbench,NEWGIN成功大幅缩短了构建时间
与之前由半导体制造商内部开发的工具相比,构建时间似乎缩短了1/2到1/3。现在我们能够在一天内构建多个产品,IAR Embedded Workbench已经帮助我们显著提高了效率。
- Takefumi Miyazaki
在展望未来时,NEWGIN看到了进一步确保软件质量的需求不断增长
我们希望能创建一个系统,通过整合,与各种服务协作,例如使用CI工具进行自动构建、对代码进行静态分析,来帮助提高我们软件的质量。
- Kouki Shimada