软件方面
浅度嵌入式(系统级嵌入式)。两种主要的表现,工控开发与消费品开发。
关于工控开发,以工业控制计算机为例。业内称之为系统级嵌入式开发,以C语言为主要开发语言,系统底层级别的基本碰不到,工程师要做的是实现上层的应用开发。当然有人会说,C语言的开发门槛不低,精通C语言本身就是较高的门槛。但实际上,在这个领域的开发并不需要你了解编译原理,并不需要时间空间复杂度的敏感,并不需要双向循环链表、二叉树、堆、栈等数据结构的理解,并不需要快排等算法的应用,更不需要APL @bhuztez(正在学,逃。。) 。。。。你需要的是什么?for,while,if....else,基本可以靠他们打天下。简单来说,有点C语言基础,再稍加磨练即可上手,当然,上手和精通是两回事。我们的组的成员结构中既有C9名校的硕士,也有普通高校的本科生,甚至有从别的非研发部门转过来的同事,现在,大家都在做嵌入式,呵呵,这个门槛还高吗?
关于消费品开发,以android开发为例。时下最火的可算是android开发了,无论是智能硬件,智能家居等,基本脱离不了安卓开发。这个的门槛高吗?如果你想把google的安卓源码刷一遍,那肯定是低不下去吧。实施上呢,市面上的安卓培训少吗?培训一个月,0基础月入过万的承诺少吗?哪怕有水分,打个折,7,8k总归也行吧。为什么能做到这样?我在读研的时候(蛋疼的电气专业),那会没有接触过安卓,有些课程设计,老师直接叫我们在一周内写个简单的App,不也能写出来吗?这意味着什么呢?
深度嵌入式(底层级别嵌入式开发)。操作系统包括linux和RTOS等。在这种深度嵌入式开发中,平台主要依赖于ARM。刨除掉ARM指令集和rn那几个寄存器,在很多人看来,arm和普通单片机没什么区别,无非就是配置那几个外设寄存器而已。当然,在上面架系统会稍微复杂点,但是很少需要开发linux内核,很少需要开发RTOS内核的工作。如果贵司有钱,使用Vx或者QNX这些操作系统,供应商已经直接根据你的硬件平台制作BSP给你直接用了,而你无非就是在上面开发一些应用而已,这样又回到上面的话题。我曾经接触过不知道ARM是一个公司这样的事实然后在ARM上面欣然开发的人。所以,这种看似深度嵌入式开发的门槛高吗?