嵌入式系统新手入门指南

发表时间: 2022-02-22 18:13

很多初学者会出现一个纠结:我是学单片机呢还是学嵌入式呢?有人说单片机也是嵌入式,到底对不对?嵌入式是不是就是linux?

嵌入式

首先我们先了解什么是嵌入式。嵌入式系统,是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。

嵌入式对于大多数人来说就是个不清晰的定义,并没有非常明确的关于“嵌入式”这个词的定义。它也不像单片机一样,单片机是个确定某个物件的名字。

嵌入式实际上是一种电子设计方法,这种方法就是将微型计算机嵌入到电子产品内部使用。只要符合这种设计方法的电子产品就可以称为嵌入式系统。它是以一个方法来命名的。


嵌入式由来

为什么会有嵌入式这个词?是因为早期的半导体工艺不发达,计算机都是非常大的。那时候的电子产品是一个单独的东西,计算机也是一个独立的东西,然后通过一些线连接在一起。两个不是一个整体。

我们以空调为例,假如空调只管制冷,上面也没有按键,然后空调拉根线出来接上一台电脑上,然后通过电脑按键盘来控制空调。这种空调就叫非嵌入式系统。

我们现实中看到的空调都不是这样,空调柜机上有按钮可以直接按,实际上是空调内部安装了一个电路板,这个电路板其实就是一个嵌入式的计算机,用来控制空调的。因为把计算机电路板“嵌入”到空调里了,所以叫嵌入式系统。


嵌入式系统介绍

1,以单片机为核心的嵌入式系统,如51,AVR,要求会C语言或汇编,比较简单,大多数只做单片机的公司,会要求同时会硬件和软件,因为小公司要远远的多于大公司,小公司讲究的是全能,也就是说自己画板设计电路,自己编写程序,自己调试。

2,以ARM7,M0,M3等为核心的嵌入式系统,功能比单片机多了不少,要求会C语言或汇编,或UCOS等一些微内核的嵌入式系统,这些相对于高端一些的单片机,就会分为硬件部门和软件部门。由对应的工程师组成去做对应的硬件开发和软件开发

3,以ARM9,ARM11等更高位核心的嵌入式系统,功能复杂,要求C或C++,会LINUX系统或WINCE等其他一些系统。软件和硬件严格分工,软件工作量很大,硬件很复杂,需要团队分工合作。


总结

嵌入式这个概念实际上很广泛,你单讲嵌入式别人很可能会理解错,就会产生想表达的意思并不相同。上面所说的嵌入式的概念是嵌入式本来的定义,也就是所谓广义上的嵌入式。从广义上来说51单片机也是嵌入式的一种。


而狭义的嵌入式,其实是“嵌入式linux系统”的简称。这种狭义的嵌入式最初指的是运行了linux系统的嵌入式计算机系统。后来也包括运行了和linux同级别的其他嵌入式系统(譬如WinCE、Vxworks、Android等)的计算机。

这种能够运行linux的嵌入式计算机并不是单片机,单片机限于资源和性能是运行不了linux的。我们平时常见产品的智能手机、汽车中控大屏、工控HMI、网络摄像机等就是这类狭义的嵌入式系统。

从广义上讲单片机属于嵌入式,而从狭义上讲单片机不属于嵌入式

所以当你在思考是以单片机入门还是以嵌入式入门的的时候,你要先确认一下以后的学习路线或者从业的发展方向,避免入错门要重新再入一次。




想正确学习单片机的小伙伴,评论我要入门,领取海量学习资源!