嵌入式软件工程师职业指南_第1页
嵌入式软件工程师职业指南_第2页
嵌入式软件工程师职业指南_第3页
嵌入式软件工程师职业指南_第4页
嵌入式软件工程师职业指南_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式软件工程师职业指南

2009-03-0410:52

bogy

新浪博客

我要评论(0)摘要:嵌入入式目前前最流行行的就是是基于AARM99的开发发,相关关学习的的资料也也非常的的全。但但是嵌入入式的开开发是个个非常长长的战线线。想一一个人把把全线贯贯通至少少需要两两年的时时间.我我目前只只能在某某些点上上做到精精通。对对于整个个线上的的知识我我现在做做下总结结,留给给我以后后各个击击破。标签:嵌入入式软件件

软件件开发

ARRM9嵌入式目前前最流行行的就是是基于AARM99的开发发,相关关学习的的资料也也非常的的全。但但是嵌入入式的开开发是个个非常长长的战线线。想一一个人把把全线贯贯通至少少需要两两年的时时间.我我目前只只能在某某些点上上做到精精通。对对于整个个线上的的知识我我现在做做下总结结,留给给我以后后各个击击破。嵌入式设备备的用途途非常的的广阔。小小到遥控控器、游游戏机,大大到坦克克、航天天飞机都都有着它它的身影影,正是是以为这这个特点点它深深深的吸引引了我。但但是所有有的技术术万变不不离其宗宗。核心心技术只只占200%。最最核心的的飞机上上的嵌入入式和游游戏机上上的嵌入入式产品品只是功功能上的的一点点点差异。核核心硬件件差别不不大。按我的理解解它的技技术大致致分三层层。底层层基于硬硬件的开开发、软软件平台台的特性性开发、应应用场景景和市场场的分析析。底层基于硬硬件的开开发,需需要电路路知识,数数电、模模电、微微机原理理、单片片机原理理、汇编编、C语语言。这这部分学学习的特特点是技技术相对对稳定。硬硬件平台台包含多多个器件件。但是是在平台台的搭建建上,每每个器件件厂家都都会给出出相关的的建议方方案。一一般产品品基于一一个平台台开发都都是两年年以上的的开发。核核心变化化不会太太大。在在初始设设计的时时候就要要充分考考虑几年年内不会会有大的的变动。因因为一旦旦开版投投产成本本都相当当高的。包包含了电电路设计计和驱动动开发两两方面的的工作。硬硬件的换换代一般般3到55年。有有的甚至至更长时时间。软件平台的的特性开开发,对对于简单单逻辑的的一般没没有操作作系统很很简单时时序的运运算。常常使用88位一下下的硬件件。扩展展性比较较低。一一般通过过汇编直直接编写写。对于于越来越越多的电电子产品品支持多多种功能能的集成成,使得得软件平平台越来来越复杂杂。于是是出现了了操作系系统来管管理协调调多个程程序之间间的调度度协调。让让嵌入式式平台在在硬件不不变的情情况下提提高了功功能和性性能。需需要的知知识,操操作系统统、TCCP/IIP协议议、高级级编程语语言(CC/C+++/JJAVAA/Deephiie)、软软件工程程、数据据结构、图像处理、数据库等。实际在正规的大公司中只需要了解这里的两到三点就可以完全胜任平时的工作了。毕竟要研究透所有的知识要花大量的时间。很多公司也只希望你把一部分工作做好就可以了。太强了留不住人的。根据实际需求和岗位使用不同的技术。应用场景和和市场的的分析,这这部分是是站在最最前沿的的。它引引导着整整个产业业链的发发展方向向。对于于现有技技术可以以实现的的应用场场景,并并不一定定满足实实际需求求。这里里需要的的知识就就很大程程度基于于经验了了。要了了解用户户的真正正需求。了了解市场场的发展展趋势。还还要了解解目前硬硬件技术术到达什什么程度度,是否否可以满满足需求求。这里里需要考考验人的的眼光。要要在竞争争对手之之前看到到商机。引引导客户户使用现现有技术术。一般般做这一一部分工工作的都都是技术术型企业业的老总总。要对对行业的的走向作作出清晰晰的判断断。这些些决定非非常重要要。目前我之前前做过的的技术主主要集中中于软件件层,语语言上只只是精通通C语言言因为它它在嵌入入式开发发有着天天生的优优势。能能够看懂懂简单的的汇编(大大学一年年单片机机的结果果)。硬硬件系统统的架构构和软件件系统的的架构非非常熟悉悉。目前前的能力力只有软软件上的的提高自自己才是是最现实实的。是是我的近近期目标标。1.嵌入入式软件件课程体体系自学嵌入式式确实不不大现实实(当然然也不是是说没有有这个可可能),毕毕竟嵌入入式难度度也是比比较大的的。嵌入入式的应应用主要要是几个个方向::一是系统开开发:侧侧重开发发环境搭搭建、内内核原理理、交叉叉编译等等;二是嵌入式式Linnux应应用开发发:侧重重Linnux应应用编程程、内核核编译、系系统调用用;三是底层驱驱动开发发:侧重重嵌入式式Linnux系系统下的的驱动开开发、内内核的深深入分析析。不过初进门门者主要要往系统统开发和和应用开开发发展展,有了了相关工工作经验验再进一一步向底底层驱动动靠。嵌入式课程程的目标标,想自自学完课课程,要要掌握以以下知识识点:Linuxx命令、工具和和C编程程基础嵌入式LiinuxxC语语言强化化嵌入式Liinuxx上的CC编程训训练Linuxx高级编编程及编编程训练练嵌入式ARRM处理理器体系系结构及及编程训训练嵌入式Liinuxx内核环环境搭建建和编程程训练嵌入式Liinuxx驱动理理论及驱驱动程序序开发训训练Androoid应应用研究究和系统统开发Androoid体体系结构构和系统统移植嵌入式ARRMLLinuux项目目实践和和训练嵌入式软件件方面最最重要的的课程包包括:(1)嵌嵌入式微微处理器器结构与与应用这是一门嵌嵌入式硬硬件基础础课程,我我院用这这门课取取代了传传统的“微微机原理理与接口口”课程程(目前前国内已已有少部部分高校校IT专专业这样样做了,因因为讲xx86微微机原理理与接口口很难找找到实际际用处,只只为教学学而已)。我我们说过过,嵌入入式是软软硬件结结合的技技术,搞搞嵌入式式软件的的人应对对ARMM处理器器工作原原理和接接口技术术有充分分了解,包包括ARRM的汇汇编指令令系统。若若不了解解处理器器原理,怎怎么能控控制硬件件工作,怎怎么能写写出节省省内存又又运行高高速的最最优代码码(嵌入入式软件件设计特特别讲究究时空效效率),怎怎么能写写出驱动动程序(驱驱动程序序都是与与硬件打打交道的的)?很很多公司司招聘嵌嵌入式软软件人员员时都要要求熟悉悉ARMM处理器器,将来来若同学学到公司司中从事事嵌入式式软件开开发,公公司都会会给你一一本该设设备的硬硬件规格格说明书书(xxxxSpeecifficaatioon),您您必须能能看懂其其中的内内存分布布和端口口使用等等最基本本的说明明(就像像x866汇编一一样),否否则怎么么设计软软件。有有些同学学觉得嵌嵌入式处处理器课课程较枯枯燥,这这主要是是硬件课课程都较较抽象的的原因,等等我们的的嵌入式式实验室室10月月份建好好后,您您做了一一些实验验后就会会觉得看看得见摸摸得着。还还有同学学对ARRM汇编编不感兴兴趣,以以为嵌入入式开发发用C语语言就足足够了。其其实不应应仅是将将汇编语语言当成成一个程程序设计计语言,学学汇编主主要是为为了掌握握处理器器工作原原理的。一一个不熟熟悉汇编编语言的的人,怎怎么能在在该处理理器写出出最优的的C语言言代码。在在嵌入式式开发的的一些关关键部分分,有时时还必须须写汇编编,如BBoottloaaderr等(可可能还包包括BSSP)。特特别是在在对速度度有极高高要求的的场合(如如DSPP处理器器的高速速图像采采集和图图像解压压缩),目目前主要要还要靠靠汇编写写程序(我我看到过过很多公公司是这这样做的的)。当当您在一一个嵌入入式公司司工作时时,在查查看描述述原理的的手册时时,可能能很多都都是用汇汇编描述述的(我我就遇到到过),这这是因为为很多硬硬件设计计人员只只会写或或者喜欢欢用汇编编描述,此此时您就就必须看看懂汇编编程序,否否则软硬硬件人员员可能就就无法交交流。很很多嵌入入式职位位招聘时时都要求求熟悉汇汇编。(2)嵌嵌入式操操作系统统类课程程除了WinnCE的的实时性性稍差外外,大多多数嵌入入式操作作系统的的实时性性都很强强,所以以也可称称为实时时操作系系统ReealTimmeOOperratiingSysstemm.从事事嵌入式式的人至至少须掌掌握一个个嵌入式式操作系系统(当当然掌握握两个更更好),,这在嵌嵌入式的的所有技技术中是是最为关关键的了了。目前前最重要要的RTTOS主主要包括括:第一类、传传统的经经典RTTOS::最主要要的便是是Vxwworkks操作作系统,以以及其TTornnadoo开发平平台。VVxwoorkss因出现现稍早,实实时性很很强(据据说可在在1mss内响应应外部事事件请求求),并并且内核核可极微微(据说说最小可可8K),可可靠性较较高等,所所以在北北美,VVxwoorkss占据了了嵌入式式系统的的多半疆疆山。特特别是在在通信设设备等实实时性要要求较高高的系统统中,几几乎非VVxwoorkss莫属。VVxwoorkss的很多多概念和和技术都都和Liinuxx很类似似,主要要是C语语言开发发。像BBelll-allcattel、LLuceent、华华为等通通信企业业在开发发产品时时,Vxxworrks用用得很多多。但VVxwoorkss因价格格很高,所所以一些些小公司司或小产产品中往往往用不不起。目目前很多多公司都都在往嵌嵌入式LLinuux转(听听说华为为目前正正在这样样转)。但但无论如如何,VVxwoorkss在一段段长时间间内仍是是不可动动摇的。与与Vxwworkks类似似的稍有有名的实实时操作作系统还还有pSSOS、QQNX、NNuclleuss等RTTOS。第二类、嵌嵌入式LLinuux操作作系统::Linnux的的前途除除作为服服务器操操作系统统外,最最成功的的便是在在嵌入式式领域的的应用,原原因当然然是免费费、开源源、支持持软件多多、呼拥拥者众,这这样嵌入入式产品品成本会会低。LLinuux本身身不是一一个为嵌嵌入式设设计的操操作系统统,不是是微内核核的,并并且实时时性不强强。目前前应用在在嵌入式式领域的的Linnux系系统主要要有两类类:一类类是专为为嵌入式式设计的的已被裁裁减过的的Linnux系系统,最最常用的的是uCClinnux(不不带MMMU功能能),目目前占较较大应用用份额,可可在ARRM7上上跑;另另一类是是跑在AARM9上的的,一般般是将LLinuux22.4..18内内核移植植在其上上,可使使用更多多的Liinuxx功能(当当然uCClinnux更更可跑在在ARMM9上上)。很很多人预预测,嵌嵌入式LLinuux预计计将占嵌嵌入式操操作系统统的500%以上上份额,非非常重要要。缺点点是熟悉悉Linnux的的人太少少,开发发难度稍稍大。另另外,目目前我们们能发现现很多教教材和很很多大学学都以uucOSS/III为教学学用实时时操作系系统,这这主要是是由于uucOSS/III较简单单,且开开源,非非常适合合入门者者学习实实时操作作系统原原理,但但由于uucOSS/III功能有有限,实实用用得得较少,所所以我院院不将其其作为教教学重点点,要学学习就应应学直接接实用的的,比如如uCClinnux就就很实用用。况且且熟悉了了Linnux开开发,不不仅在嵌嵌入式领领域有用用,对开开发Liinuxx应用软软件,对对加深操操作系统统的认识识也有帮帮助,可可谓一举举多得。据据我所知知,目前前Inttel、PPhillip都都在大搞搞ARMM+LIINUXX的嵌入入式开发发,Fuujittum则则是在自自己的处处理器上上大搞LLinuux开发发。目前前在嵌入入式Liinuxx领域,以以下几个个方面的的人特别别难找,一一是能将将Linnux移移植到某某个新型型号的开开发版上上;二是是能写LLinuux驱动动程序的的人;三三是熟悉悉Linnux内内核裁减减和优化化的人。我我院在该该嵌入式式Linnux方方面的课课程系列列是:本本科生操操作系统统必修课课,然后后是Liinuxx程序设设计选修修课,最最后是嵌嵌入式LLinuux系统统选修课课。我院院在Liinuxx方面目目前已有有较强力力量,魏魏老师和张张老师熟熟悉Liinuxx开发,金老师和唐老师熟悉Linux系统管理。第三类、WinndowwsCE嵌入式式操作系系统:MMicrrosooft也也看准了了嵌入式式的巨大大市场,MMS永远远是最厉厉害的,WWinCCE出来来只有几几年时间间,但目目前已占占据了很很大市场场份额,特特别是在在PDAA、手机机、显示示仪表等等界面要要求较高高或者要要求快速速开发的的场合,WWinCCE目前前已很流流行(据据说有一一家卖工工控机的的公司板板子卖得得太好,以以至来不不及为客客户裁减减WinnCE)。WWinCCE目前前主要为为4.22版(..NETT),开开发平台台主要为为WinnCEPlaatfoormBuiildeer,有有时也用用EVCC环境开开发一些些较上层层的应用用,由于于WinnCE开开发都是是大家熟熟悉的VVC+++环境,所所以我院院学过WWinddowss程序设设计课程程的同学学都不会会有多大大难度,这这也是WWinCCE容易易被人们们接受的的原因,开开发环境境方便快快速,微微软的强强大技术术支持,WWinCCE开发发难度远远低于嵌嵌入式LLinuux。对对于急于于完成,不不想拿嵌嵌入式LLinuux冒险险的开发发场合,WWinCCE是最最合适了了(找嵌嵌入式LLinuux的人人可没那那么好找找的),毕毕竟公司司不能像像学生学学习那样样试试看看,保证证开发成成功更重重要。根根据不同同的侧重重点,WWinCCE还有有两个特特殊版本本,一个个是MSSPoockeetPCC操作系系统专用用于PDDA上(掌掌上电脑脑),另另一个是是MSSmaartPPhonne操作作系统用用于智能能手机上上(带PPDA功功能的手手机),两两者也都都属于WWinCCE平台台。在PPDA和和手机市市场上,除除WinnCE外外,著名名的PDDA嵌入入式操作作系统还还有PaalmOS(因因出现很很早,很很有名)、SSymbbiann等,但但在WiinCEE的强劲劲冲击下下,Paalm和和Symmbiaan来日日还能有有多长??我院可可能是全全国高校校中唯一一一家开开设专门门的“WWinddowssCEE嵌入式式操作系系统“课课程的学学校,这这主要是是基于以以下原因因:我院院本身前前面便有有Winndowws程序序设计课课程,同学学学过VCC++后后再学WWinCCE,非非常方便便自然,通通过学习习WinnCE同同样也可可了解嵌嵌入式软软件的一一般开发发过程,对对Linnux有有惧怕心心理的同同学也很很合适。很很显然,嵌嵌入式LLinuux永远远不可能能替代WWinCCE,而而且将来来谁占份份额大还还很难讲讲,毕竟竟很多人人更愿意意接受MMS的平平台,就就像各国国政府都都在大力力推LIINUXX已好长长时间,但但您能看看到几个个在PCC机上真真正使用用LINNUX的的用户??据我观观察,目前在在嵌入式式平台上上,LINNUX是是叫得最最响,但还是是WinnCE实实际用得得更多。嵌入式式LINNUX可可能更多多地是一一些有长长远产品品计划的的公司,,为降低低成本而而进行长长远考虑虑。此外,微软软亚洲研研究院对对我院WWinCCE课程程的支持持计划,我我们也很很希望将将来我院院能有同同学通过过微软的的面试去去实习。WWinCCE和多多媒体((如MPPEG技技术)是是微软亚亚洲工程程院目前前做得较较多的项项目领域域之一,,他们很很需要精精通WiinCEE的人。总结关于嵌入式式操作系系统类课课程,若若您觉得得自己功功底较深深且能钻钻研下去去,则可可去学嵌嵌入式LLinuux;若若您觉得得自己VVC+++功底较较好且想想短平快快地学嵌嵌入式开开发,则则我院的的WinnCE课课程是最最好的选选择。(3)嵌嵌入式开开发的其其它相关关软件课课程搞嵌入式若若能熟悉悉嵌入式式应用的的一些主主要领域域,这样样的人更更受企业业欢迎。主主要的相相关领域域包括::A、数字图图像压缩缩技术::这是嵌嵌入式最最重要最最热门的的应用领领域之一一,主要要是应掌掌握MPPEG编编解码算算法和技技术,如如DVDD、MPP3、PPDA、高高精电视视、机顶顶盒等都都涉及MMPEGG高速解解码问题题。为此此,我院院已预订订了一位位能开设设数字图图像处理理课程的的博士。B、通信协协议及编编程技术术:这包包括传统统的TCCP/IIP协议议和热门门的无线线通信协协议。首首先,大大多数嵌嵌入式设设备都要要连入局局域网或或Intternnet,所所以首先先应掌握握TCPP/IPP协议及及其编程程,这是是需首要要掌握的的基本技技术;其其次,无无线通信信是目前前的大趋趋势,所所以掌握握无线通通信协议议及编程程也是是是很重要要的。无无结通信信协议包包括无线线局域网网通信协协议8002.111系列列,Blluettootth,以以及移动动通信(如如GPRRS、GGSM、CCDMAA等)。C、网络与与信息安安全技术术:如加加密技术术,数字字证书CCA等。我我院有这这方面的的选修课课。D、DSPP技术::DSPP是DiigittalSiggnallPrroceess数数字信号号处理的的意思,DDSP处处理器通通过硬件件实现数数字信号号处理算算法,如如高速数数据采集集、压缩缩、解压压缩、通通信等。数数字信号号处理是是电子、通通信等硬硬件专业业的课程程,对于于搞软件件的人若若能了解解一下最最好。目目前DSSP人才才较缺。如如果有信信号与系系统、数数字信号号处理等等课程基基础,对对于学习习MPEEG编解解码原理理会有很很大帮助助。(4)嵌入入式开发发的相关关硬件基基础对于软件工工程专业业的学生生,从事事嵌入式式软件开开发,像像数字电电路、计计算机组组成原理理、嵌入入式微处处理器结结构等硬硬件课程程是较重重要的。另另外,汇汇编语言言、C//C+++、数据据结构和和算法、特特别是操操作系统统等软件件基础课课也是十十分重要要的。我我们的主主要目地地是能看看懂硬件件工作原原理,但但重点应应是在嵌嵌入式软软件,特特别操作作系统级级软件,那那将是我我们的优优势。我们的研究究生里有有些是学学电子、通通信类专专业过来来的,有有较好的的模拟电电路和单单片机基基础,学学嵌入式式非常合合适。嵌嵌入式本本身就是是从单片片机发展展过来的的,只是是单片机机不带OOS,而而现在很很多嵌入入式应用用越来越越复杂,以以至不得得不引入入嵌入式式操作系系统。另另外,为为追求更更高速的的信号处处理速度度,现在在在一些些速度要要求较高高的场合合,有不不少公司司是将一一些DSSP算法法,如MMPEGG压缩解解压缩算算法等用用硬件来来实现,这这就涉及及到HDDL数字字电路设设计技术术及其FFPGAA/IPP核实现现技术,这这方面的的人目前前市场上上也很缺缺。2.WiindoowCCE操作作系统WindoowsCCE是微微软公司司嵌入式式、移动动计算平平台的基基础,它它是一个个开放的的、可升升级的332位嵌嵌入式操操作系统统,是基基于掌上上型电脑脑类的电电子设备备操作系系统。WinCEE4..0及其其以后的的版本开开始用wwinddowssCEE.NEET这个个名称,比比如WiinCEE.NEET4..0、WWinCCE.NNET44.2、WWinCCE.NNET55.0、WWinCCE.NNET66.0等等,而之之前的版版本1..022.03.00用的是是winndowwsCCE这个个名称,一一般就叫叫winnce11.0、wwincce2..0、wwincce3..0。现在最新的的版本是是WinnCE..NETT6..0,而而winndowwsmmobiile是是从wiincee发展出出来的一一个用于于手机开开发的嵌嵌入式操操作系统统。说起WinndowwsCEE,其实实很多人人心里都都很迷惑惑,它有有很多版版本,而而且从WWinddowssCEE本身,也也发展出出了很多多专用于于掌上电电脑、手手持设备备等方面面的系统统,比如如ppcc等。这这里我们们先从版版本上来来看一下下整个WWinddowssCEE的发展展历程,它它与pppc以及及Smarrtphhonee的瓜葛葛我们将将在以后后的帖子子里详细细讲解~~~总结结的不对对的地方方也希望望坛友们们帮忙指指正哦::)一、WinndowwsCCE是什什么?WindoowsCE是是微软公公司嵌入入式、移移动计算算平台的的基础,它它是一个个开放的的、可升升级的332位嵌嵌入式操操作系统统,是基基于掌上上型电脑脑类的电电子设备备操作系系统,它它是精简简的Wiindoows95,WWinddowssCEE的图形形用户界界面相当当出色。其其中CEE中的CC代表袖袖珍(CComppactt)、消消费(CConssumeer)、通通信能力力(Coonneectiivitt)和伴伴侣(CComppaniion);;E代表表电子产产品(EElecctrooniccs)。与Winddowss955/988、WiindoowsNT不不同的是是,WiindoowsCE是是所有源源代码全全部由微微软自行行开发的的嵌入式式新型操操作系统统,其操操作界面面虽来源源于Wiindoows95//98,但但WinndowwsCCE是基基于WIIN322APPI重新新开发、新新型的信信息设备备的平台台。WiindoowsCE具具有模块块化、结结构化和和基于WWin332应用用程序接接口和与与处理器器无关等等特点。WWinddowssCEE不仅继继承了传传统的WWinddowss图形界界面,并并且在WWinddowssCEE平台上上可以使使用Wiindoows95//98上上的编程程工具(如如VissuallBaasicc、ViisuaalCC++等等)、使使用同样样的函数数、使用用同样的的界面风风格,使使绝大多多数的应应用软件件只需简简单的修修改和移移植就可可以在WWinddowssCEE平台上上继续使使用。二、WinndowwsCEE都有哪哪些版本本?WindoowsCE的的核心至至今已经经有1..0、22.0、33.0三三种版本本,若细细分小改改版则是是不计其其数,因因为WiindoowsCE并并非是专专为单一一装置设设计的,所所以微软软为旗下下采用WWinddowssCEE作业系系统的产产品大致致分了三三条产品品线,PPockketPC(掌掌上电脑脑)、HHanddhelldPPC(手手持设备备)及AAutooPCC。自33.0以以后,WWinddowssCEE从版本本上来看看主要有有4.00、4..2和55.0。WinCEE1.00WINCEE1.00是一种种基于WWinddowss95的的操作系系统,其其实就是是单色的的Winndowws955简化版版本。990年代代中期卡卡西欧推推出第一一款采用用WinnCE11.0操操作系统统的蛤壳壳式PDDA,算算是第一一家推出出真正称称得上手手掌尺寸寸的掌上上电脑厂厂商。作作为第一一代的WWinCCE1..0于119966年问世世,不过过它最初初的发展展并不顺顺利。当当时Paalm操作作系统在在PDAA市场上上非常成成功,几几乎成为为了整个个PDAA产品的的代名词词,在这这种情况况下,微微软公司司被迫为为最初WWinCCE的不不断改进进的同时时,微软软公司也也通过游游说、技技术支持持、直接接资助等等手段聚聚集了大大量合作作厂商,使使WinnCE类类的PDDA阵容容越来越越强大。WinCEE2.00随着Winndowws955的出现现和Wiindoows998的成成功,另另外一个个巨人——微软站站起来了了,并迅迅速地在在PC操操作系统统业界建建立了微微软帝国国。PDDA市场场的发展展潜力被被众多分分析家看看好,嗅嗅觉异常常灵敏的的“微软软”自然然不会放放过这样样一个巨巨大的市市场,在在其操作作系统帝帝国已经经非常稳稳定的前前提下,又又开始了了在PDDA市场场上的全全力冲刺刺,用WWinCCE2..0操作作系统来来打造与与Pallm非常常类似的的掌上产产品。WinCEE2.00不仅比比CE11.0快快的多,而而且的彩彩色显示示,又众众多新型型PDAA采用新新的WiinCEE2.00系统,大大有取代代Pillot的的趋势,成成为PDDA操作作系统新新的标准准。尽管管CE22.0仍仍然要比比Pillot的的操作系系统需要要的空间间要大的的多,但但它具有有Winndowws的界界面,会会用PCC的人小小编估计计没有多多少人不不会使用用微软的的操作系系统。如如果你熟熟悉Wiindoows995,在在使用WWinddowssCEE的时候候就熟门门熟路了了,就不不需要重重新学习习。而且且,两者者技术上上的相似似性,第第三方WWinddowss应用软软件开发发商们,就就可以很很容易地地把自己己的应用用软件转转换成可可供CEE运行的的版本,因因此,WWinddowssCEE的可使使用软件件的种类类将会越越来越多多的。WinCEE3.00WinCEE3.00是微软软的WiindoowsCommpacctEEdittionn,是一一个通用用版本,并并不针对对掌上产产品,标标准PCC、家电电和工控控设备上上也可以以安装运运行,但但要做许许多客户户化工作作,当然然也可以以做掌上上电脑。微软鼓鼓励大家家在任何何硬件平平台(WWinCCE3..0支持持5系列列CPUU:xx86,,PoowerrPC,,ARRM,,MIPPS,SSH3//4)上使用用(为了了和VxxWorrks,,Linnux等等竞争),所所以早期期的WIINCEE运行在在不同的的硬件平平台上。WWinCCE3..0LLiceencee费用为为$200,110LLiceencee起,批批量时大大致能降降到$115/LLiceencee。2000年年微软公公司将WWinCCE3..0正式式改名为为WinndowwsfforPocckettPCC,简称称PocckettPCC。就是是把PoockeetWWordd和PoockeetEExceel等一一些日常常所需的的办公软软件的袖袖珍版装装了进去去PocckettPCC,同时时在娱乐乐方面的的性能做做很大的的加强。当当然对于于微软的的所有举举动,捧捧场的厂厂商自然然也不会会少,加加入PoockeetPPC阵阵营的现现在就有有HP、CComppaq、CCasiio等一一些著名名厂商。当当Commpaqq的iPPAQ36330的诞诞生和在在市场的的热销,支支持和加加入PoockeetPPC阵营营的厂商商就越来来越多。220022年智能能手机商商机再现现,不少少PPCC厂商希希望推出出整合手手机功能能的PPPC,于于是在220022年8月月,专门门为手机机优化过过的微软软PocckettPCC20002PhooneEdiitioon操作作系统匆匆匆问世世,20002年年10月月,国内内第一款款PPCC手———多普达达6866上市了了,随后后熊猫推推出了CCH8660、联联想推出出ET1180。(注注:低于于3.00的WiindoowsCE没没有手机机版本,关关于PoockeetPPC(pppc))的话题题,这里里先暂停停下,后后面会讲讲到)。WinCEE4.00WinCEE.Neet(即即WinnCE4.00)是微微软于220022年1月月份推出出的首个个以.NNet为为名的操操作系统统,从名名字上我我们就可可以知道道它是微微软的..nett的一部部分。WWinCCE.NNet是是WinnCE33.0的的升级,同同时还加加入.NNetFraamewworkk精简版版,支持持蓝牙和和.Neet应用用程序开开发。WinCEE4.22WindoowsCE..NETT4..2是WWinddowssCEE.NEET44.0//4.11的升级级版,对对WinndowwsCCE先前前版本的的强大功功能进行行了进一一步的扩扩充和丰丰富,基基于其开开发的设设备将从从这些微微小但重重要的变变化中获获得更好好的性能能和更强强的Wiindoows集集成功能能。微软软在WiinCEE4.22版时曾曾提供开开放源代代码,不不过只针针对研究究单位,而而程序代代码较少少,为2200万万行。WinCEE5.00WinCEE5.00在20004年年5月份份推出,微微软宣布布WinnCE55.0扩扩大开放放程序源源代码。在在这个开开放源代代码计划划授权下下,微软软开放2250万万行源代代码程序序作为评评估套件件(evvaluuatiionkkit)。凡凡是个人人、厂商商都可以以下载这这些源代代码加以以修改使使用,未未来厂商商OEMM时,则则再依执执行时期期(Ruun-ttimee)授权权,支付付WinnCEE5.00核心每每台机器器3美元元的授权权费用,这这也是微微软第一一个提供供商业用用途衍生生授权的的操作系系统。wincee6.00wincee6..0是微微软于006年111月份份推出的的,也是是目前wwincce的最最高版本本。微软软在wiincee6..0推出出时宣布布完全公公开内核核源代码码,这是是微软难难得的大大动作,主主要是迎迎击Liinuxx、WiindRivver阵阵营长期期以来对对其定制制化不足足的攻击击。微软软硬件合合作伙伴伴可以修修改源代代码开发发定制化化的文件件系统、设设备驱动动程序与与其他元元件,而而不需分分享他们们的最终终设计给给微软或或第三方方。(注注:开源源不等于于免费,使使用wiincee6.00进行嵌嵌入式开开发,用用户仍需需要为开开发工具具plaatfoormbuiildeer付费费,为开开发板厂厂商提供供的bssp开发发包付费费,还要要为生产产的产品品付授权权费。所所以总体体来说,该该花的钱钱一分也也不会少少,只不不过以前前花了钱钱也不给给源代码码,现在在花了钱钱能给源源代码了了。)另外,ViisuaalSStuddioVissuallSttudiio220055专业版版也被包包含在WWinCE6.00的开发发工具中中,而PPlattforrmBBuillderr成为VVisuualStuudioo20005专专业版的的外挂程程序(pplugg-inn),协协助设计计人员完完成从嵌嵌入式操操作系统统定制化化到应用用程序开开发等所所有工作作,缩短短产品开开发的上上市时程程。微软软称,WWinCCE66.0可可同时支支持322,0000个程程序和每每个程序序高达22GB的的虚拟内内存定址址空间,且且保有软软件的实实时(rreall-tiime)功功能,开开发人员员可把更更多应用用程序加加入到更更复杂的的设备中中。(作作者:华华清远见见嵌入式式培训中中心)3.WiindoowsCE的的开发流流程来源:赛迪迪网-技技术社区区作者者:对手手太强这篇文章的的目的并并不是介介绍WiindoowsEmbbedddedCE开开发的方方方面面面,只是是用一个个初涉嵌嵌入式领领域的软软件开发发者的视视角来介介绍WiindoowsCE开开发中最最常用的的概念和和知识,解解决大家家会在实实际开发发中碰到到的一些些小问题题,让大大家了解解嵌入式式开发与与应用程程序开发发,到底底有哪些些不同。WindoowsCE概概述从6.0版版本开始始,WiindoowsCE的的名字改改为WiindoowsEmbbedddedCE,当当然这也也是为了了结合WWinddowssEmmbedddedd品牌作作出的改改变。CCE经过过了十年年的风风风雨雨之之后,终终于在CCE66.0这这个版本本上再次次浴火重重生了。CCE66.0经经历了CCE历史史上第二二次内核核重写,使使CE操操作系统统更加符符合当今今嵌入式式开发的的方向。CE6..0在内内核方面面的改变变主要是是为了适适应嵌入入式设备备硬件发发展的要要求,在在进程数数量方面面,从过过去最多多运行332个进进程,改改变为最最多运行行3万22千个进进程,内内存方面面从每个个进程最最多拥有有32MM虚拟内内存空间间改为最最多拥有有2G虚拟拟内存空空间。在在OS布布局方面面,将关关键的驱驱动程序序、文件件系统和和图形界界面管理理器(GGWESS)移到到了内核核中,这这样可以以更好解解决因为为CPUU在内核核态和用用户态间间切换而而造成的的性能损损失。当然,从以以上的改改变,我我们可以以看到CCE66.0较较之前版版本更加加“重量量级”了了。操作作系统领领域关于于“微内内核”的的争论已已经持续续了很多多年,CCE的改改变也许许会为某某个学派派的观点点提供支支持。但但我们必必须指出出的是,正正因为目目前的嵌嵌入式设设备硬件件已经可可以支持持比较“重重量级”的的操作系系统了,所所以CEE6..0才会会做出如如此改变变。CE针对开开发者的的另一个个转变开开始自CCE55.0,将将开发环环境PllatfformmBuuildder整整合到VVisuualStuudioo中,这这种做法法无疑减减轻了微微软维护护两套IIDE的的负担,从从另外一一个方面面来看,CCE的开开发者也也可以享享受到更更好的开开发体验验了。嵌入式开发发流程也许很多初初涉嵌入入式开发发领域的的程序员员会被一一系列的的新名词词搞得头头昏脑胀胀,在这这里,我我希望能能够将嵌嵌入式开开发的流流程展现现给大家家。嵌入式开发发主要分分为三个个比较大大的部分分:1、驱动程程序开发发这部分开发发是从硬硬件设计计开始的的,硬件件工程师师会设计计PCBB板,为为我们提提供标准准开发板板(SDDB,SStanndarrdDDeveeloppmenntBBoarrd)。当当我们拿拿到开发发板之后后的第一一件事情情就是编编写booot--loaaderr,让开开发板启启动起来来,一般般是通过过JTGGA将bboott-looadeer烧录录到开发发板中的的。我们们可以将将booot-lloadder看看作PCC中的BBIOSS,负责责硬件设设备的初初始化工工作,并并且将操操作系统统运行起起来。在在此之后后,我们们需要根根据开发发板上的的硬件开开发各种种驱动程程序,比比如串口口、USSB、鼠鼠标、视视频输入入等。最最后将这这些驱动动程序和和booot-lloadder打打包,称称为一个个板级支支持包(BBSP)。BBSP是是和开发发板的具具体硬件件紧密相相关的。所以从事这这方面开开发的工工程师往往往具有有比较强强的硬件件知识水水平。2、平台定定制我们可以将将WinndowwsCCE想象象为一盒盒积木,根根据不同同的应用用场景和和设备要要求,我我们要对对这盒积积木进行行定制,堆堆积出不不同形状状的城堡堡、动物物和生活活用品。这这个过程程称为“平平台定制制”,定定制产生生的平台台往往和和具体的的硬件设设备相关关,直接接将平台台下载到到硬件设设备上就就可以运运行了。整整个开发发过程,需需要选择择不同的的组件来来搭配出出最适合合当前硬硬件的软软件平台台。所以以要对WWinddowssCEE的组件件,也就就是CaatallogIteem,有有相当程程度的了了解。3、应用程程序开发发嵌入式设备备上的应应用程序序开发与与传统应应用程序序开发类类似,只只是要借借助于硬硬件模拟拟器或者者实际设设备对程程序进行行调试。最最常见的的嵌入式式设备应应用程序序开发,就就是WiindoowsMobbilee的移动动应用开开发。平平台定制制工程师师会在硬硬件出厂厂之前先先提供平平台相关关的SDDK,SSDK中中会包括括模拟器器。应用用开发者者可以首首先使用用模拟器器对程序序进行开开发和调调试。等等实际硬硬件出来来之后,再再将程序序转移到到实际硬硬件中。因因为WiindoowsCE采采用了很很多措施施,这种种“转移移”几乎乎是无缝缝的,所所以我们们并没有有使用“移移植”这这个词。嵌入式领域域的应用用开发其其实是普普通软件件工程师师就可以以进行的的。4.嵌入入式软件件开发培培训WindoowsCE应应用开发发培训班班课程目标

Winnce应应用开发发培训课课程可以以让学员员熟练掌掌握WiindoowsCE应应用开发发,能够够独立在在WinndowwsCCE智能能设备,PPockketPC,,WinndowwsMMobiile手手机和同同类移动动设备上上开发各各种应用用程序,熟熟练掌握握WinndowwsCCE下的的应用程程序编程程方法,如如实现应应用程序序界面、绘绘图技巧巧,基本本控件的的使用,多多线程,文文件操作作以及串串口通讯讯等。通通过课程程的深入入讲解和和实例代代码分析析,让学学员迅速速掌握WWinddowssCEE开发技技术的核核心和关关键。课课程体系系覆盖基基础知识识以及专专题开发发,使您您从入门门到精通通,一气气呵成。同同时向学学员提供供资深讲讲师多年年开发工工作中总总结的源源代码,通通过对源源代码的的详细讲讲解,使使学员能能够在短短期内掌掌握WiindoowsCE应应用开发发精髓。

培养养对象

WinndowwsCCE应用用开发工工程师、以以及希望望迅速了了解和掌掌握WiindoowsCE应应用开发发的学员员。

入学学要求

学学员学习习本课程程应具备备下列基基础知识识:

◆◆具备一一定的使使用WiindoowsCE智智能设备备(如智智能手机机或PDDA等)的的经验;;

◆◆具有一一定C//C+++语言编编程基础础。教材

◆《华清远见-WindowsCE应用开发课程讲义》

◆《华清远见-WindowsCE应用开发课程实验手册》

◆《WindowsCE嵌入式开发标准教程(修订版)》

华清远见教材编写组编著课程进度安安排(VV2.00)(最最新更新新日期::20111.002.112)时间课程大纲第一天9:00

||

12::001WinndowwsCCE开发发环境搭搭建

目标标:通过过今天课课程的学学习,学学员能够够掌握WWinddowssCEE的开发发流程,,了解模模拟器的的概念和和使用,熟熟悉WiindoowsCE应应用开发发的工具具以及开开发流程程。

11.1WinndowwsCCE操作作系统的的介绍

1.22WiindoowsCE应应用开发发流程

1.33建立立WinndowwsCCE开发发环境

1.44平台台模拟器器的建立立和使用用

1..5开开发板的的认识与与使用

1.66应用用程序的的生成与与编译13:000

|

16::00【实验】

1、安安装开发发工具

2、安安装开发发工具包包SDKK

3、建建立模拟拟器环境境

4、建建立硬件件开发板板环境

5、使使用开发发工具生生成基础础应用程程序

66、WiindoowsCE应用程程序的编编译与下下载第二天9:00

||

12::002WinndowwsCCE窗窗口消息息机制与与屏幕输输出

目标标:通过过今天课课程的学学习,学学员将掌掌握WWinddowssCEE系统事事件驱动动和消息息响应机机制,熟熟练掌握握WinndowwsCCE系统统中应用用程序的的执行流流程,建建立Wiindoows编编程的基基本理念念。并具具备编写写文字输输出程序序和屏幕幕绘图程程序的能能力。

2.11匈牙利利命名法法

2..2窗口口和消息息

2..3回调调函数

2.44WiindoowsCE中中程序的的整体结结构

22.5文文字的输输出

22.6基础屏屏幕绘图图13:000

|

16::00【实验】

1、建建立一个个HellloWorrld程程序

22、添加加窗口消消息响应应函数

3、编编写文字字输出程程序

44、编写写屏幕绘绘图程序序第三天9:00

||

12::003WinndowwsCCE下多多线程编编程,文文件操作作与串口口通信

目目标:通通过今天天课程的的学习,学学员将熟熟练掌握握WiindoowsCE系系统中多多线程编编程的方方法,熟熟练掌握握WinndowwsCCE下文文件的编编程操作作方法以以及串口口通信方方法

33.1进程和和线程的的概念

3.22多线线程的实实现。

3.33WiindoowsCE中的文文件操作作

3..4WWinddowssCEE中的串串口通信信13:000

|

16::00【实验】

1、建建立多线线程的WWinddowssCEE应用程程序

22、编程程实现文文件的建建立、删删除、读读取、写写入

33、编程程实现多多线程串串口通信信第四天9:00

||

12::004WinndowwsCCE下MMFC程程序的开开发

目标标:通过过今天课课程的学学习,学学员将熟熟练掌握握WiindoowsCE系系统中MMFC类类库的使使用,并并掌握菜菜单,对对话框,窗窗口的概概念以及及使用方方法,熟熟练掌握握WinndowwsCCE系统统中基本本控件的的概念以以及使用用方法

4..1CC++与与MFCC

4..2MMFC框框架中的的消息机机制

44.3菜单,对对话框,窗窗口编程程

4..4MMFC中中的基本本控件及及其使用用13:000

|

16::00【实验】

1、建建立基于于MFCC框架的的WinndowwsCCE应用用程序

2、编编程实现现菜单,对对话框,窗窗口的操操作与消消息通讯讯

3、编编程实现现MFCC中的基基本控件件的功能能

4、编编写WiindoowsCE下的串串口调试试工具WindoowsCE系系统定制制与驱动动开发培培训班课程目标

本课程程是WiindoowsCE5.00系统级级开发的的课程,课课程内容容包括WWinddowssCEE5..0操作作系统的的特性介介绍,开开发环境境的建立立,操作作系统的的创建和和调试,内内核修改改,板支支持包的的创建,驱驱动程序序开发等等内容。本本课程深深入基于于WinndowwsCCE的嵌嵌入式设设备的实实际开发发过程,通通过每章章精心设设计的实实验,使使学员在在学习后后,能对对WinndowwsCCE的的系统及及驱动开开发有清清晰的认认识和深深刻的理理解,能能够熟练练进行嵌嵌入式系系统相关关的项目目开发。

培养养对象

WinndowwsCCE系统统驱动开开发工程程师或WWinddowssCEE内核开开发人员员。希望望深入了了解嵌入入式WiindoowsCE系系统开发发的学员员。

入学学要求

学员学学习本课课程应具具备下列列基础知知识:

◆有计算算机相关关基础知知识;

◆◆有C语语言编程程基础(有有vc开开发经验验更佳);;

◆◆对WiindoowsCE有有一定认认识;

◆具备一一定的单单片机开开发及相相应的硬硬件知识识,如各各种接口口电路。教材

◆《华清远见-WindowsCE系统内核与驱动开发课程讲义》

◆《华清远见-WindowsCE系统内核与驱动开发课程实验手册》

◆《WindowsCE嵌入式开发标准教程(修订版)》

华清远见教材编写组编著班级规模及及环境

为了保保证培训训效果,增增加互动动环节,我我们坚持持小班授授课,每每期报名名人数限限15人人,多余余人员安安排到下下一期进进行。课程进度安安排(VV2.00)(最最新更新新日期::20111.002.112)时间课程大纲第一天9:00

||

12::00第一章嵌嵌入式系系统WiindoowsCE开开发解析析

1.11WinndowwsCCE操操作系统统特性综综述

1..2WiinCEE系统开开发综述述

1.33使用PPlattforrmBBuillderr进行系系统定制制与开发发

1.44WinndowwsCCE调试试方法解解析13:000

|

16::00实验1创创建自定定义工程程

实验22添加加USBB鼠标及及U盘驱驱动,添添加多媒媒体支持持

实验33下载载引导代代码和WWincce内核核

实验44使用用远程工工具分析析系统特特性

实验验5修修改Wiincee选项卡卡配置实实现内核核模块的的定制第二天9:00

||

12::00第二章WWincce的核核心模块块介绍与与分析

2.11Wiincee核心模模块介绍绍

2.22Wiincee内核启启动过程程分析

22.3Winnce访访问设备备地址的的实现

22.4Winnce中断介介绍

2..5WWincceOOAL层层相关代代码分析析13:000

|

16::00实验1修修改Boootloaaderr代码实实现开机机loggo

实验验2通通过地址址映射操操作外部部IO地地址,实实现LEED控制制

实验33添加加外部中中断,进进行中断断触发实实验第三天9:00

||

12::00第三章WWincce的设设备驱动动解析

33.1设设备驱动动的分类类-流接接口驱动动与内建建驱动

33.2标标准流接接口驱动动介绍

33.3流流接口设设备驱动动的架构构

3.44流接口口设备驱驱动的加加载过程程

3.55基于标标准串口口驱动详详细分析析流接口口驱动13:000

|

16::00实验1实实现标准准的流接接口驱动动

实验22实现现应用程程序和流流接口驱驱动的通通信第四天9:00

||

12::00第三章WWincce的设设备驱动动解析(续续)

3..6内内建驱动动程序的的框架

33.7内建驱驱动程序序与操作作系统的的接口

33.8内建驱驱动程序序典型应应用之触触摸屏驱驱动程序序的分析析

3.99内建建驱动程程序典型型应用之之FLAASH驱驱动程序序的分析析

3.110内内建驱动动程序典典型应用用之电源源管理驱驱动的分分析13:000

|

16::00实验1触触摸屏驱驱动校正正实验

实实验2通过电电源管理理驱动实实现节电电管理第五天9:00

||

12::00第四章WWincce系统统内核定定制进阶阶开发

44.1Winnce系统文文件目录录的定制制

4.22Wiincee开机启启动顺序序的控制制

4.33Wiincee下通通过内核核定制实实现快捷捷加密

44.4硬件看看门狗在在系统层层的应用用13:000

|

16::00实验1定定制个性性化的系系统目录录

实验22实现现开机隐隐藏桌面面,自启启动应用用程序

实实验3通过读读取特定定的内核核模块实实现程序序加密

实实验4通过硬硬件看门门狗的实实现保障障系统的的稳定运运行WindoowsMobbilee手机应应用开发发培训班班(TSSWM005211)课程目标

参加WWinddowssMoobille培训训课程可可以让学学员熟练练掌握WWinddowssMoobille手机机软件开开发,能能够独立立在WiindoowsMobbilee手机和和同类移移动设备备上开发发各种软软件应用用程序,如如应用程程序界面面、绘图图技巧、多多线程多多进程、存存储对象象、通讯讯程序、游游戏开发发、电话话相关编编程等。同同时免费费向学员员提供资资深讲师师多年开开发工作作中总结结的开发发类库源源代码,及及其对源源代码的的详细讲讲解,使使学员能能够在短短期内掌掌握WiindoowsMobbilee手机软软件开发发精髓。

培养养

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论