欢迎来到天天文库
浏览记录
ID:14605454
大小:161.00 KB
页数:19页
时间:2018-07-29
《嵌入式软件工程师职业指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式软件工程师职业指南http://fellow.51cto.com 2009-03-0410:52 bogy 新浪博客 我要评论(0)·摘要:嵌入式目前最流行的就是基于ARM9的开发,相关学习的资料也非常的全。但是嵌入式的开发是个非常长的战线。想一个人把全线贯通至少需要两年的时间.我目前只能在某些点上做到精通。对于整个线上的知识我现在做下总结,留给我以后各个击破。·标签:嵌入式软件 软件开发 ARM9·嵌入式目前最流行的就是基于ARM9的开发,相关学习的资料也非常的全。但是嵌入式的开发是个非常长的战线。
2、想一个人把全线贯通至少需要两年的时间.我目前只能在某些点上做到精通。对于整个线上的知识我现在做下总结,留给我以后各个击破。嵌入式设备的用途非常的广阔。小到遥控器、游戏机,大到坦克、航天飞机都有着它的身影,正是以为这个特点它深深的吸引了我。但是所有的技术万变不离其宗。核心技术只占20%。最核心的飞机上的嵌入式和游戏机上的嵌入式产品只是功能上的一点点差异。核心硬件差别不大。按我的理解它的技术大致分三层。底层基于硬件的开发、软件平台的特性开发、应用场景和市场的分析。底层基于硬件的开发,需要电路知识,数电、模电、微机原
3、理、单片机原理、汇编、C语言。这部分学习的特点是技术相对稳定。硬件平台包含多个器件。但是在平台的搭建上,每个器件厂家都会给出相关的建议方案。一般产品基于一个平台开发都是两年以上的开发。核心变化不会太大。在初始设计的时候就要充分考虑几年内不会有大的变动。因为一旦开版投产成本都相当高的。包含了电路设计和驱动开发两方面的工作。硬件的换代一般3到5年。有的甚至更长时间。软件平台的特性开发,对于简单逻辑的一般没有操作系统很简单时序的运算。常使用8位一下的硬件。扩展性比较低。一般通过汇编直接编写。对于越来越多的电子产品支持
4、多种功能的集成,使得软件平台越来越复杂。于是出现了操作系统来管理协调多个程序之间的调度协调。让嵌入式平台在硬件不变的情况下提高了功能和性能。需要的知识,操作系统、TCP/IP协议、高级编程语言(C/C++/JAVA/Dephie)、软件工程、数据结构、图像处理、数据库等。实际在正规的大公司中只需要了解这里的两到三点就可以完全胜任平时的工作了。毕竟要研究透所有的知识要花大量的时间。很多公司也只希望你把一部分工作做好就可以了。太强了留不住人的。根据实际需求和岗位使用不同的技术。应用场景和市场的分析,这部分是站在最前
5、沿的。它引导着整个产业链的发展方向。对于现有技术可以实现的应用场景,并不一定满足实际需求。这里需要的知识就很大程度基于经验了。要了解用户的真正需求。了解市场的发展趋势。还要了解目前硬件技术到达什么程度,是否可以满足需求。这里需要考验人的眼光。要在竞争对手之前看到商机。引导客户使用现有技术。一般做这一部分工作的都是技术型企业的老总。要对行业的走向作出清晰的判断。这些决定非常重要。目前我之前做过的技术主要集中于软件层,语言上只是精通C语言因为它在嵌入式开发有着天生的优势。能够看懂简单的汇编(大学一年单片机的结果)。
6、硬件系统的架构和软件系统的架构非常熟悉。目前的能力只有软件上的提高自己才是最现实的。是我的近期目标。1.嵌入式软件课程体系自学嵌入式确实不大现实(当然也不是说没有这个可能),毕竟嵌入式难度也是比较大的。嵌入式的应用主要是几个方向:一是系统开发:侧重开发环境搭建、内核原理、交叉编译等;二是嵌入式Linux应用开发:侧重Linux应用编程、内核编译、系统调用;三是底层驱动开发:侧重嵌入式Linux系统下的驱动开发、内核的深入分析。不过初进门者主要往系统开发和应用开发发展,有了相关工作经验再进一步向底层驱动靠。嵌入式
7、课程的目标,想自学完课程,要掌握以下知识点:◆Linux命令、工具和C编程基础◆嵌入式LinuxC语言强化◆嵌入式Linux上的C编程训练◆Linux高级编程及编程训练◆嵌入式ARM处理器体系结构及编程训练◆嵌入式Linux内核环境搭建和编程训练◆嵌入式Linux驱动理论及驱动程序开发训练◆Android应用研究和系统开发◆Android体系结构和系统移植◆嵌入式ARMLinux项目实践和训练嵌入式软件方面最重要的课程包括:(1)嵌入式微处理器结构与应用这是一门嵌入式硬件基础课程,我院用这门课取代了传统的“微机
8、原理与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲x86微机原理与接口很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是
此文档下载收益归作者所有