嵌入式开发中主机操作系统的选择
当我第一次开始编写嵌入式软件时,我发现最有效和最容易使用的环境仅在 Microsoft Windows 上可用。事实上,微控制器供应商只提供 Windows 开发工具的情况并不少见。对使用 Linux 或 Mac 感兴趣的嵌入式开发人员要么不走运,要么不得不模拟 Windows,要么花费大量时间将工具链混搭在一起以构建自己的环境。今天,大多数工具现在可以在多个平台上使用,但每个平台仍然存在优点
当我第一次开始编写嵌入式软件时,我发现最有效和最容易使用的环境仅在 Microsoft Windows 上可用。事实上,微控制器供应商只提供 Windows 开发工具的情况并不少见。对使用 Linux 或 Mac 感兴趣的嵌入式开发人员要么不走运,要么不得不模拟 Windows,要么花费大量时间将工具链混搭在一起以构建自己的环境。今天,大多数工具现在可以在多个平台上使用,但每个平台仍然存在优点和缺点。在今天的文章中,我们将研究每个主机操作系统,并检查使用每个操作系统开发嵌入式软件的优缺点。
Windows 上的嵌入式软件开发
首先,对于微控制器应用程序开发人员来说,Windows 仍然是今天使用的最流行的主机操作系统。Windows 使用最多的原因有很多。首先,对于流行和主要的工具链和开发工具,提供了安装可执行文件,这使得安装只需双击即可。其次,许多企业仍然使用 Windows 作为其 IT 部门高度支持的默认首选业务机器。第三,Windows 上的开发工具往往比其他平台上的集成度更高。最后,许多公司将首先发布 Windows 的新工具和更新,然后再发布其他平台。这使在 Windows 上工作的开发人员能够在其他平台上的开发人员之前拥有最新最好的工具以及错误修复。
不过,在 Windows 上工作时,事情并不总是那么乐观。例如,使用大量开源工具或编译器的开发人员可能会发现在 Windows 上设置环境可能非常具有挑战性,尤其是如果这些工具首先是为 Linux 编写的。在这些情况下,在 Windows 上工作的嵌入式开发人员可能需要安装 Cygwin 或其他工具,此外还需要跳过很多步骤才能设置他们的开发环境。还有一个问题是,通常 Windows 应用程序是如此集成,它们有时不为开发人员提供命令行选项或访问专家级工具以允许开发人员真正自定义工具链。
Linux 上的嵌入式软件开发
对于开发人员来说,Linux 提供了一个非常可配置的环境,允许开发人员微调他们的环境并完全控制其中发生的一切。在 Linux 中工作通常不会抽象出细节,这使开发人员能够更好地了解他们的开发环境和工具链的幕后发生的事情。Linux 是免费的,并且经常为它编写开源软件,这使得构建和使用某些软件组件有时变得更容易。
Linux 还为开发人员提供了一些有趣的挑战。首先,开发人员必须能够在终端中舒适地工作,考虑到在 GUI 工具和无缝集成的开发环境上付出了多少努力,这通常感觉像是一种倒退。接下来,Linux 的可配置性非常高,如果你不在 Linux 中工作,成功安装最近更新的工具链有时可能需要数小时或更长时间。最后,Linux 上的嵌入式开发人员倾向于对环境设置做出假设,这使得复制环境和设置工具变得更加困难。
Mac 上的嵌入式软件开发
Mac提供了最好的 Windows 和 Linux 环境。今天,许多供应商和工具供应商提供了一种在 Mac 上安装环境的简单方法。提供的用户界面使开发变得简单高效,通常非常接近基于 Windows 的版本。当一个工具链需要一个终端和 Linux 工具链时,开发人员只需进入 Mac 终端即可获得运行 Linux 机器的好处。
开发人员来说只有一些缺点。首先,Mac 比 Windows 或 Linux 机器贵一点;其次,Mac 环境通常不为 Windows 上可用的工具提供完整的功能集。这些工具很接近,但如果你仔细观察,Mac 界面往往会落后于 Windows 工具长达六个月,这可能是也可能不是问题,但要记住这一点。
结论
选择开发嵌入式软件的主机操作系统已成为一个争论点,尽管这些差异很快变得模糊,但使用一种操作系统仍然有一些优势。在接下来的几年里,这些细微的差异无疑会继续缩小,以至于无论嵌入式开发人员使用哪种主机操作系统都不会产生任何影响,剩下的唯一区别是设置和维护工具链的工作量。
更多推荐
所有评论(0)