Arduino、arm、树莓派、单片机的区别,你知道吗?

大家好,我叫无极。

今天给大家介绍一些专业术语。

很多初学者不知道 Arnduino、arm、Raspberry Pi 和微控制器之间的区别。

其实比较这四个是错误的。

这四个就像:大众、12缸发动机、保时捷、小型车的区别。

我一开始就走错了方向如何用c语言控制硬件,以为学习嵌入式,以上都必须学。

经过几个月的努力,我仍然觉得自己一事无成,做不出任何项目。经常觉得自己懂了,但好像什么都不懂。

这是定位不准造成的,把所有的能量都分散了,最后没人能得到。

这四个属于嵌入式技术范畴,嵌入式涉及的技术知识体系非常庞大。

理论上,一个人不可能全部吃完,除非你从大学开始就一直在约会、玩游戏和看视频。

对于大多数普通人来说,专注于嵌入特定的细分就足够了。

以下四种分别分析:

阿杜诺

微控制器的品牌和型号很多,而Arduino是微控制器的一种。

一般来说,以AVR单片机为首的集成电路板称为Arduino(当然也有使用STM32或其他单片机开发的非官方版本,这里不再赘述)。

Arduino是专业术语的开源硬件开发和学习平台,包括各类Arduino电路板和专用编程开发工具(Arduino IDE)。

Arduino SKD 有很多现成的硬件层控制库函数。

开发者可以通过调用库函数方便地使用AVR芯片的功能,然后通过不同的程序实现不同的硬件控制,如控制灯、继电器、电机、蜂鸣器等。

无需阅读芯片数据表即可配置寄存器以使用微控制器开发中的芯片功能。

虽然用Arduino开发电子产品的效率就像一个钩子,但在实际产品中却很少使用。

因为实际产品在成本、尺寸、性能、功耗等方面都有特定的要求。

Arduino一般用于你学习和提高c语言。通过这个平台,您可以快速了解c语言是如何控制硬件的。

也有一些创客需要快速实现一些奇怪的想法。

所以,如果你是往 Linux 软件方向走,从 Arduino 入手更合适。如果你想从事单片机的开发如何用c语言控制硬件,专注于硬件方向,我建议直接从51单片机开始。

2.手臂

我们将 Arduino 与大众汽车进行比较,将 Raspberry Pi 与保时捷进行比较,将 arm 与 V12 发动机进行比较。

Arm本身是一家英国公司(Advanced RISC Machines)的缩写,arm也是芯片核心技术。

我们的单片机一般都有核心,比如51核心,之前都是Intel设计的,主要针对一些控制和操作比较简单的电子产品。

还有ARM内核,主要针对运算控制复杂的电子产品。

Arduino 的 AVR 微控制器介于两者之间,比 51 内核更强大,但比 ARM 内核更令人沮丧。

简单的内核不能直接应用到产品上,需要二次开发。因此,ARM一般将这一核心技术出售给半导体公司进行二次设计。

图片[1]-Arduino、arm、树莓派、单片机的区别,你知道吗?-老王博客

一般 ARM 公司有 3 个授权级别:

①.架构层授权

这个级别意味着可以对ARM内核架构进行大量修改,包括汇编指令集的扩展和缩减。比如苹果在ARMV7-A架构的基础上扩展了swift架构。

除了苹果,海思麒麟、联发科、三星、高通等大部分CPU都是基于ARM架构的。

②.内核层授权

在这个级别,你可以在这个核心的基础上添加你需要的外设,比如GPIO、USART、ADC、DMA等,最后制作你自己的微控制器。

STM32就是这样做的,类似的芯片还有很多。大多数 SOC 微控制器都属于这一层。

③.使用层授权

这个级别的权限最低,也就是说你只能使用,不能修改。

ARM内核也分很多版本,ARM7、ARM9、ARM11,在ARM11到来之后,以Cortex命名。

Cortex架构也从低到高分为三个系列的性能:M、R、A。

Cortex-M定位于低端市场,也就是我们的微控制器,也叫微控制器,我们最常用的STM32F103就是Cortex-M3的核心。

Cortex-R 面向高端实时系统,例如医疗、工业、汽车、基带等。

Cortex-A 定位为一般市场,通常在平板电脑、手机、数字电视、机顶盒、服务器和打印机领域。

3.树莓派

树莓派有点像 Arduino,不是芯片,而是集成电路板。

Raspberry Pi 的性能比 Arduino 强得多。树莓派采用ARM核心处理器,连接鼠标和键盘即可当迷你电脑使用。

不过电脑一般都是windows,树莓派大多是Linux。

很多想学Linux,想搞嵌入式纯软件的人都是基于树莓派这个平台的。

4.MCU

这是我最熟悉的,毕竟我已经做了 10 年了。

单芯片就是单芯片,有很多品牌和型号,如GD、ST、TI、STC、新唐、NXP等。

单片机需要对电路和程序进行二次开发,才能实现完整的电子产品功能。

这个方向有几个职位:微控制器工程师、STM32工程师、嵌入式工程师。

还有更多的知识系统需要学习。一般来说,有3个基础部分:基础电路、C语言、单片机(51、STM32).

更详细的学习路径和步骤可以通过无极单片机编程学习。

Arduino相当于用AVR的单片机帮你做底层硬件和基本单片机寄存器配置程序,你可以直接使用。

就难度而言,单片机开发更难,Arduino更容易。

从产品的角度来看,微控制器的应用也比 Arduino 更广泛。

单纯学习Arduino基本没有什么职业方向。 Arduino是基于C语言的,需要继续向树莓派学习,主要用于Linux应用开发。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论