虚拟机似乎与低级固件开发相去甚远,但是它们可以在固件开发中发挥重要作用。虚拟机可以在嵌入式开发过程中提供三个独特的优势。秘诀是在虚拟机中设置开发环境。
使用虚拟机来托管固件开发环境的第一个优点是虚拟机易于备份。计算机故障确实会发生,并且用正确的工具链、设置和支持工具设置新计算机可能是一个耗时的过程。然而,当使用虚拟机时,从计算机故障中恢复是简单的。你所要做的就是将备份复制到一台新的计算机上,开发很快就可以继续。当然,唯一的要求是开发人员必须有规律地定期备份虚拟机。
使用虚拟机作为固件开发环境的第二个优势是,它通过让新人使用工具和项目文件来简化开发团队的扩展。当新的开发人员加入团队时,只需将虚拟机的最新工作版本复制到新的笔记本电脑上,然后更新它以使用新开发人员的证书。对虚拟机的改变将包括更新用户登录、修订控制库、软件许可等。虚拟机的这种使用有助于减少新嵌入式开发人员启动和运行所需的时间,这不仅可以为公司节省资金,还可以节省几天的项目时间。
使用虚拟机来托管固件开发环境的第三个优点是,当交付项目时,虚拟机也可以提供给最终客户。这为最终客户提供了一个完全设置好的机器,他们可以使用它来轻松地测试和确认他们确实拥有他们所支付的东西。交付虚拟机可以节省几天甚至几周的时间来询问如何设置能够编译和运行固件的环境。现在,最后一个优势更多地面向顾问、承包商和执行工程服务的公司,但它仍然是一个值得考虑的有用优势。
然而,使用虚拟机也有一些潜在的缺点。其中第一个也是最重要的一个是,开发团队在备份他们的虚拟机时需要遵守纪律,以获得一个最新的、随时可用的映像。其次,必须注意确保每个虚拟机都获得了使用其上软件的适当许可。因为复制虚拟机会产生一个可以在任何机器上运行的精确副本,所以可能会意外违反版权法。
虚拟机为固件开发流程提供了一种独特的功能,这种功能直到最近才出现。节省时间、简化设置和交付的潜力非常吸引嵌入式开发人员,并且当机器在错误的时间停机时有可能减少压力。