您现在的位置是: 首页 > IT百科 IT百科

wince设备驱动程序开发指南_windows设备驱动程序开发

ysladmin 2024-05-25 人已围观

简介wince设备驱动程序开发指南_windows设备驱动程序开发       我很荣幸能够为大家解答关于wince设备驱动程序开发指南的问题。这个问题集合囊括了wince设备驱动程序开发指南的各个方面,我将从多个角

wince设备驱动程序开发指南_windows设备驱动程序开发

       我很荣幸能够为大家解答关于wince设备驱动程序开发指南的问题。这个问题集合囊括了wince设备驱动程序开发指南的各个方面,我将从多个角度给出答案,以期能够满足您的需求。

1.嵌入式底层驱动开发需要哪些方面的知识,具体点的,新手求告知

2.如何将GPS导航仪wince系统改成安卓系统

3.有没有支持WINCE系统的USB无线网卡

4.Windows CE是什么系统?

wince设备驱动程序开发指南_windows设备驱动程序开发

嵌入式底层驱动开发需要哪些方面的知识,具体点的,新手求告知

       嵌入式底层驱动开发需要哪些方面的知识,具体点的,新手求告知

        嵌入式底层开发,需要你精通c语言,c语言可以操作底层,其次,你要熟悉汇编,很多东西比如程序怎么执行的,需要你反汇编之后才能知道。你还需要了解,arm体系结构。uc的的知识,你也需要知道,用户空间的编程基本是用uc写的,学习uc,建议买本书。uinux高级环境编程,把这本书学好了,用户空间的编程基本没问题,建议你初次学习编程,买本嵌入式驱动的书看看吧

        希望可以帮到你,望选为满意回答

嵌入式驱动开发要具备哪些方面的知识

        嵌入式驱动开发需要了解的知识大概有以下几类:

        1 嵌入式操作系统驱动框架。每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具 *** 置与构建驱动程序的主要事项

        2 总线知识,比如PCI、USB总线。

        3 芯片知识。驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理

        4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识

        5 C++基本用不上,主要是C和汇编。

        6 做驱动最好要懂内核调试(比如说linux)

嵌入式驱动开发需要哪些硬件知识

        计算机组成技术,单片机原理及开发技术,C程序设计,计算机操作系统,硬件驱动主要是和底层的接口,学习一下模拟电子技术和数字电子技术最基础的内容就好。

嵌入式驱动开发需要了解的知识大概有哪些呢?

        嵌入式驱动以及嵌入式Linux内核开发主要用的都是C语言,JAVA是基于上层开发的语言,而C是基于底层驱动开发的。所以如果想要做好嵌入式驱动开发主要是要把C语言基础打好,这样对以后的发展会有很大帮助的。再则需要了解一点硬件方面的知识,例如单击片或者开发板和开发软件工具使用。下面就由福州卓跃教育具体介绍如何学习嵌入式驱动。

        如何开始学习嵌入式驱动开发? 是每个想学习嵌入式驱动开发初学者的第一个问号.由于嵌入式开发较上层类软件开发的特殊性,如果没有相应的仪器设备及一个很好的环境,对初学者来说简直就是梦魇,如果没有相应的指导,可能就要多摔几个跟头和多消耗一些脑细胞,因为驱动开发不像上层类的开发那么直观,写个程序就可以在PC机上直接查看了,驱动开发只有烧到板子上才能验证。

       

        嵌入式驱动开发需要了解的知识大概有以下几类:

        1 嵌入式操作系统驱动框架。每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具 *** 置与构建驱动程序的主要事项

        2 总线知识,比如PCI、USB总线。

        3 芯片知识。驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理

        4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识

        5 C++基本用不上,主要是C和汇编。

        6 做驱动最好要懂内核调试(比如说linux)

        另外嵌入式开发涉及的知识面还是非常多的,包括选型的CPU类型和他的体系结构,CPU上提供的外围接口,以及为某个特殊功能而加入的外围设备.这些是一个合格嵌入式开发人员需要掌握的最基本的知识。

        对我们作为嵌入式开发提出了更高的要求,重要的一点是嵌入式开发多是看不到摸不着的东西,相对来说非常的抽象,所以这时候就要借助一些测量设备来协助我们,比如基础的万用表,示波器,电流计,频率计,Trace32等甚至一些为方便开发自己做的一些小工具,当然不限于硬件和软件的.

基于linux的嵌入式底层驱动开发应该怎样系统的学习?注意哪些方面?

        1、国内的书内容都差不多,相互抄来抄去。

        国外的书质量虽然高,但是一般人阅读速度吃不消。

        不过,还是建议读国外的书(如果有时间的话),长痛不如短痛。

        2、不一定非要有开发板,可以用skyeye等软件模拟。

        但是,软件模拟和实体机肯定是有区别的。还是建议选一块开发板。

        3、ARM板是个硬件,可以用来学习WinCE、Vxworks、Linux、uCos等等系统开发。

        可以用来学习以上系统的驱动和应用开发。

        Linux驱动分两块内容:学习硬件工作流程(单片机程序),

        Linux驱动上层结构

        (platform、mtd、字符设备、块设备、网络设备、各种总线 等上层结构)

        4.前景大大滴好,但是道路十分之曲折。

        要有心里准备,得有文火久煨的毅力。

嵌入式开发的方面的知识?

        看你的兴趣应该是软件方面的,没什么特殊要求,基础知识扎实就行,编译原理,操作系统原理,C/C++,数据结构等课程要好好学!

如何自学linux驱动开发,做驱动开发需要哪些方面的知识

        做嵌入式应用的话一般的编程就可以了。那么嵌入式驱动开发与内核开发的话就需要学习多个方面的知识。我就把这方面的要求给你交流一下:

        (一家之言啊,自己多年从事嵌入式开发的一点感悟)

        嵌入式驱动开发需要了解的知识大概有以下几类:

        1 嵌入式操作系统驱动框架。每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具 *** 置与构建驱动程序的主要事项

        2 总线知识,比如PCI、USB总线。

        3 芯片知识。驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理

        4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识

        5 C++基本用不上,主要是C和汇编。

        6 做驱动最好要懂内核调试(比如说linux)

学习嵌入式 要学习哪些方面的知识

        从基础来,入门后分向硬软两个方向偏重:

        基础:计算机基础,数据结构,软件工程,C编程,C++原理,单片机原理,微机原理,计算机体系结构

        软件偏重:Linux系统编程,软件工程高级,操作系统

        硬件偏重:数字电路,FPGA,电路设计,自动控制

嵌入式开发工程师和嵌入式底层驱动开发工程师一样么

        嵌入式开发工程师,严格意义上还会分为应用开发、QT开发、底层开发工程师等。所做的工作,在整个嵌入式开发体系里面是不一样的。南京有一家培训机构叫英贝得嵌入式学院,好像在南京雨花软件园,你上他们官网英贝得教育向老师了解一下,了解一下就可以了。

如何将GPS导航仪wince系统改成安卓系统

       关于这个方向,我认为大概分3个阶段:

       1、嵌入式linux上层应用,包括QT的GUI开发

       2、嵌入式linux系统开发

       3、嵌入式linux驱动开发

       嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等

       Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。

       所以你可以尝试以下路线:

       (1)C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。

       推荐书籍:《TheCProgrammingLanguage》这本经典的教材是老外写的,也有中译版本。

       (2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。

       (3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。

       推荐书籍:《UNIX环境高级编程》(第2版)

       (4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。

       (5)系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。

       (6)驱动开发

       linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。

       linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。

       以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

       嵌入式非常难,看书的话比较晦涩难懂,不容易入门,我个人比较偏向于看视频教程,因为有老师带着比较容易入门。给看看一篇文章是关于一位专科生怎么自学嵌入式的。

       做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。

       退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。

       一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。

       回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。

       后来,我在百度知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。

       我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。

       主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。

       后来我又找到一份很好的视频,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制sina.lt/qKh粘贴浏览器按回车键即打开)。里面的教程还不错,很完整,可以让我从基础的开始学起。视频比较便宜。

       下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。

       收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。

       接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。

       这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。

       最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右

       我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。

       后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。

       把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。

有没有支持WINCE系统的USB无线网卡

       GPS导航仪wince系统改成安卓系统,是不可以的。两者不是一个公司的产品,驱动与配置都不相同,无法互刷。

       两者的区别:

       1、两个操作系统分属两家公司,两个阵营。

       Windows CE是微软公司嵌入式、移动计算平台的基础;Android由Google公司和开放手机联盟领导及开发。

       2、开发平台不同。

       Windows CE是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统;Android是一种基于Linux的自由及开放源代码的操作系统。

       两者的定义:

       一、Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。

       Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32 bit嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。它是精简的Windows 95,Windows CE的图形用户界面相当出色。

       二、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。

       2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。

扩展资料:

       

       Android作为嵌入式Linux OS与Windows CE相比的优点:

       第一:Linux是开放源代码,遍布全球的众多Linux爱好者都是Linux开发者的强大技术支持者;Windows CE目前6.0内核全部开放,GUI不开放。

       第二:Linux的内核小、效率高;Windows CE相比,占用过多的RAM。

       第三Linux是开放源代码的OS,在价格上极具竞争力,适合中国国情。Windows CE需要版权费用。

       第四Linux不仅支持x86芯片,还是一个跨平台的系统。更换CPU时就不会遇到更换平台的困扰。

       第五,Linux内核的结构在网络方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持,目前WINCE的网络功能也比较强大。

       嵌入式Linux OS与Windows CE相比的弱点:

       第一:LINUX开发难度较高,需要很高的技术实力,WINCE开发相对较容易,开发周期短,内核完善,主要是应用层开发。

       第二:LINUX核心调试工具不全,调试不太方便,尚没有很好的用户图形界面,WINCE的GUI丰富,开发工具强大。

       第三,系统维护难度大。Linux占用较大的内存,如果去掉部分无用的功能来减小使用的内存,但是如果不仔细,将引起新的问题。

       附:GPS导航仪wince系统是无法改成安卓系统系统,可以为winCE5.0/wince6.0的导航升级。

       以凯立德导航升级为例,步骤如下:

       1、打开车载导航,点右下角选择框。

       2、点击“功能”按钮。

       3、在打开的功能界面里选择”关于“。

       4、在关于界面选择“版本信息”。

       5、版本信息里查看版本号。

       6、安版本号,下载相应的凯立德程序。

       7、下载最新的地图包。

       8、地图包复制到主程序NaviOne文件里。把主程序复制到内存卡里。

       注意:先把内存卡格式化(FAT32),在把主程序复制到卡的根目录(是主程序文件夹里的全部文件复制到内存卡,而不是复制主文件夹,根目录是内存卡格式化后打开后什么东西都没有的那个空白界面)。

       9、把TF卡插入到导航仪会进行数据加载,出现一个界面是‘听到声音点这里’,如果听到声音就点击那个按钮。系统会进入到导航界面,会进行搜星及定位。

       

参考资料:

       百度百科——Windows CE

       百度百科——Android

Windows CE是什么系统?

       一般网卡都不行,网络上有WINCE5.0/6.0的驱动,不过X86的很少,可以看开发板配的网卡一般有X86驱动。

       USB无线网卡直接接在电脑的USB接口上,与大功率无线网卡不同,不可同等,但是确可以加大功率,属于无线网络接收器。

       一种以内置雷凌3070芯片为核心的网卡,连接电脑USB接口,自动搜索附近大面积的无线网络,配合黑客软件解密,强行“共享”无线网络的“无线网卡”,实现免费无线上网。

       USB无线网卡与常用普通网卡不同,USB无线网卡常采用低辐射高灵敏度雷凌3070芯片,价格昂贵,同时配备了密码破解软件。它本质上就是一种无线网卡核心的装置,搜寻网络能力要强,配备BT7黑客软件,免费上网别人的无线网络,只要附近有有线宽带的地方,基本都会有无线网络。

       普通用户无线网络密码设置比较简单,BT7黑客软件在几分钟内可一键破解。一般情况下,USB无线网卡上网者如果不是大流量下载,就不太容易被真正的用户觉察到。

       其实,合法的宽带用户只要登录无线路由器,就能察看是否有人在蹭网,而通过MAC地址过滤,限制的方式,就可以把对方“踢”走。

扩展资料:

       USB无线网卡,这种网卡不管是台式机用户还是笔记本用户,一种以内置无线WIFI芯片,并通过USB接口传输的网卡,连接电脑USB接口,安装完成驱动以后,电脑网卡列表中会出现新的无线网卡设备。

       通过USB无线网卡上网。很多都市办公人员,外出办公时都是使用USB无线网卡上网来完成工作的。

       使用时把无线网卡插入USB接口后指示灯会亮起,计算机会自动识别该无线网卡,如果无线网卡没有问题,会在右下角显示“新硬件已安装并可以使用”。

参考资料:

百度百科-USB无线网卡

       WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。\x0d\  其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivit)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。 \x0d\  WindowsCE版本主要有1.0、2.0、3.0、4.0、4.2、5.0 和6.0\x0d\  WinCE1.0 : \x0d\  WINCE1.0是一种基于Windows95的操作系统,其实就是单色的Windows95简化版本。90年代中期卡西欧推出第一款采用WinCE1.0操作系统的蛤壳式PDA,算是第一家推出真正称得上手掌尺寸的掌上电脑厂商。作为第一代的WinCE1.0于1996年问世,不过它最初的发展并不顺利。当时Paim操作系统在PDA市场上非常成功,几乎成为了整个PDA产品的代名词,在这种情况下,微软公司被迫为最初WinCE的不断改进的同时,微软公司也通过游说、 \x0d\  技术支持、直接资助等手段聚集了大量合作厂商,使WinCE类的PDA阵容越来越强大。 \x0d\  WinCE2.0 : \x0d\  随着Windows95的出现和Windows98的成功,另外一个巨人-微软站起来了,并迅速地在PC操作系统业界建立了微软帝国。PDA市场的发展潜力被众多分析家看好,嗅觉异常灵敏的“微软”自然不会放过这样一个巨大的市场,在其操作系统帝国已经非常稳定的前提下,又开始了在PDA市场上的全力冲刺,用 \x0d\  WinCE2.0操作系统来打造与Palm非常类似的掌上产品。 \x0d\  WinCE2.0不仅比CE1.0快的多,而且的彩色显示,又众多新型PDA采用新的WinCE2.0系统,大有取代Pilot的趋势,成为PDA操作系统新的标准。尽管CE2.0仍然要比Pilot的操作系统需要的空间要大的多,但它具有Windows的界面,会用PC的人小编估计没有多少人不会使用微软的操作系统。如果你熟悉Windows95,在使用WindowsCE的时候就熟门熟路了,就不需要重新学习。而且,两者技术上的相似性,第三方Windows应用软件开发商们,就可以很容易地把自己的应用软件转换成可供CE运行的版本,因此,WindowsCE的可使用软件的种类将会越来越多的。 \x0d\  WinCE3.0: \x0d\  WinCE3.0是微软的Windows Compact Edition,是一个通用版本,并不针对掌上产品,标准PC、家电和工控设备上也可以安装运行,但要做许多客户化工作,当然也可以做掌上电脑。 微软鼓励大家在任何硬件平台(WinCE3.0支持5系列CPU: x86, PowerPC, ARM ,MIPS,SH3/4) 上使用(为了和VxWorks,Linux等竞争),所以早期的WINCE运行在不同的硬件平台上。WinCE3.0 Licence费用为$20 ,10 Licence起,批 \x0d\  量时大致能降到$15/Licence。 \x0d\  2000年微软公司将WinCE3.0正式改名为Windows for Pocket PC,简称Pocket PC。就是把Pocket Word和Pocket Excel等一些日常所需的办公软件的袖珍版装了进去Pocket PC,同时在娱乐方面的性能做很大的加强。当然对于微软的所有举动,捧场的厂商自然也不会少,加入Pocket PC 阵营的现在就有HP、Compaq、Casio等一些著名厂商。当Compaq的iPAQ 3630的诞生和在市场的热销,支持和加入Pocket PC阵营的厂商就越来越多。2002年智能手机商机再现,不少PPC厂商希望推出整合手机功能的PPC,于是在2002年8月,专门为手机优化过的微软Pocket PC 2002 Phone Edition操作系统匆匆问世,2002年10月,国内第一款PPC手机--多普达686上市了,随后熊猫推出了CH860、联想推出ET180\x0d\  WinCE4.0: \x0d\  WinCE.Net(即WinCE 4.0)是微软于2002年1月份推出的首个以.Net为名的操作系统,从名字上我们就可以知道它是微软的.net的一部分。WinCE.Net是WinCE3.0的升级,同时还加入.Net Framework精简版,支持蓝牙和.Net应用程序开发。 \x0d\  WinCE4.2 : \x0d\  WindowsCE.NET 4.2是WindowsCE.NET 4.0/4.1的升级版,对Windows CE先前版本的强大功能进行了进一步的扩充和丰富,基于其开发的设备将从这些微小但重要的变化中获得更好的性能和更强的Windows集成功能。微软在WinCE4.2版时曾提供开放源代码,不过只针对研究单位,而程序代码较少,为200万行。 \x0d\  WinCE5.0: \x0d\  WinCE5.0在2004年5月份推出,微软宣布WinCE5.0扩大开放程序源代码。在这个开放源代码计划授权下,微软开放250万行源代码程序作为评估套件(evaluationkit)。凡是个人、厂商都可以下载这些源代码加以修改使用,未来厂商OEM时,则再依执行时期(Run-time)授权,支付Win CE5.0核心每台机器3美元的授权费用,这也是微软第一个提供商业用途衍生授权的操作系统。 \x0d\  Windows CE 6.0: \x0d\  2006年11月,微软公司其最新的嵌入式平台Windows Embedded CE 6.0正式上市。作为业内领先的软件工具,Windows Embedded CE 6.0将为多种设备构建实时操作系统,例如:互联网协议(IP)机顶盒、全球定位系统(GPS)、无线投影仪,以及各种工业自动化、消费电子以及医疗设备等。 \x0d\  在Windows Embedded诞生十周年之际,微软将首次在“共享源计划(Microsoft? Shared Source programme)”中100%毫无保留地开放Windows Embedded CE 6.0内核,(GUI图形用户界面不开放)比Windows Embedded CE的先前版本的开放比例整体高出56%。“共享源计划”为设备制造商提供了全面的源代码访问,以进行修改和重新发布(根据许可协议条款),而且不需要与微软或其他方共享他们最终的设计成果。尽管Windows操作系统是一个通用型计算机平台,为实现统一的体验而设计,设备制造商可以使用Windows Embedded CE 6.0这个工具包为不同的非桌面设备构建定制化的操作系统映像。通过获得Windows Embedded CE源代码的某些部分,比如:文件系统、设备驱动程序和其他核心组件,嵌入式开发者可以选择他们所需的源代码,然后编译并构建自己的代码和独特的操作系统,迅速将他们的设备推向市场。 \x0d\  微软还将Visual Studio 2005专业版作为Windows Embedded CE 6.0的一部分一并推出。这对微软来说又是一次史无前例的突破。Visual Studio 2005专业版将包括一个被称为Platform Builder的功能强大的插件,它是一个专门为嵌入式平台提供的“集成开发环境”。这个集成开发环境使得整个开发链融为一体,并提供了一个从设备到应用都易于使用的工具,极大地加速了设备开发的上市。 \x0d\  Windows Embedded CE 6.0重新设计的内核具有32,000个处理器的并发处理能力,每个处理有2GB虚拟内存寻址空间,同时还能保持系统的实时响应。这使得开发人员可以将大量强大的应用程序融入到更智能化、更复杂的设备中。无论在路上、在工作还是在家里,都可以使用这种设备。 \x0d\  在路上: Windows Embedded CE 6.0加入了新的单元核心数据和语音组件,这使得设备能够通过蜂窝通讯网络建立数据连接和语音通话,从而实现机器对机器的通讯应用场景,并构建相应的设备,如停车表、自动售货机和GPS设备等。 \x0d\  在工作上: Windows Embedded CE 6.0包含的组件更便于开发者创建通过Windows Vista内置功能无线连接到远程桌面共享体验的投影仪。 \x0d\  在家中: Windows Embedded CE 6.0充分利用了多媒体技术,以开发网络媒体设备、数字视频录像机和IP机顶盒等。 \x0d\  最新功能\x0d\  目前最新的Windows CE为Windows CE 6.0,这个版本在内核部分有很大的进步:\x0d\  所有系统元件都由EXE改为DLL,并移到 kernel space.\x0d\  全新设计的虚拟内存架构\x0d\  全新的设备驱动程序架构,同时支持 User Mode 与 Kernel Mode 两种驱动程序。突破只能运行 32 个工作元(process)的限制,可以运行 32768 个工作元。每一工作元的的虚拟内存限制由32 M 增加到全系统总虚拟内存。Platform Builder IDE 集成到 Microsoft Visual Studio 2005。新的安全架构,确保只有被信任的软件可以在系统中运行。UDF 2.5 文件系统。支持 802.11i (WPA2)及 802.11e (QoS) 等无线规格,及多重 radio support.\x0d\  支持 x86, ARM, SH4, MIPS 等各种处理器。提供新的 Cellcore components 使系统在移动电话网络中更容易创建数据链接及激活通话。[1][2]在开发环境上,微软也提供兼容于.NET Framework的开发元件:.NET Compact Framework,让正在学习.NET或已拥有.NET程序开发技术的开发人员能迅速而顺利的在搭载Windows CE .NET系统的设备上开发应用程序。\x0d\  用于掌上电脑Pocket PC以及智能手机Smart Phone上的Windows CE系统称为Windows Mobile,目前成熟的最新版本为Windows Mobile 6.5。\x0d\  1) WinCE与Linux有何区别?(商业模式,学习和开发难度,对硬件的支持,稳定性,对工程师未来发展的帮助,对研发中心未来发展的帮助) \x0d\  嵌入式Linux OS与Windows CE相比的优点: \x0d\  第一:Linux是开放源代码,遍布全球的众多Linux爱好者都是Linux开发者的强大技术支持者;Windows CE目前6.0内核全部开放,GUI不开放。第二:Linux的内核小、效率高;Windows CE相比,占用过多的RAM。第三Linux是开放源代码的OS,在价格上极具竞争力,适合中国国情。Windows CE需要版权费用。第四Linux不仅支持x86芯片,还是一个跨平台的系统。更换CPU时就不会遇到更换平台的困扰。第五,Linux内核的结构在网络方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持,目前WINCE的网络功能也比较强大。 \x0d\  嵌入式Linux OS与Windows CE相比的弱点: \x0d\  第一:LINUX开发难度较高,需要很高的技术实力,WINCE开发相对较容易,开发周期短,内核完善,主要是应用层开发。第二:LINUX核心调试工具不全,调试不太方便,尚没有很好的用户图形界面,WINCE的GUI丰富,开发工具强大;第三,系统维护难度大。Linux占用较大的内存,如果去掉部分无用的功能来减小使用的内存,但是如果不仔细,将引起新的问题。 \x0d\  2) WinCE 5.0与6.0有何区别? \x0d\  100%毫无保留地开放Windows Embedded CE 6.0内核,微软还将Visual Studio 2005专业版作为Windows Embedded CE 6.0的一部分一并推出。Visual Studio 2005专业版将包括一个被称为Platform Builder的功能强大的插件,它是一个专门为嵌入式平台提供的“集成开发环境”。这个集成开发环境使得整个开发链融为一体,并提供了一个从设备到应用都易于使用的工具,极大地加速了设备开发的上市。Windows Embedded CE 6.0重新设计的内核具有32,000个处理器的并发处理能力,每个处理有2GB虚拟内存寻址空间,同时还能保持系统的实时响应,加入了新的单元核心数据和语音组件,6.0包含的组件更便于开发者创建通过Windows Vista内置功能无线连接到远程桌面共享体验的投影仪,充分利用了多媒体技术,以开发网络媒体设备、数字视频录像机和IP机顶盒等。 \x0d\  3) 请说出10个使用WinCE的产品(其中有5个产品是大家都知道的)。 \x0d\  手机,指纹识别系统,汽车电子检测设备,智能家电,医疗仪器(例如:监护仪,心电检测仪等等),工业控制仪器(例如:人机界面显示的高精准电机控制,工业采集控制通信等),定位导行设备(例如:车载GPS导航仪), \x0d\  4) 请说出10个使用Linux的产品(其中有5个产品是大家都知道的) \x0d\  摩托罗拉A系列(明),E系列(E6,E680等),爱国者MP5(如P881)\x0d\  5) WinCE 与 Vxworks有何区别?(商业模式,学习和开发难度,对硬件的支持,稳定性,对工程师未来发展的帮助,对研发中心未来发展的帮助) \x0d\  WinCE商业模式: \x0d\  Windows Embedded CE 6.0使用了基于数量的特许许可证模式,设备制造商可以在设备开始供货时再购买运行许可证。微软将提供知识产权保护(根据许可协议条款)和为期10年的产品支持生命周期,确保产品的完整性,并保证厂商得到必要的支持和保护以获得成功。\x0d\  Windows CE 休眠唤醒全面解析\x0d\  Windows CE 作为一个广泛应用于移动便携设备上的操作系统,提供了完善的电源管理的功能。其中,休眠唤醒便是一个重要的功能。那么,休眠唤醒是什么原理呢,这首先要从硬件说起。这里呢,我就拿用自己得最熟练的三星平台的2440 CPU为例来和大家探讨一下。\x0d\  首先看2440 Datasheet 里关于休眠部分的描述\x0d\  SLEEP ModeThe block disconnects the internal power. So, there occurs no power consumption due to CPU and the internal logic except the wake-up logic in this mode. Activating the SLEEP mode requires two independent power sources. One ofthe two power sources supplies the power for the wake-up logic. The other one supplies other internal logics ,including CPU, and should be controlled for power on/off. In the SLEEP mode, the second power supply source forthe CPU and internal logics will be turned off. The wakeup from SLEEP mode can be issued by the EINT[15:0] or by RTC alarm interrupt.\x0d\  上面这段话大意就是,当CPU进入休眠模式后,整个CPU系统会进入低功耗模式,只有当外部中断0-15中任意一个中断被触发,或者实时时钟中断被触发时,系统才会被唤醒。我们结合2440 wince5.0 BSP中的相关部分来详细分析。\x0d\  (这里说句题外话,现在市面流传着2种类型的wince5.0的BSP,一种是基于三星官方发布的PQOAL结构的,另一种,是从4.2的BSP升级上来的,也就是把原来4.2下的 BSP经过修改,使得能够在PB5.0下编译通过。下面我要分析的就是后者,也就是从 wince4.2下升级过来的5.0 BSP.他的结构和4.2下面的基本相同。\x0d\  按我的观点,这两种BSP 无所谓好坏,只要能实现产品功能的,就是好的BSP.不过从长远来看,微软主推的是PQOAL结构的BSP,以后官方发布的5.0和6.0的BSP,基本都是采用的这种结构。)\x0d\  使得系统进入休眠的方法有很多,比如在WINCE的桌面上,点左下角的图标,然后选择 “挂起”。或者是在应用程序或驱动中调用SetSystemPowerState函数,都可以让系统进入休眠状态。实际上,这两种方法殊途同归,最终都是要去调一个 OEM层的函数 : OEMPowerOff\x0d\  .

       好了,关于“wince设备驱动程序开发指南”的话题就到这里了。希望大家通过我的介绍对“wince设备驱动程序开发指南”有更全面、深入的认识,并且能够在今后的实践中更好地运用所学知识。