嵌入式开发:一个充满挑战的领域

发表时间: 2022-06-07 00:15

嵌入式本来就很坑,相对于互联网来说那个坑多得简直是难走。不过相对于纯电子电路、机械、化工、医药、生物等工科领域,似乎倒也不错。所以有时候会看到学机械的想转嵌入式,学文科的想转互联网。



有些现象我自己本身就有很深的体会,有些现象我则听都没听过,下面我会一一分析。


现象一


想从事嵌入式方向的学生,大部分是EE专业。在EE专业尤其是在二三本的EE专业,学好单片机是找工作的救命稻草。


现象二


学生基础不扎实。说嵌入式是坑的大部分人有以下特征: 1、学历不高; 2、只会单片机,数电模电基础不扎实,喜欢参与项目; 3、而且大部分项目,在网上都找的到,几乎不用看芯片手册编程。


现象三


(他们)害怕跨专业。他们本专业课程(电路基础,模电数电,信号与系统,高频电路)学得非常一般,而软件方向(编程语言、数据结构、操作系统)又没有系统地学习过。因此在校招中因为软件知识体系不过关而被刷掉,电路设计因为学校没有很好的研究环境更是不堪一击。于是认为嵌入式要完,学嵌入式找不到好工作。


现象四


(他们)没有上升到Linux,在win裸机(?)中打转,板子的bootloader甚至没听过,对自己的开发平台一无所知。



现象五


少部分人声称,学好了也没什么用,普通人干10年,最多就20w,和互联网差太多,而且招的人少。题主调查发现,嵌入式人才供不应求。以某招聘网网为例,嵌入式3年经验工程师,北上广12k月薪以上遍地都是。3年或者5年工作经验者,20k也比比皆是。从校招来看,海康华为等给的薪水,10k以上已经是非常普通。985研究生校招,14k以上也非常多,只是略逊互联网,根本没到要完的地步。而且听很多hr说,他们非常缺嵌入式工程师,有招人难的问题。题主单独私聊了几位已经工作的嵌入式的前辈,大部分表示工作压力不大,甚至不加班。尤其手上的项目一结束,就会有很大的空档期。


嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积、功耗等方面的要求,集可配置,可裁减的软、硬件于一体的专用计算机系统。它具有很强的灵活性,主要由嵌入式硬件平台、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。


嵌入式很庞大,有走硬件的,也有走软件的。


如果你只是停留在51这地方,那你大概率只能找单片机相关的工作了,还有自动化那边的PLC也能搞;



如果你再往上走一个层次,接触到一些ARM,比如stm32,那你可以往嵌入式开发走,很多公司的产品都可能会用到stm32,或者即便用不到,你懂得用stm32,再跳去用其它也不会太难。


如果你再再往上走一个层次,接触到操作系统,特别是Linux这些开源系统,可以搞底层驱动,也可以搞应用层开发。


嵌入式在制造行业中的薪资绝对属于较高一档,如果进入行业里面的龙头企业(如华为,大疆等), 薪水和互联网企业也基本是一个档次,不过一方面这些企业提供的专门从事嵌入式的高薪工作岗位和互联网企业少太多,另一方面制造业的产品研发,立项到上线量产的周期远长于互联网企业,相应的其它福利也就少很多,而且因为项目进度压力,这些大企业的加班需求并不比互联网少,相对来说,并不是性价比最优的行业,我之前也回答过类似观点。


“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本的核心要素。


嵌入式系统具有以下特点:


(1)系统专用性强。

(2)系统实时性强。

(3)软、硬件依赖性强。

(4)处理器专用。

(5)多种技术紧密结合。

(6)系统透明性。

(7)系统资源受限。



嵌入式系统的组成


嵌入式系统一般都由软件和硬件两个部分组成,其中嵌入式处理器、存储器和外部设备构成整个系统的硬件基础。嵌入式系统的软件部分可以分为 3 个层次:系统软件、应用支撑软件和应用软件。其中,系统软件和支撑软件是基础,应用软件则是最能体现整个嵌入式系统的特点和功能的部分。


总线


嵌入式系统的总线一般分为片内总线和片外总线。片内总线是指嵌入式微处理器内的CPU与片内其他部件连接的总线;片外总线是指总线控制器集成在微处理器内部或外部芯片上的用于连接外部设备的总线。


AMBA 总线。 AMBA(Advanced Microcontroller Bus Archiecture,先进微控制器总线架构)


先进性能总线(Advanced High-performance Bus, AHB)

先进系统总线(Advanced System Bus, ASB)

先进外设总线(Advanced Peripheral Bus, APB)



对单片机感兴趣的朋友可以找我,我录制整理了一些关于单片机的相关入门教程,有需要的童鞋找我拿就行,免费的,私信我就可以,我是“林老师”