IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 嵌入式开发中主机操作系统的选择 -> 正文阅读

[系统运维]嵌入式开发中主机操作系统的选择

  当我第一次开始编写嵌入式软件时,我发现最有效和最容易使用的环境仅在 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 工具长达六个月,这可能是也可能不是问题,但要记住这一点。

  结论

  选择开发嵌入式软件的主机操作系统已成为一个争论点,尽管这些差异很快变得模糊,但使用一种操作系统仍然有一些优势。在接下来的几年里,这些细微的差异无疑会继续缩小,以至于无论嵌入式开发人员使用哪种主机操作系统都不会产生任何影响,剩下的唯一区别是设置和维护工具链的工作量。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:53:58  更:2022-03-03 16:56:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:48:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码