首页 > 自考资讯 > 高考百科

Arduino、arm、树莓派、单片机四者有什么不同?

小条 2024-10-06

大家好,我是维吉。

今天我想向大家普及一些术语。

很多初学者无法理解Arnduino、arm、Raspberry Pi和微控制器之间的区别。

事实上,将这四个人进行比较是错误的。

这四者就类似于大众、12缸发动机、保时捷、轿车的区别。

我从一开始就被引导到了错误的方向,因为我认为我必须学习以上所有内容才能学习嵌入。

即使经过几个月的尝试,我仍然觉得自己什么都没完成,没有完成任何项目,而且常常以为自己明白了一些事情,但其实根本不明白。

出现这种情况的原因是位置不好,所有的能量都分散了,最终没人能利用。

所有这四种技术都属于嵌入式技术的范畴,并且围绕嵌入式技术的技术知识体非常庞大。

理论上来说,除非你从大学起就把所有的时间都花在约会、玩游戏、看视频上,否则你不可能一个人吃完所有的东西。

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

让我们逐一分析这四个。

Arduino 微控制器有许多不同的品牌和型号,Arduino 是微控制器的一种。

一般来说,包含AVR单片机的集成电路板就称为Arduino(当然也有后来使用STM32等单片机开发的非官方版本,这里就不一一解释了)。

11b91156503e491ea0165bde4b93a8b2~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728770600&x-signature=%2BDxFHD9iWeMnH8U27x2F0Nlc5vU%3DArduino从技术上来说是一个开源硬件开发学习平台,包括各种类型的Arduino电路板和专用的编程开发工具(Arduino IDE)。

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

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

2d379ba2c2dd4b0493de05c97a1431cc~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728770600&x-signature=hn7MFMpoVrsBsUKiU1oQbhAKWHs%3D 与单片机开发不同,无需阅读芯片数据手册和配置寄存器即可使用芯片功能。

使用Arduino开发电子产品就像作弊一样高效,但真正的产品很少被使用。

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

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

一些制造商需要快速将他们奇怪的想法变成现实。

因此,如果您打算朝Linux 软件方向发展,那么Arduino 是一个更好的起点。如果您想进入微控制器开发并专注于硬件,我们建议直接从51 微控制器开始。

2. 手臂

之前,我将Arduino 与大众汽车、Raspberry Pi 与保时捷、ARM 与V12 引擎进行了比较。

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

我们的微控制器通常有内核,例如51 个内核。它以前是由Intel设计的,主要针对一些控制和操作比较简单的电子产品。

还有一些ARM 内核主要针对执行更复杂计算和控制的电子产品。

Arduino 的AVR 微控制器介于两者之间,比51 核更强大,但不如ARM 核。

ARM通常将这种核心技术出售给半导体公司进行二次设计,因为纯核心不能直接应用于产品,需要二次开发。

一般来说,ARM公司有三个认证级别。

.架构层授权

这个级别意味着可以对ARM核心架构进行许多更改,例如扩展或收缩汇编指令集。例如,Apple在ARMV7-A架构的基础上扩展了Swift架构。

除了苹果之外,海思麒麟、联发科、三星、高通等的CPU大多基于ARM架构。

.内核层授权

在此级别,您可以在此内核上构建并添加必要的外设,如GPIO、USART、ADC、DMA 等,最后创建您自己的微控制器。

这就是STM32的作用。大多数SOC 微控制器都属于这一层。

.使用图层权限

该级别权限最低,只能使用,不能修改。

ARM内核也分为很多版本:ARM7、ARM9、ARM11,其中ARM11后来以Cortex命名。

4d3bc4d9e8314981a51c6761df8c62ae~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728770600&x-signature=LMOS1wvzS34bFbrAnJmHdc4Iii4%3D Cortex架构也分为三个系列,性能从最低到最高:M、R、A。

Cortex-M定位于中低端市场,我们的单片机(又称微控制器)是Cortex-M3的核心。

Cortex-R定位于医疗、工业、汽车、基带等领域的高端实时系统。

Cortex-A定位于通用市场,典型应用于平板电脑、手机、数字电视、机顶盒、服务器、打印机等领域。

3.树莓派

Raspberry Pi 与Arduino 类似,它是一块集成电路板而不是芯片。

a5a32cdd33aa49839c17cba1f2684cfe~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728770600&x-signature=bIMQlUGhjnL3R7Cv9EHrppH2zZM%3D Raspberry Pi比Arduino强大得多,采用ARM核心处理器,连接鼠标和键盘时可以用作迷你计算机。

然而,虽然计算机通常是Windows 系统,但大多数Raspberry Pi 都是Linux 系统。

很多想要学习Linux并从事纯嵌入式软件工作的人都是基于Raspberry Pi平台。

4、单片机

毕竟我已经做了10年了,所以这是我最了解的。

微控制器只是芯片,有许多品牌和型号,包括GD、ST、TI、STC、Nuvoton 和NXP。

0a68322dd69c4621a464bcbb0e8f756c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728770600&x-signature=XPDD0lU0n69sIMBeaa2L980lukM%3D 微控制器需要对电路和程序进行二次开发才能实现完整的电子产品功能。

这个方向有几个职位,包括单片机工程师、STM32工程师、嵌入式工程师。

还有更多的知识需要学习。一般有三个基本部分:基本电路、C语言、单片机(51、STM32)。

更详细的学习路径和说明可以通过Wji单片机编程来学习。

Arduino可以直接使用AVR的单片机实现,帮助完成底层硬件和基本的单片机寄存器配置程序。

从难度上来说,单片机开发难度较大,而Arduino则比较容易。

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

仅仅学习Arduino 并不会给你带来职业前景。 Arduino有C语言的基础,你应该继续从Raspberry Pi学习,主要用于Linux应用程序开发。

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢