嵌入式开发为啥不适合macOS系统?

news2025/4/5 21:00:07

关注+星标公众,不错过精彩内容

b0120393c2bf93417d6a5d6fc2c11570.gif

作者 | strongerHuang

微信公众号 | strongerHuang

Mac电脑适合做嵌入式开发吗?

不定期有小伙伴问我类似的问题,我的回答是:不适合!

至于为什么,只要你用心观察一下身边做嵌入式软硬件开发的同事(同学或朋友),你就会发现一个现象:几乎很少有用macOS来做嵌入式开发的。

原因1:很多软件不支持macOS系统

你是否曾经有这样的疑惑:Keil支持macOS系统吗?

相信很多人都有这个疑惑,包括我早期也有这样的疑惑。随着知识面的拓宽,我发现了嵌入式这个领域的很多软件其实都不支持macOS系统。

下面分享几个我们这个领域常见的一些不支持macOS系统的软件。

1.Keil

这里指的是Keil全系列产品,包括Keil C51、 MDK、 C251、 C166

(Keil系统要求)官方地址:

https://www2.keil.com/system-requirements/

dcc138f5b76564be6c1176be968bf7c4.png

官方要求最新版本软件,至少运行在Win8及其以上的系统。当然,Win7也能安装并运行,但有些功能可能会存在兼容性问题(现在最新版软件不支持XP系统,但好像KeilMDKV5.18还是20可以运行)。

2.IAR

IAR也类似Keil全系列产品,包括IAR众多产品,比如:IAR EWARM、 EWSTM8、 EWMSP430、 EWAVR、 EW8051···等。

比如 EWARM V9.30.1(最新版本) 系统要求:

8532e548b8a6345fc3a3daa2512bad90.png

3.Source Insight

Source Insight也是一款嵌入式软件工程师常用的编辑器工具,但它是一款仅支持Windows,而不支持macOS系统的软件。

(Source Insight系统要求)官方地址:

https://www.sourceinsight.com/

a291c9792e08bc356e1d9e5c7a0e2d14.png

4.Altium Designer

这里再说一个硬件的Altium Designer,它也是一款仅支持Windows,而不支持macOS系统的软件。

(AD系统要求)官方地址:

https://www.altium.com/cn/documentation/altium-designer/system-requirements

4d1527523381ffcd05e3200287387495.png

AD最新版本软件对系统要求相对还有点高,不仅只支持Windows,还要求64位,还对显卡有要求,应该是3D渲染的时候会用到。

5.更多

还有很多经典的、常用的软件工具,比如:STC-ISP下载烧录软件、STM32 ST-LINKUtilit等。(还有很多,大家可以文末留言补充)

原因2:生态、兼容性和开放性

不否认macOS系统的做得非常优秀,但macOS系统在嵌入式领域发挥不出它的优势。

其实不仅仅是嵌入式领域,还有很多领域都不适合macOS系统,比如:机械制造、电气自动化、游戏等领域(你很少看见有人买Mac电脑来打游戏的吧?)

生态、兼容性和开放性

因为Windows系统普及的比较早,所以,很多嵌入式开发的工具、资源都比较依托于Windows系统,从而导致嵌入式开发在Windows的生态做的更好。

你会发现嵌入式开发的很多小工具,基本都只有Windows版本,以及个人开发者可以写一些Windows版本的小工具。(比如:串口、网口调试工具,CAN、I2C分析仪等等)。

22884bcb7d2d360d3e9fe93a965c151a.png

再次,就是Windows环境下的资源(资料)更丰富,有相关问题很快就能找到答案或解决方案。

之所以Windows相比macOS系统更适合嵌入式开发,得益于Windows系统的生态、兼容性和开放性。

原因3:Mac电脑贵

以上说的那些原因,可能不是主要原因。主要的原因可能还是Mac电脑贵b70634efe169e32ba395108adf80bc5e.png

Mac电脑贵,用户相对更少,嵌入式开发生态自然不完善,配套的工具就欠佳,DIY或者小工具在macOS系统上开发也就更少。

说了这么多,可能有人会抬杠:macOS系统可以装虚拟机,或者Mac电脑也能装Windows啊?

d869058b10f78d63e77de8329dc61c87.png

确实,macOS系统也能用于嵌入式开发,只是发挥不出它的优势,还会引来不必要的“麻烦”。

我常说,适合自己的才是最好的,有的人说Keil很难用,也有人说Keil很好用,你觉得谁说的有道理呢?

最后,若你不差钱,也不怕麻烦,欢迎买一台Mac电脑来做嵌入式开发,然后,来给大家分享踩坑经验。

------------ END ------------

45ebbc4bb963a02f61f191a70c7d01eb.gif

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

d2fca5fbb099741f31030a69e8c91405.jpeg

a545e96103c232409bdf34848f445f9e.png

点击“阅读原文”查看更多分享。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

入行必看:数字后端工程师有哪些就业机会?

今年高校毕业生人数首破千万,对于即将踏入IC这个行业的应届生来说,今年的就业形势不大乐观。 很多迷茫的同学问了我一些问题: 如果我开始做一名后端工程师,5年后我会做些什么?我能切换到一个设计的工作吗&#xff1f…

数据图表工具-FineReport数字控件

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.2 应用场景 1.2.1 填报控件 填报报表中可以通过该控件输入数字信息(整数、负数、小数),录入填报的数据,如下图所示: 1.2.2 参数控件 参数面板处可以通过该…

[附源码]Python计算机毕业设计SSM基于网络C++实验管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

只会用 Go 写 O(N²) 的冒泡排序算法?来看看优化后最好情况下的 O(N) 算法吧

只会用 Go 写 O N 的冒泡排序算法?来看看优化后最好情况下的 O N 算法吧冒泡排序图片演示普通的冒泡排序算法优化算法小结耐心和持久胜过激烈和狂热。 哈喽大家好,我是陈明勇,今天分享的内容是使用 Go 实现冒泡排序算法。如果本文对你有帮助&…

单商户商城系统功能拆解43—应用中心—门店自提

单商户商城系统,也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法,例如拼团,秒杀,砍价,包邮…

岗位认识---算法工程师、数据分析

1,算法工程师 1.1 定义 AI算法 算法能力工程能力业务能力 算法工程师 算法职位名称: 算法工程师(机器学习大类) NLP(自然语言处理)算法工程师 CV(计算机视觉)算法工程师 CG&…

Vision Transformer with Deformable Attention

论文地址:https://arxiv.org/abs/2201.00520 代码地址:https://github.com/LeapLabTHU/DAT Abstract Transformers 最近在各种视觉任务上表现出了卓越的性能。大的,有时甚至是全局的感受野赋予了 Transformer 模型比 CNN 模型更高的表示能力…

Kubelet v1.25.x源码——syncLoop

1. 环境说明 Kubernetes源码版本:remotes/origin/release-1.25 Kubernetes编译出来的Kubelet版本:Kubernetes v1.24.0-beta.0.2463ee7799bab469d7 Kubernetes集群实验环境:使用Kubernetes v1.25.4二进制的方式搭建了一个单节点集群 K8S 单节…

RNA-seq 详细教程: `DESeq2` 差异表达分析(7)

学习目标 了解如何设计公式了解如何使用 DESeq2 执行差异表达分析1. DE 分析 差异表达分析工作流程的最后一步是将原始计数拟合到 NB 模型并对差异表达基因进行统计检验。在这一步中,我们本质上是想确定不同样本组的平均表达水平是否存在显著差异。 Paul Pavlidis, …

C语言第二十课:实用调试技巧

目录 前言: 一、Bug: 二、调试: 1.调试是什么: 2.调试的基本步骤: 3. Debug 与 Release : 三、在Windows环境下进行调试: 1.调试环境的准备: 2.调试的快捷键: 3.调试…

【嵌入式硬件芯片开发笔记】HART调制解调器AD5700芯片配置流程

【嵌入式硬件芯片开发笔记】HART调制解调器AD5700芯片配置流程 低功耗HART调制解调器 适用于AD5700/AD5700-1 我的是XTAL_EN接地,CLK_CFG的两个引脚由同一个GPIO控制 初始时HART_CLK_CFG输出低电平 由RTS引脚控制调制/解调。当RTS处于高电平时,为解调&…

React源码(一): render createElement

React源码——渲染(render && createElement)的简单实现 前言 当前市面上公司对React需求越来越大主, 对于React的源码学习必须提上日程 初始化项目 React脚手架创建项目 全局安装npm install -g create-react-app创建项目create-react-app M…

Web大学生网页作业成品——仿腾讯游戏官网网站设计与实现(HTML+CSS+JavaScript)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

常规构件的立面CAD图案绘制

今天绘制的这个常规构件CAD立面图形呢,用到的都是很基础的CAD命令,有直线、修剪、倒角和旋转等,绘制出来也是很简单的,可以跟着一起操作一下 目标对象 操作步骤 1.使用直线命令绘制出一下线段,形成一个封闭图形 2.用…

【Windows基础】本地安全策略

本地安全策略基本内容 概念 对登陆到计算机上的账号定义一些安全设置,在没有活动目录集中管理的情况下,本地管理员必须为计算机进行设置以确保其安全。 主要是对登录到计算机得账户进行一些安全设置主要影响是本地计算机安全设置 打开方式 三种方式&…

python的distutils、setuptools模块

python中安装包的方式有很多种: 源码包:python setup.py install在线安装:pip install 包名(linux) / easy_install 包名(window) python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包…

一个bug,干倒一家估值1.6亿美元的公司

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注! 动态类型一时爽,代码重构火葬场。 ——题记 你生涯中写过的最严重的bug是什么? 我们日常接触的bug,无非是页面崩溃&a…

【Zookeeper】学习笔记(一)

Zookeeper学习笔记一、概述1.1、Zookeeper1.2、Zookeeper工作机制1.3、Zookeeper特点1.4、数据结构1.6、应用场景1.6.1、统一命名服务1.6.2、统一配置管理1.6.3、统一集群管理1.6.4、服务器动态上下线1.6.5、软负载均衡二、下载安装2.1、集群规划2.1、集群规部署三、zk选举3.1、…

A-Level商务例题解析及练习

今日知识点: Marketing mix Place Price Promotion Product例题 Q: Discuss the best ways a car manufacturer could use the marketing mix to increase its share of the market. (20)解析 Answers could include: Marketing mix as a framework/process for ide…

基于RFID的物流智能仓储系统的研究(基于STM32的智能仓储系统)

提示:记录做的毕设 文章目录前言一、功能要求:二、代码思路三、硬件说明四、部分代码以及框图等资料五、联系我喜欢请点赞哦!前言 随着经济的发展,对企业的生产经营要求提高,企业必须综合利用各种先进技术,在网络与信…