任何从事电子、信息技术相关工作的人想必都听说过嵌入式和单片机。

我们都知道这两个名词和硬件系统有着非常密切的关系。但是,如果要问到底什么是嵌入式,什么是单片机,它们之间有什么区别,相信大部分人都无法解释清楚。

今天,尝试给大家介绍一下。

我们经常说51,STM32,到底是什么?嵌入式又是什么?

首先,让我们看看什么是嵌入式。

嵌入式,一般指嵌入式系统,英文叫:embedded system。嵌入式开发实际上就是嵌入式系统的开发。

IEEE(电气和电子工程师协会)对嵌入式系统的定义是:用于控制、监视或协助机器和设备运行的设备

国内的学术定义更具体一些,也更容易理解。

嵌入式系统,以应用为中心,以计算机技术为基础,软硬件可切割,适用于对功能、可靠性、成本、体积、功耗等有严格要求的特殊计算机系统。

以应用为中心表明嵌入式系统具有明确的实际用途。以计算机技术为基础,表明它实际上是一种特殊的计算机。硬件和软件都可以切割,说明它具有很强的灵活性和可定制性。

特殊计算机系统,特殊对应一般。我们经常使用个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,是通用计算机系统

嵌入式系统的具体专用方向是什么?

以下是一些示例。

个人通信和娱乐系统:手机、数码相机、音乐播放器、可穿戴电子设备、PSP 游戏机

家电:数字电视、扫地机、智能家电

办公自动化:打印机、复印机、传真机

医疗电子产品:生化分析仪、血液分析仪、CT

网络通讯产品:通讯类交换设备、网络设备(交换机、路由器、网络安全)

汽车电子产品:发动机控制、安全系统、汽车导航和娱乐系统

工控产品:工控机、交互终端(POSATM)、安防监控、数据采集传输、仪器仪表

军用和航空产品:无人机、雷达、作战机器人

上述所有领域都使用嵌入式系统。这只是冰山一角。

可以说,嵌入式系统完全包围着我们,无时无刻不在影响着我们的工作和生活。

嵌入式系统,既然是计算机系统,必然离不开硬件和软件。

嵌入式系统的典型架构如下: 从硬件上看,嵌入式系统是以处理器(CPU)为核心,依靠总线(Bus)进行连接的多模块系统。

上图就是一个嵌入式系统板子有CPU,有RAM,有ROM、网卡、串口、电源等。可见嵌入式系统虽小,但五脏俱全。 嵌入式系统的核心是嵌入式处理器。

嵌入式处理器一般分为以下几种典型类型。

嵌入式微控制器MCU(微控制单元)

嵌入式DSP处理器(数字信号处理器)

DSP处理器专用于信号处理,在系统结构和指令算法上进行了专门设计。它广泛用于数字滤波、FFT 和频谱分析。典型代表是 TI (Texas Instruments) TMS320C2000/C5000 系列。

嵌入式微处理器 MPU(微处理器单元)

MPU由通用处理器演变而来,具有高性能和丰富的外围组件接口。典型代表有AM186/88386EXSC-400PowerPCMIPSARM系列等。

此外,还有嵌入式片上系统SoCSystem on Chip)和可编程片上系统SoPCSystem on a Programmable Chip)。我们的单片机属于上述的第一个——MCU(嵌入式微控制器)。

单片机(微控制器)Microcontroller,英文全称为Single-Chip Microcomputer

它实际上是一个集成电路芯片,它是一种超大规模集成电路技术,把CPURAMROM、输入/输出和中断系统、定时器/计数器等功能都塞进一个硅片,变成一台微型计算机。这么看来,单片机不就是嵌入式系统吗?

术语单片机实际上是一个旧名称。由于之前半导体技术不成熟,不同的功能无法做到一个芯片(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内核的通用微控制器。

意法半导体是全球最大的半导体公司之一,于19876月由意大利SGS微电子和法国汤姆森半导体合并而成。

ARM是目前全球最强大的芯片设计公司之一,利用手机芯片的快速发展和物联网市场份额的巨大上升,在微控制器领域,ARMCortex-M内核具有压倒性优势,已成为绝对主流。许多半导体公司已经放弃了原来的架构,转而使用ARM架构的微控制器。STM32的硬件配置可以满足大多数物联网开发需求,开发工具及相关文档齐全,已成为当前微控制器学习的首选对象。

嵌入式和微控制器的区别

说到这,我们来看看,嵌入式和微控制器有什么区别。

从前面的介绍来看,嵌入式系统是一个大类,而微控制器(单片机)是重要的子类之一。嵌入式系统就像一台完整的计算机,而微控制器更像是一台没有外围设备的计算机。以往单片机包含的并不多,两者的硬件差异比较明显。但是,随着半导体技术的飞速进步,现在各种硬件功能都可以做成单片机了。因此,嵌入式系统和微控制器的硬件差异越来越小,分界线越来越模糊。因此,人们倾向于在软件中进行区分。

从软件上来说,业界往往把芯片不带MMU(内存管理单元,memory management unit)因而不支持虚拟地址,只能运行裸机或RTOS(实时操作系统,如ucosHuawei LiteOSRT -Threadfreertos等)系统,称为微控制器(如STM32NXP LPC系列、NXP imxRT1052系列等)。

同时,芯片自带的MMU可以支持虚拟地址,可以运行LinuxVxworksWinCEAndroid高级操作系统,称为嵌入式。

在某些时候,微控制器本身足够强大,可以用作嵌入式系统。它的开发和维护成本更低,难度也相对较小,特别是对于一些更有针对性的应用程序。另一方面,嵌入式系统在理论上更强大且应用更广泛,但更复杂且难以开发。

嵌入式和微控制器的学习价值

最后说一下嵌入式和单片机的学习价值,到底嵌入式和单片机没必要学。

近年来,有一句话广为流传,那就是——“软件为王。人们普遍认为,软件知识的价值远大于硬件,而学习软件,从事软件方向的工作,会更容易找到工作,并且收入更高,更有前途。

嵌入式和单片机,常归为硬件方向,被人们嫌弃。另外,嵌入式和单片机学习比较困难,学习周期长,需要很长的磨难,所以越来越多的人放弃了这条路。

我认为这个想法是不正确的。

首先,嵌入式和单片机不是纯粹的硬件类方向。正如我之前所说,它们是软件和硬件的紧密结合。如果要学习嵌入式和单片机,只知道数字电路和微机接口这样的硬件知识是不够的,还需要学习更多,就是汇编、C/C++语言、数据结构和算法知识。

拥有软硬件结合的能力,远比简单地掌握某种程序开发语言更有价值。

其次,嵌入式和微控制器应用场景广泛,各个领域都有项目需求和人才需求。据权威机构统计,目前中国每年的嵌入式人才短缺高达50万人。尤其是嵌入式软件开发是未来几年最热门、最受欢迎的职业之一。10年经验的高级嵌入式工程师,年薪约30-50万人民币。而随着5G建设的深入,全社会正朝着万物互联的方向迈进。物联网技术也将迎来前所未有的历史机遇,嵌入式人才待遇也会水涨船高。

因此,尽管学习过程会很艰难,但我仍然建议有抱负的年轻人专注于这条赛道。技术越难,过程越痛苦,越有利于建立竞争壁垒。后期可以进一步体现个人价值。

单片机和嵌入式的区别相关推荐

  1. 单片机与嵌入式的区别

    声明:此文章转载至微信公众号鲜枣课堂. https://mp.weixin.qq.com/s/fuZCNR7Zxk4kLk5Lj9P5Sw 凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过嵌入 ...

  2. 单片机和嵌入式哪个好?单片机会被嵌入式取代吗?

    很多初学者都搞不清楚单片机和嵌入式的区别. 今天就和大家来聊一聊这个话题. 嵌入式和单片机,我喜欢用老爸和儿子的关系来区分它们. 嵌入式开发细分很多方向,而单片机就是其中一个方向. 除了单片机以外,还 ...

  3. 单片机和嵌入式Linux的区别

    单片机和嵌入式他们最终都是要跑硬件的,所以你也会遇到像GPIO口.I2C.串口.SPI.定时器.看门狗这些问题. 所以如果你学了单片机,那么你在这些东西上肯定是有积累的.那么这些就是你的优势,如果你让 ...

  4. 单片机和ARM的区别

    1.软件方面 这应该是最大的区别了.引入了操作系统.为什么引入操作系统?有什么好处嘛? 1)方便.主要体现在后期的开发,即在操作系统上直接开发应用程序.不像单片机一样一切都要重新写.前期的操作系统移植 ...

  5. 单片机转嵌入式Linux的思考

    一.你真的决定要转嵌入式Linux吗? 要不要从单片机转嵌入式Linux是一个影响到职业发展的严肃决策,火哥不能帮你拿主意,只能帮你列出利弊,你需要根据自身的各种环境(比如所在城市Linux嵌入式相关 ...

  6. 【物联网毕设基础】单片机_嵌入式的实时性疑问解答

    1 前言 最近有一组学弟学妹问我一个问题,他们做的飞控系统,实时性总是达不到标准,来问我是怎么回事. 这涉及到了单片机/嵌入式系统实时性的问题,学长在这做一个系统性的解答. 2 单片机和嵌入式 说实话 ...

  7. 嵌入式开发比单片机要难很多?谈谈单片机和嵌入式开发设计经历

    嵌入式开发比单片机要难很多?谈谈单片机和嵌入式开发设计经历 \\\插播一条:文章末尾有惊喜哟~/// 单片机和嵌入式,其实没有什么规范的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他 ...

  8. 单片机是否为嵌入式技术,单片机和嵌入式学哪个?

    单片机和嵌入式,我喜欢用儿子和爸爸这种关系去区分它们. 我当初是通过嵌入式挖到了单片机开发,所以说单片机和嵌入式是一个包含关系,嵌入式包含了单片机. 这层关系一定要先搞清楚. 嵌入式总共分为以下几个主 ...

  9. 单片机c语言位运算写法,单片机与嵌入式系统中C语言的位运算小记

    原标题:单片机与嵌入式系统中C语言的位运算小记 编了个PIC的项目,对里的还是蛮有感悟的,特此记录一下. 譬如说,在程序中定义了一个char类型的变量, purge_short_enable_flag ...

  10. C语言位运算的高级应用(尤其适合单片机和嵌入式编程)

    位运算加速技巧 本方法可以让c语言指令进一步接近汇编指令的执行效率,提高单片机,嵌入式系统的速度和稳定性, 但编程时应采取函数化的编程法--例如使用swap()函数时,必要时加注释. 注:本例涉及一些 ...

最新文章

  1. [跟我学UML] UML包图中的包引入和包合并
  2. xcode升级之后,VVDocument失效的解决办法
  3. python 共享内存变量_浅谈python多进程共享变量Value的使用tips
  4. web公选课第三节2020.5.18
  5. LVS(6)——NAT准备工作
  6. android 圆环温度控件,android 圆环倒计时控件
  7. C++(18)--复制构造函数
  8. Linux 常用命令随笔(二)
  9. 微信小程序黑客马拉松即将开始,来做最酷的 Mini Program Creators! 1
  10. jquery操作表格
  11. CDH报错: 主机的 NTP 服务未同步至任何远程服务器
  12. ajax 保存xmldoc对象,AJAX XML 实例
  13. SQL中的join总结
  14. 单交换机的VLAN的配置
  15. Java版实现一个简单的电话簿
  16. 胡谈编程语言:从C语言到Julia
  17. c语言智能手环程序,c+智能手环怎么用 c+智能手环使用图文教程
  18. 什么软件可以测试手长,心率检测专家-可以让你通过按压手指检测出心率的健康app...
  19. Linux下dcm2niix使用
  20. 人耳能听的声音范围与各种发音的频率范围

热门文章

  1. linux手机 电脑传文件怎么安装,centos7上成功安装iptux,成功实现安卓手机和Linux传送文件...
  2. php养老院管理系统论文,养老院一卡通管理
  3. 本地项目上传至git码云步骤(超详细,附图文)
  4. 分享一大波高清电子元器件矢量图,速速下载收藏!
  5. 【学习中】layui前端框架
  6. Matlab抓取网页数据
  7. 案例研究:手机APP的UI设计流程
  8. Nessus下载离线升级包all-2.0 .tar.gz方法
  9. (干货,建议收藏)备战2021年软考中级网络工程师-01计算机硬件基础
  10. C#-概念-类库:类库