我们经常说51,STM32,到底是什么?嵌入式又是什么?
首先,让我们看看什么是嵌入式
嵌入式,一般指嵌入式系统,英文叫:embedded system。嵌入式开发实际上就是嵌入式系统的开发。
IEEE(电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或协助机器和设备运行的设备”。
国内的学术定义更具体一些,也更容易理解。
嵌入式系统,以应用为中心,以计算机技术为基础,软硬件可切割,适用于对功能、可靠性、成本、体积、功耗等有严格要求的特殊计算机系统。
以应用为中心表明嵌入式系统具有明确的实际用途。以计算机技术为基础,表明它实际上是一种特殊的计算机。硬件和软件都可以切割,说明它具有很强的灵活性和可定制性。
特殊计算机系统,“特殊”对应“一般”。我们经常使用个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,是“通用计算机系统”。
嵌入式系统的具体“专用”方向是什么?
以下是一些示例:
个人通信和娱乐系统:手机、数码相机、音乐播放器、可穿戴电子设备、PSP 游戏机
家电:数字电视、扫地机、智能家电
办公自动化:打印机、复印机、传真机
医疗电子产品:生化分析仪、血液分析仪、CT
网络通讯产品:通讯类交换设备、网络设备(交换机、路由器、网络安全)
汽车电子产品:发动机控制、安全系统、汽车导航和娱乐系统
工控产品:工控机、交互终端(POS、ATM)、安防监控、数据采集传输、仪器仪表
军用和航空产品:无人机、雷达、作战机器人
上述所有领域都使用嵌入式系统。这只是冰山一角。
可以说,嵌入式系统完全包围着我们,无时无刻不在影响着我们的工作和生活。
嵌入式系统,既然是计算机系统,必然离不开硬件和软件。
嵌入式系统的典型架构如下:从硬件上看,嵌入式系统是以处理器(CPU)为核心,依靠总线(Bus)进行连接的多模块系统。
上图就是一个嵌入式系统板子有CPU,有RAM,有ROM、网卡、串口、电源等。可见嵌入式系统虽小,但五脏俱全。嵌入式系统的核心是嵌入式处理器。
嵌入式处理器一般分为以下几种典型类型
嵌入式微控制器MCU(微控制单元)
嵌入式DSP处理器(数字信号处理器)
DSP处理器专用于信号处理,在系统结构和指令算法上进行了专门设计。它广泛用于数字滤波、FFT 和频谱分析。典型代表是 TI (Texas Instruments) 的 TMS320C2000/C5000 系列。
嵌入式微处理器 MPU(微处理器单元)
MPU由通用处理器演变而来,具有高性能和丰富的外围组件接口。典型代表有AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。
此外,还有嵌入式片上系统SoC(System on Chip)和可编程片上系统SoPC(System on a Programmable Chip)。我们的单片机属于上述的第一个——MCU(嵌入式微控制器)。
单片机(微控制器)Microcontroller,英文全称为Single-Chip Microcomputer。
它实际上是一个集成电路芯片,它是一种超大规模集成电路技术,把CPU、RAM、ROM、输入/输出和中断系统、定时器/计数器等功能都塞进一个硅片,变成一台微型计算机。这么看来,单片机不就是嵌入式系统吗?
术语“单片机”实际上是一个旧名称。由于之前半导体技术不成熟,不同的功能无法做到一个芯片(Chip)中,所以会有多片机。现在半导体技术早就很先进了,所以没有多片机。然而,“单片机”这个名称一直沿用至今。
很多高校教师喜欢强调单片机姓“单”,除了指单片机只是一个硅芯片,更多的是指单片机的功能单一,就是完成计算、逻辑控制、通信等功能的单个模块。即使它的性能再强大,功能依然单一。
单片机技术诞生于 1970 年代后期,早期是 4 位,后来发展为 8 位、16 位和 32 位。它在真正崛起是在 8 位时代。8位单片机功能非常强大,广泛应用于工控、仪器仪表、家电、汽车等领域。
我们在研究单片机的时候,经常会听到两个词——51单片机,STM32。下面介绍一下它们的真正含义。
51单片机,其实就是一系列单片机的统称。该系列单片机,兼容Intel 8031指令系统。它们的鼻祖,英特尔(Intel) 8004单片机。
请注意,51系列单片机并非都是英特尔的产品。包括ATMEL(爱德梅尔)、飞利浦(Philips)、华邦、达拉斯(Dallas)、西门子(Siemens)、STC(国产宏芯片)等公司,也有不少产品属于51单片机系列。
长期以来,51单片机曾经是市场上最主流、应用最广泛的单片机,占据了很大的市场份额。
不得不承认51单片机其实现在没有技术优势,是很老的技术了。之所以能如此坚韧,除了曾经的人气之外,就是英特尔彻底开放了51核的版权。因此,无论任何单位或个人,都可以使用51单片机,不用担心付费,不用担心版权风险。
此外,51单片机拥有强大的库存基础和大众基础。很多老项目都在使用51单片机,出于成本考虑,有时只能继续沿用51单片机技术升级。而且,很多老一辈的工程师都精通51单片机开发技术。因此,51单片机的生命力得以延续。
然后看STM32
STM32,是意法半导体公司推出的基于ARM Cortex-M内核的通用微控制器。
意法半导体是全球最大的半导体公司之一,于1987年6月由意大利SGS微电子和法国汤姆森半导体合并而成。
ARM是目前全球最强大的芯片设计公司之一,利用手机芯片的快速发展和物联网市场份额的巨大上升,在微控制器领域,ARM的Cortex-M内核具有压倒性优势,已成为绝对主流。许多半导体公司已经放弃了原来的架构,转而使用ARM架构的微控制器。STM32的硬件配置可以满足大多数物联网开发需求,开发工具及相关文档齐全,已成为当前微控制器学习的首选对象。
嵌入式和微控制器的区别
说到这,我们来看看,嵌入式和微控制器有什么区别。
从前面的介绍来看,嵌入式系统是一个大类,而微控制器(单片机)是重要的子类之一。嵌入式系统就像一台完整的计算机,而微控制器更像是一台没有外围设备的计算机。以往单片机包含的并不多,两者的硬件差异比较明显。但是,随着半导体技术的飞速进步,现在各种硬件功能都可以做成单片机了。因此,嵌入式系统和微控制器的硬件差异越来越小,分界线越来越模糊。因此,人们倾向于在软件中进行区分。
从软件上来说,业界往往把芯片不带MMU(内存管理单元,memory management unit)因而不支持虚拟地址,只能运行裸机或RTOS(实时操作系统,如ucos、Huawei LiteOS、RT -Thread、freertos等)系统,称为微控制器(如STM32、NXP LPC系列、NXP imxRT1052系列等)。
同时,芯片自带的MMU可以支持虚拟地址,可以运行Linux、Vxworks、WinCE、Android等“高级”操作系统,称为嵌入式。
在某些时候,微控制器本身足够强大,可以用作嵌入式系统。它的开发和维护成本更低,难度也相对较小,特别是对于一些更有针对性的应用程序。另一方面,嵌入式系统在理论上更强大且应用更广泛,但更复杂且难以开发。
嵌入式和微控制器的学习价值
最后说一下嵌入式和单片机的学习价值,到底嵌入式和单片机没必要学。
近年来,有一句话广为流传,那就是——“软件为王”。人们普遍认为,软件知识的价值远大于硬件,而学习软件,从事软件方向的工作,会更容易找到工作,并且收入更高,更有前途。
嵌入式和单片机,常归为“硬件”方向,被人们“嫌弃”。另外,嵌入式和单片机学习比较困难,学习周期长,需要很长的“磨难”,所以越来越多的人放弃了这条路。
我认为这个想法是不正确的。
首先,嵌入式和单片机不是纯粹的“硬件”类方向。正如我之前所说,它们是软件和硬件的紧密结合。如果要学习嵌入式和单片机,只知道数字电路和微机接口这样的硬件知识是不够的,还需要学习更多,就是汇编、C/C++语言、数据结构和算法知识。
拥有软硬件结合的能力,远比简单地掌握某种程序开发语言更有价值。
其次,嵌入式和微控制器应用场景广泛,各个领域都有项目需求和人才需求。据权威机构统计,目前中国每年的嵌入式人才短缺高达50万人。尤其是嵌入式软件开发是未来几年最热门、最受欢迎的职业之一。10年经验的高级嵌入式工程师,年薪约30万-50万人民币。而随着5G建设的深入,全社会正朝着“万物互联”的方向迈进。物联网技术也将迎来前所未有的历史机遇,嵌入式人才待遇也会水涨船高。
因此,尽管学习过程会很艰难,但我仍然建议有抱负的年轻人专注于这条赛道。技术越难,过程越痛苦,越有利于建立竞争壁垒。后期可以进一步体现个人价值。
转自:CSDN博主
原文链接:https://blog.csdn.net/m0_67034740/article/details/124103073