嵌入式软件开发入门指南

发表时间: 2024-06-04 10:29

基本介绍广播

编辑

嵌入式系统是以应用为中心、以计算机为基础、可定制的硬件和软件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统,一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统和用户应用程序四部分组成,用于控制、监视或管理其他设备。

嵌入式软件工程师是编写嵌入式系统的工程师。

职业需求报告

编辑

应该具备哪些能力

最直接的方法就是分析各公司、招聘网站对嵌入式软件工程师的岗位要求。

让我给你总结一下:

1、最重要的是C编程和C++,和你读程序、应用、项目开发、系统移植息息相关;

2、操作系统:LINUX、WINCE等,至少一种必须学过,另外还需要具备一些基础知识;

3.对ARM、FPGA、DSP等硬件有较好的理解。

这是最常见的情况

当然,一些基本素质,比如英语水平、团队合作、管理能力等也很重要。

发展前景报告

编辑

嵌入式领域比较新,发展很快,很多软硬件技术出现的时间都不长(比如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或者进入嵌入式行业,更没有机会得到专业人士的指导,所以进入这个行业难度很大,嵌入式人才稀缺,价值自然水涨船高。

据权威部门统计,我国嵌入式人才缺口每年在50万人左右。根据51job.com发布的调查报告显示,嵌入式软件开发是未来几年最火爆、最受欢迎的职业之一。软件开发其实是有高低之分的,开发语言从机器语言、汇编到C、C++,再到现在流行的Java、C#,到底学哪个好呢?为什么有的开发人员工资低,而有的开发人员却难求?为什么一个3年经验的高级Java程序员月薪才8k-10k,而一个2年经验的Linux低级C语言程序员却敢要10k的月薪?这就是他的实力。

还是有门槛的,比如一个Linux嵌入式开发岗位,门槛包括Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、Linux内核、驱动等,大概有8个门槛,他需要对整个电脑系统非常熟悉,才能做出实际的产品。

嵌入式开发本身也有不同的层次,至少包括两种:嵌入式应用工程师和底层驱动内核工程师。根据芯片的具体情况,将操作系统(如Linux)移植到其上,编写必要的驱动程序并重写相应的内核代码。要修改那一小行代码,需要进行大量的资料查找和调试。所消耗的脑力劳动不能简单地通过重写相应的内核代码的数量来判断。显然,后者才是公司真正的技术核心。技术核心的工资很可能是其他开发人员的几倍。

嵌入式开发重在必修和项目,学习不只是学习几门技术,而是要建立自己的知识体系。比如学习嵌入式开发,需要从基础的Linux、C语言、数据结构,到ARM、汇编、Linux内核、驱动等,更重要的是多做项目练习,设计至少5个项目,写出1万行必修核心代码,才能真正收获知识。

未来几年,随着信息化、智能化、网络化的发展,嵌入式系统技术也将有广阔的发展空间。美国著名未来学家尼葛洛庞帝1999年1月来华访问时曾预言,4-5年后,嵌入式智能(计算机)工具将是继PC、Internet之后最伟大的发明。1998年11月,我国著名嵌入式系统专家沈旭邦院士在武汉第十一届全国微型计算机学术交流会上发表了题为《计算机的发展与技术》的文章,对未来10年基于嵌入式芯片的计算机产业做了科学的阐述和展望。1999年世界电子产品产值突破1.2万亿美元,2000年已达1.3万亿美元,预计2005年销售额将达到1.8万亿美元。一些先进的PDA已实现在显示屏上汉字书写和短信语音发布,日常使用范围也将日益广阔。 对于企业专用的解决方案,比如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。在自动控制领域,不仅可以用在ATM机、自动售货机、工业控制等专用设备中,而且与移动通讯设备、GPS、娱乐等结合,嵌入式系统也能发挥巨大的作用。

职业发展报告

编辑

从个人整体发展的角度来说,如果想创业,做自己的产品,嵌入式软件开发可以开发专利产品。

另一条发展路径是:积累了丰富开发经验的嵌入式软件开发工程师可以发展成为嵌入式系统开发工程师,进而晋升为产品开发经理或IT项目经理;对测试理论和方法有一定了解的嵌入式软件开发工程师也可以转为嵌入式系统测试工程师,最终发展成为IT项目经理。