系统层。一般个人或小公司是写不了的,听说Windows某版本用了300人写了2年。只有大公司才会想着自己写系统,比如最近的新闻:华为推自主物联网操作系统Liteos 对全球免费开放

而我们个人所能做的是把操作系统移植到芯片上去。

另外补充一个知识点:一个操作系统,一般来说有五样东西:内存管理、进程管理、文件系统、设备硬件接口和网络通信。在嵌入式领域里,可能会针对不同的应用情况而对系统层进行裁减,比如裁减掉文件系统和网络通信,只留下内存、进程和硬件接口就可以了。

如果你现在干的活硬件层是ARM芯片、系统层是Linux。

那么就是ARM+Linux嵌入式工程师,但是你以为你是要做上面的活吗?不!

你只是在ARM+Linux上面修修改改,上面所说的硬件和驱动的活都交给其他人或上游公司做了,但是那些人也可以说是在做嵌入式!

然后呢,安卓本质上不也是Linux么?所以如果你是在做安卓底层开发,安卓APP开发,本质上也是在做嵌入式!而且Android和iOS不是常常相提并论吗?于是iOS开发也是嵌入式开发了……真是让人不可思议!

另外,除了ARM+Linux/Android,还有其他的芯片+系统,比如:STM32+uCOS,ARM+WinCE。

按照目前社会对嵌入式这个词语的理解,可能就在这个范围内。像我这样电子专业出身的人,对嵌入式的理解就没那么狭隘。

我还想说的是:驱动层和系统层这一类的工程师,因为不需要大篇幅的修改而市场需求量少,因为需要阅读大量的代码和要有很多Debug经验而人才稀少。

近年来嵌入式这三个字那么火,但还是一个被培训机构炒作出来的概念!最重要的还是要回到现实中具体是做什么的!你在这一家公司做嵌入式工程师,可能根本就不能担任另一家的嵌入式工程师!所以……

嵌入式最大的坑,就是定义未清!

嵌入式定义未清,又被商家炒作,就会有一大堆人趋之若鹜(包括我),接触之后发觉并不是自己想象的那样,想退出却发现自己除了嵌入式其他什么也不会,想去互联网行业,发现自己HTML、CCS、JavaScript、PHP、Delphi、C#一概不知!

互联网只要一台电脑+一个服务器就能赚钱,软件还是零成本;而嵌入式,你们知道我妈看了我做的毕业设计之安卓手机蓝牙遥控三色灯,第一句话说了什么吗?这属于制造业吗?

补充:

后来想了想不能说定义未清,应该说是定义太广泛。

嵌入式系统在书本上的定义很明确,也很长,具体可查某百科。我的嵌入式老师只用了三个词语就总结了嵌入式系统的精髓:专用的 可裁剪的 计算机系统。

嵌入式工程师简直就是硬件工程师与软件工程师的合体!别问我是哪一类软件工程师,反正不是前端、后端、APP、测试、运维。也别问我是什么硬件工程师,电源、单片机、高频、通信……你会做你就上!给你个嵌入式工程师的头衔你就是软件硬件小能手,堪比全栈工程师。