嵌入式软件工程师职业规划及计划
嵌入式软件工程师职业规划及计划
嵌入式的开发是个非常长的战线,嵌入式入门难,想要各个突破至少也得需要两年的时间。
高级java程序员掌握技能在这里,嵌入式技术分为三层。底层基于硬件的开发、软件平台的特性开发、应用场景和市场的分析。各层需要的技能也会不同。
底层基于硬件的开发需要的技能。
电路知识,数电、模电、微机原理、单片机原理、汇编、C语言。硬件平台包含多个器件。在初始设计的时候就要充分考虑几年内不会有大的变动。因为一旦开版投产成本都相当高的。包含了电路设计和驱动开发两方面的工作。硬件的换代一般3到5年。有的甚至更长时间。
软件平台的特性开发需要的技能。
对于简单逻辑的一般没有操作系统很简单时序的运算嵌入式软件工程师职业规划及计划。常使用8位一下的硬件。扩展性比较低。一般通过汇编直接编写。对于越来越多的电子产品支持多种功能的集成,使得软件平台越来越复杂。于是出现了操作系统来管理协调多个程序之间的调度协调。让嵌入式平台在硬件不变的情况下提高了功能和性能。需要的知识,操作系统、TCP/IP协议、高级编程语言(C/C++/JAVA/Dephie)、软件工程、数据结构、图像处理、数据库等。实际在正规的大公司中只需要了解这里的两到三点就可以完全胜任平时的工作了嵌入式软件工程师职业规划及计划。毕竟要研究透所有的知识要花大量的时间。很多公司也只希望你把一部分工作做好就可以了。太强了留不住人的。根据实际需求和岗位使用不同的技术。
应用场景和市场的分析
这部分是站在最前沿的。它引导着整个产业链的发展方向。这样的人通常很大程度基于经验了。要了解用户的真正需求。了解市场的发展趋势。还要了解目前硬件技术到达什么程度,是否可以满足需求。这里需要考验人的眼光。要在竞争对手之前看到商机。引导客户使用现有技术嵌入式软件工程师职业规划及计划。一般做这一部分工作的都是技术型企业的老总要对行业的走向作出清晰的判断。这些决定非常重要。
不管是初学者还是有一定经验工作经验的嵌入式开发者,想要在这个领域胜出,必要有到一定技能的。
嵌入式的应用主要是几个方向:
一是系统开发:侧重开发环境搭建、内核原理、交叉编译等;
二是嵌入式Linux应用开发:侧重Linux应用编程、内核编译、系统调用;
三是底层驱动开发:侧重嵌入式Linux系统下的驱动开发、内核的深入分析。
不过初进门者主要往系统开发和应用开发发展,有了相关工作经验再进一步向底层驱动靠。
嵌入式开发流程
也许很多初涉嵌入式开发领域的程序员会被一系列的新名词搞得头昏脑胀,在这里,我希望能够将嵌入式开发的流程展现给大家。
嵌入式开发主要分为三个比较大的部分:
1、驱动程序开发
这部分开发是从硬件设计开始的,硬件工程师会设计PCB板,为我们提供标准开发板(SDB,Standard
Development Board)。当我们拿到开发板之后的第一件事情就是编写boot-loader,让开发板启动起来,一般是通过JTGA将boot-loader烧录到开发板中的。我们可以将boot-loader看作PC中的BIOS,负责硬件设备的初始化工作,并且将操作系统运行起来。在此之后,我们需要根据开发板上的硬件开发各种驱动程序,比如串口、USB、鼠标、视频输入等。最后将这些驱动程序和boot-loader打包,称为一个板级支持包(BSP)嵌入式软件工程师职业规划及计划。BSP是和开发板的具体硬件紧密相关的。
所以从事这方面开发的工程师往往具有比较强的硬件知识水平。
2、平台定制
我们可以将Windows CE想象为一盒积木,根据不同的应用场景和设备要求,我们要对这盒积木进行定制,堆积出不同形状的城堡、动物和生活用品。这个过程称为 平台定制 ,定
制产生的平台往往和具体的硬件设备相关,直接将平台下载到硬件设备上就可以运行了嵌入式软件工程师职业规划及计划。整个开发过程,需要选择不同的组件来搭配出最适合当前硬件的软件平台。所以要对Windows CE的组件,也就是Catalog Item,有相当程度的了解。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论