软件方面
浅度嵌入式(系统级嵌入式)。两种主要的表现,工zhi控开发与消费品开发。
关于工控开发,以工业控制计算机为例。业内称之为系统级嵌入式开发,以C语言为主要开发语言,系统底层级别的基本碰不到,工程师要做的是实现上层的应用开发。当然有人会说,C语言的开发门槛不低,精通C语言本身就是较高的门槛。但实际上,在这个领域的开发并不需要你了解编译原理,并不需要时间空间复杂度的敏感,并不需要双向循环链表、二叉树、堆、栈等数据结构的理解,并不需要快排等算法的应用,更不需要APL ) 。。。。你需要的是什么?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上面欣然开发的人。所以,这种看似深度嵌入式开发的门槛高吗?
已经在嵌入式行业混了十几年,做的东西从底层linux驱动,内核定制到上层的app应用,都是在嵌入式设备上开发东西,从数字电视,机顶盒,手机,到现在的电动汽车充电设备都属于嵌入式产品,技术模块从音视频解码,浏览器内核技术,到安卓框架层定制,以及应用开发。从菜鸟程序员到能搭建一些系统框架,给下边兄弟们去使用,其实任何一个行业不可能一成不变,如果一直守着老的东西不变,自然不会有多大的前途,现在非常流行的物联网以及人工智能机器人都属于嵌入式领域新的技术拓展,不要轻易给一个事物下结论说过时之类的话,如同现在很多人觉得C语言已经是过时的语言,现在没必要学习了,事实的真相是现在随着软件行业的发展,集成化的是一大大趋势,底层的编程语言不太适合做应用级别的开发,所以在工作岗位的绝对数量没法和高级语言岗位相比而已,并不代表这门编程语言已经过时了,很多高级语言底层代码都是C语言完成。
嵌入式工程师能做点什么?
1.底层设备驱动开发,以及操作系统内部实现都属于嵌入式,这些都属于非常靠近底层的编码类别,目前这种的岗位相比之前比例下降了,主要是随着软件技术的进步,这类工作已经在前期做了大量的积累,不需要从头开始搞,大部分芯片厂商都已经给提供好了,主要功能扩展和维护性的工作多一些。
2.通讯领域,常见的路由器,交换机等设备开发都属于嵌入式领域,这块对于性能的要求非常高,所以主要的开发语言是c/c++。
3.系统级开发,如同安卓框架,浏览器内核,多媒体播放器等内部引擎的开发,这类工作主要是高级工程师做的比较多,涉及到的文件数目以及专业性都需要具备一定的基础才能去搞,不见得要写多少代码,因为针对这类系统开发在开源社区里面都能拿到源码,有了源码不一定代表着掌握,需要对这些框架有一定了解,提出一个新的需求能够在万千代码中找到解决方案,难在有时候本身从社区拿到的代码本身就存在致命的bug,这些问题很难在网络上找到答案,只能自己硬啃。
4.嵌入式应用级别的开发,开发语言c/c++/java等等都会涉猎,因为现在安卓系统的普及,很多应用开发都采用java方式,开发起来简单直接,当然现在很多h5的应用开发效率更高了,运行效率相对低点,但现在设备的配置比之前已经高了许多,所以运行效率不是多大的问题。
如何学习嵌入式开发?
1.需要掌握的基本编程基础,c/c++,以及数据结构这是嵌入式开发必备,现在很多人把linux也作为嵌入式开发的必备基础,现在做嵌入式开发的很难脱离linux而单独存在。
2.需要掌握基本的系统开发基础,例如多线程编程,网络编程,以及常见的编程模式,例如状态机条件设置,图形系统开发使用等等嵌入式高级编程模式都需要掌握。
3.需要在一个设备上实践具体项目。现在很多嵌入式的开源社区都可以在里面吸取营养,树莓派就是一个很不错的代表,可以在里面学到很多实践项目。
任何一个方向都是在发展,是不是能前途,能不能拿到高工资主要靠自身的努力,在一个领域能够做到顶端,即使行业看着不景气,一样能够拿到高薪或者高职位,和不要把自己的不努力归结到行业不景气身上,多从自身找原因。
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/7830.html