崩管嵌入式还是单片机,盘就完事了

戳蓝字“CSDN云计算”关注我们哦!

640?wx_fmt=jpeg

作者 | 小枣君

责编 | 阿秃

大家好,我是小枣君。

凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过嵌入式和单片机吧?

很多人应该知道,这两个名词和硬件系统有着非常密切的关系。一听到它们,就容易让人联想到插满芯片和针脚的电路板:


640?wx_fmt=jpeg


但是,如果要问具体什么是嵌入式,什么是单片机,它们之间究竟有什么区别,我相信大部分人并不能解释清楚。

今天,小枣君就给大家做一个入门科普,揭秘上述问题的答案。与此同时,我还会给大家介绍一下,我们经常听说的51、STM32,究竟是什么。


 什么是嵌入式     

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

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

IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或者辅助操作机器和设备的装置”。

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

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

以应用为中心,说明嵌入式系统是有明确实际用途的。以计算机技术为基础,说明它其实就是一种特殊的计算机。软硬件可裁剪,说明它有很强的灵活性和可定制能力。

专用计算机系统,“专用”所对应的,就是“通用”。我们常用的个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,就是“通用计算机系统”。

嵌入式系统究竟具体应用于哪些“专用”方向呢?

举例如下:

  • 个人通信与娱乐系统:手机、数码相机、音乐播放器、可穿戴电子产品、PSP游戏机
  • 家电类产品:数字电视、扫地机器人、智能家电
  • 办公自动化:打印机,复印机、传真机
  • 医疗电子类产品:生化分析仪、血液分析仪、CT
  • 网络通信类产品:通信类交换设备、网络设备 (交换机、路由器、网络安全)
  • 汽车电子类产品:引擎控制、安全系统、汽车导航与娱乐系统
  • 工业控制类产品:工控机、交互式终端 (POS、ATM)、安全监控、数据采集与传输、仪器仪表
  • 军事及航天类产品:无人机、雷达、作战机器人

640?wx_fmt=png


嵌入式系统的应用领域


上述这些领域,都使用了嵌入式系统。这还只是冰山一角。

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

嵌入式系统,既然是一个计算机系统,那么肯定离不开硬件和软件。

一个嵌入式系统的典型架构如下:


640?wx_fmt=png


注意,最重要的就是嵌入式操作系统和嵌入式微处理器。


从硬件角度来看,嵌入式系统就是以处理器(CPU)为核心,依靠总线(Bus)进行连接的多模块系统:


640?wx_fmt=png

和个人PC是一样的方式,下面这张图,就是一个嵌入式系统的实物样例:


640?wx_fmt=png


中间偏左上角,S3C2440,是CPU,中间是RAM,然后还有ROM、网卡、串口、电源等等。可以看出,嵌入式系统麻雀虽小,五脏俱全。

 什么是单片机     

嵌入式系统的核心,就是嵌入式处理器。嵌入式处理器一般分为以下几种典型类型:

  • 嵌入式微控制器MCU(Micro Control Unit)

MCU内部集成ROM/RAM、总线逻辑、定时/计数器、看门狗、I/O、串口、A/D、D/A、FLASH等。典型代表是8051、8096、C8051F等。


  • 嵌入式DSP处理器(Digital Signal Processor)

DSP处理器专门用于信号处理,在系统结构和指令算法进行了特殊设计。在数字滤波、FFT、频谱分析中广泛应用。典型代表是TI(德州仪器)公司的TMS320C2000/C5000系列。

  • 嵌入式微处理器MPU(Micro Processor Unit)

MPU由通用处理器演变而来,具有较高的性能,拥有丰富的外围部件接口。典型代表是AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。

此外,还有嵌入式片上系统SoC(System on Chip)和可编程片上系统SoPC(System on a Programmable Chip)。


我们的单片机,就属于上述的第一种——MCU(嵌入式微控制器)。


640?wx_fmt=png


我们来详细介绍一下它。

单片机,又称为单片微控制器,英文叫Single-Chip Microcomputer。


它其实就是一种集成电路芯片,是通过超大规模集成电路技术,将CPU、RAM、ROM、输入输出和中断系统、定时器/计数器等功能,塞进一块硅片上,变成一个超小型的计算机。


这么说来,单片机不就是一个嵌入式系统?别急,我们往下看。

“单片机”其实是一种古老的叫法。以前半导体工艺技术不成熟,不同的功能无法做进一个芯片(Chip),所以会有多片机。现在半导体技术早已非常发达,所以不存在多片机。但是,“单片机”的叫法却一直延用至今。

很多高校老师喜欢强调单片机姓“单”,除了指单片机只是一个硅片之外,更多是指单片机的功能单一,它是完成运算、逻辑控制、通信等功能的单一模块。即便它性能再强大,功能依然是单一的。

单片机技术从上世纪70年代末诞生,早期的时候是4位,后来发展为8位,16位,32位。它真正崛起,是在8位时代。8位单片机功能很强,被广泛应用于工业控制、仪器仪表、家电汽车等领域。

我们在研究单片机的时候,经常会听到两个词——51单片机、STM32。我来介绍一下它们究竟是什么。

51单片机,其实就是一系列单片机的统称。该系列单片机,兼容Intel 8031指令系统。它们的始祖,是Intel(英特尔)的8004单片机。

注意,51单片机并不全是英特尔公司的产品。包括ATMEL(艾德梅尔)、Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)、STC(国产宏晶)等公司,也有很多产品属于51单片机系列。


640?wx_fmt=jpeg

ATMEL公司的51单片机,AT89C51

640?wx_fmt=jpeg


这是一个51单片机的开发板,中间那个芯片才是51单片机。51单片机曾经在很长时间里都是市面上最主流、应用最广泛的单片机,占据大量的市场份额。

51单片机其实放在现在毫无技术优势,是一种很老的技术。之所以它的生命力顽强,除了它曾经很流行之外,还有一个原因,就是英特尔公司彻底开放了51内核的版权。


所以,无论任何单位或个人,都可以毫无顾忌地使用51单片机,不用付费,也不用担心版权风险。

此外,51单片机拥有雄厚的存量基础和群众基础。很多老项目都是用的51单片机,出于成本的考虑,有时候只能继续沿用51单片机的技术进行升级。而且,很多老一辈的工程师,都精通51单片机开发技术。所以,51单片机的生命力得以不断延续。

再来看看STM32。

STM32,是意法半导体公司推出的基于ARM Cortex-M内核的通用型单片机。


640?wx_fmt=jpeg

STM32单片机

意法半导体(STMicroelectronics)是世界最大的半导体公司之一,于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司。


640?wx_fmt=jpeg

意法半导体LOGO


ARM公司以前小枣君给大家介绍过。它是目前全球做芯片设计最厉害的公司之一,利用手机芯片的快速发展而崛起,占有物联网市场极大的份额。


在单片机领域,ARM的Cortex-M内核拥有压倒性的优势,已经成为绝对的主流。很多半导体公司都放弃了自己原先的架构,转做ARM架构的单片机。


640?wx_fmt=jpeg

STM32单片机开发板


STM32的硬件配置可以满足大部分的物联网开发需求,开发工具和相关的文档资料齐全,已经成为目前单片机学习的首选对象。

 嵌入式和单片机的区别    

说到这里,我们来看看,嵌入式和单片机的区别到底是什么。


从前文的介绍来看,嵌入式系统是一个大类,单片机是其中一个重要的子类。嵌入式系统像是一个完整的计算机,而单片机更像是一个没有外设的计算机。


以前单片机包括的东西并不算多,两者的硬件区别较为明显。但是,随着半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。


于是,人们倾向于在软件上进行区分。

从软件上,行业里经常把芯片中不带MMU(memory management unit,内存管理单元)从而不支持虚拟地址,只能裸奔或运行RTOS(实时操作系统,例如ucos、华为LiteOS、RT-Thread、freertos等)的system,叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等)。而把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android这样的“高级”操作系统的system,叫做嵌入式。

在某些时候,单片机本身已经足够强大,可以作为嵌入式系统使用。它的成本更低,开发和维护的难度相对较小,尤其是针对一些针对性更强的应用。而嵌入式系统理论上性能更强,应用更广泛,但复杂度高,开发难度大。

 嵌入式和单片机的学习价值    

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

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

而嵌入式和单片机,往往被归为“硬件”方向,遭人“嫌弃”。加上嵌入式和单片机的学习难度较大,学习周期很长,需要漫长的“煎熬”,所以越来越多的人放弃这条路。

小枣君认为这种想法是不正确的。

首先,嵌入式和单片机并不是纯“硬件”类方向。前面我也说了,它们是软件和硬件的紧密结合。


640?wx_fmt=png


如果你想学好嵌入式和单片机,只懂数字电路和微机接口这样的硬件知识是不够的,你更需要学习的,是汇编、C/C++语言、数据结构和算法知识。

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

其次,嵌入式和单片机拥有广泛的应用场景,在各个领域都有项目需求和人才需求。


根据权威部门统计,目前我们国家每年的嵌入式人才缺口高达50万。尤其是嵌入式软件开发,是未来几年最热门和最受欢迎的职业之一。具有10年工作经验的高级嵌入式工程师,年薪可以达到30-50万元左右。


而且我们国家现在正在大力发展芯片产业,也会带动嵌入式人才的就业,提升待遇。


640?wx_fmt=png


随着5G的全面启动,整个社会正在向“万物互联”的方向发展。物联网技术也将迎来前所未有的历史机遇。嵌入式和单片机技术是物联网技术的重要组成部分,也将进入发展的快车道。

因此,尽管学习过程会比较艰辛,小枣君仍然建议有志青年关注这一赛道。技术越难,过程越苦,越有利于构建竞争壁垒。到了后期,个人价值可以得到进一步的体现。

好了,关于嵌入式和单片机的内容,小枣君今天就介绍到这里啦。


640?wx_fmt=png

640?wx_fmt=jpeg

福利
扫描添加小编微信,备注“姓名+公司职位”,入驻【CSDN博客】,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

640?wx_fmt=jpeg

推荐阅读:
  • 漫画:什么是希尔排序?
  • 一次失败的面试,复习一次一致性哈希算法
  • Pandas中第二好用的函数 | 优雅的Apply

  • 程序员因接外包坐牢 456 天!两万字揭露心酸经历
  • 限时早鸟票 | 2019 中国大数据技术大会(BDTC)超豪华盛宴抢先看

  • 阿里开源物联网操作系统 AliOS Things 3.0 发布,集成平头哥 AI 芯片架构!

  • 雷声大雨点小:Bakkt「见光死」了吗?

真香,朕在看了!

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

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

相关文章

DRDS分布式SQL引擎—执行计划介绍

摘要: 本文着重介绍 DRDS 执行计划中各个操作符的含义,以便用户通过查询计划了解 SQL 执行流程,从而有针对性的调优 SQL。DRDS分布式SQL引擎 — 执行计划介绍前言数据库系统中,执行计划是对 SQL 如何执行的形式化表示,…

易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权

认证与授权组件 malagu/security 。Malagu 框架结合传统后台管理系统和云计算平台的认证与授权理念,并借鉴了 Spring Security 设计思想,抽象了一套通用的认证与授权模型。Spring Security 对前后端分离架构支持不是特别友好,Malagu 框架在这…

sharepoint文件夹本地同步_mac文件同步软件-Resilio Sync Home

Resilio Sync Mac版是Mac平台上的一款文件同步软件,Resilio Sync Mac版使用起来非常的简单、方便。你可以通过链接、秘钥或二维码的方式共享你电脑里的任意文件夹,接收方也可以把共享文件存放在任意位置。Resilio Sync Home Pro for mac(文件同步软件)​…

(需求实战_进阶_01)SSM集成RabbitMQ 关键代码讲解、开发、测试

背景: 为了减轻服务器的压力,现在原有项目的基础上集成消息队列来异步处理消息! 此项目是企业真实需求,项目的代码属于线上生产代码,直接用于生产即可! 此项目采用MQ发送消息模式为:路由模式,如果对RabbitM…

浅谈Service Mesh体系中的Envoy

摘要: 提到Envoy就不得不提Service Mesh,说到Service Mesh就一定要谈及微服务了,那么我们就先放下Envoy,简单了解下微服务、Service Mesh以及Envoy在Service Mesh中处于一个什么样的角色。背景最近因工作原因开始了解Service Mesh…

Java并发编程笔记之FutureTask源码分析

FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池执行,之后可以在外部通过FutureTask的get方法异步获取执行结果,因此,FutureTask非常适…

动动手指头, Feed 流系统亿级规模不用愁

戳蓝字“CSDN云计算”关注我们哦!作者 | 少强责编 | 阿秃导读:互联网进入移动互联网时代,最具代表性的产品就是各种信息流,像是朋友圈、微博、头条等。这些移动化联网时代的新产品在过去几年间借着智能手机的风高速成长。这些产品…

(需求实战_进阶_02)SSM集成RabbitMQ 关键代码讲解、开发、测试

接上一篇:(企业内部需求实战_进阶_01)SSM集成RabbitMQ 关键代码讲解、开发、测试 https://gblfy.blog.csdn.net/article/details/104197309 文章目录一、RabbitMQ配置文件1. RabbitMQ生产者配置文件2. RabbitMQ消费者配置文件3. 连接配置文件…

vue 判断同一数组内的值是否一直_vue一些笔记

vuex action:尤雨溪在知乎回答了,区分 actions 和 mutations 并不是为了解决竞态问题,vuex 真正限制你的只有 mutation 必须是同步的这一点,只是为了devtools追踪状态变化,或者说出于单一职责原则。https://www.zhihu.…

机器学习从业人员到底做什么?

这篇文章是系列文章的第1部分,第2部分将阐述AutoML和神经架构搜索、第3部分将特别地介绍Google的AutoML。 关于机器学习人才的稀缺和公司声称他们的产品能够自动化机器学习而且能完全消除对ML专业知识需求的承诺经常登上媒体的新闻头条。在TensorFlow DevSummit的主题演讲中&a…

黑科技揭秘:面对海量的文本翻译任务,阿里翻译团队是如何解决的

摘要: 对国际化企业来说语言问题是亟待突破的重要关口。面对海量的文本翻译任务,昂贵低效的人工翻译显然不能满足需求,利用计算机自动进行文本翻译的机器翻译才是解决这个问题的关键。阿里翻译团队在机器翻译领域做了大量技术储备&#xff0c…

(需求实战_进阶_03)SSM集成RabbitMQ 路由模式关键代码讲解、开发、测试

接上一篇:(企业内部需求实战_进阶_02)SSM集成RabbitMQ 关键代码讲解、开发、测试 https://gblfy.blog.csdn.net/article/details/104214033 上一篇给大家介绍了在RabbitMQ 的管控台中,将队列绑定到指定的交换机上;这片…

在计算机中dos代表什么意思,Boot是什么意思

Boot是什么意思如果你去问一个学计算机的人,“启动”是计算机中的那个单词?回答一定是Boot。可是,Boot原来的意思是靴子,“启动”与靴子有什么关系呢?原来,这里的Boot是bootstrap(鞋带)的缩写,它来自一句谚语&#x…

你知道哪些情况下不该使用深度学习吗?

深度学习不适用于什么样的任务?依我之见,以下这些主要场景的深度学习弊大于利。01低成本或者低承诺问题深网是非常灵活的模型,有着许多架构和节点类型,优化器和正则化策略。根据应用,你的模型可能会有卷基层&#xff0…

秒后面的单位是什么_单位与国际单位制是如何由来的?

2013年国庆期的一则网络消息说,11万人看升旗留下了5吨垃圾。有人认为这是一则假消息,因为5吨=5000千克,110000500022千克/人,而每人携带22千克(44斤)的垃圾是不可能的。以前还看过一个说法&…

(需求实战_进阶_04)SSM集成RabbitMQ 通配符模式 关键代码讲解、开发、测试

背景: 为了减轻服务器的压力,现在原有项目的基础上集成消息队列来异步处理消息! 此项目是企业真实需求,项目的代码属于线上生产代码,直接用于生产即可! 此项目采用MQ发送消息模式为:通配符模式,如果对Rabbi…

halo多人正在连接服务器,在线人数过低 《光晕2》PC版多人服务器下月关闭

这也许是一个让粉丝略伤感的消息,《光晕2(Halo2)》PC多人游戏服务器将在下个月永久关闭。343 Industries注意到服务器的峰值在线人数一直仅有20人,因此做出了关闭服务器的决定。343 Industries在Halo Waypoint中说道:“我们很遗憾地宣布&…

纯Python实现鸢尾属植物数据集神经网络模型

摘要: 本文以Python代码完成整个鸾尾花图像分类任务,没有调用任何的数据包,适合新手阅读理解,并动手实践体验下机器学习方法的大致流程。 尝试使用过各大公司推出的植物识别APP吗?比如微软识花、花伴侣等这些APP。当你…

【明人不说暗话】我就只讲进程与线程

戳蓝字“CSDN云计算”关注我们哦!作者 | 阮一峰责编 | 阿秃进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有…

(需求实战_进阶_05)SSM集成RabbitMQ 通配符模式 关键代码讲解、开发、测试

接上一篇: 文章目录一、RabbitMQ 配置文件1. RabbitMQ 生产者配置文件更新二、启动项目2.1. 启动项目2.2. 清空控制台三、管控台总览3.1. 登录管控台3.2. 交换机中查看绑定队列总览四、验证测试4.4. 生产者①请求4.5. 生产者②请求五、启动RabbitMQ5.1. 进入sbin目录…