首先,WinCE要跑在硬件上,所以我建议一定要学习ARM的体系结构,弄明白里面的一些基本原理,比如处理器模式、寄存器设置、异常系统以及存储系统等等。
参考书籍:《ARM体系结构与编程》---杜春雷
《ARM嵌入式系统开发:软件设计与优化》--大牛推荐
其次,学习WinCE的应用程序编程,了解Win32的系统架构,这部分只要了解就可以了,主要是为了以后编写驱动测试程序用的。
参考书籍:《wince编程第三版》
第三,WinCE嵌入式系统的全面了解,这是我建议,先从全面上了解WinCE嵌入式系统的整体开发组成以及一些基本的概念有一个初步的认识,这里会发现很多不明白,但是还是要看一遍,等以后遇到相关的问题时,可以返回来看看,这样的学习效果会比较好的。
第三,WinCE嵌入式系统的全面了解,这是我建议,先从全面上了解WinCE嵌入式系统的整体开发组成以及一些基本的概念有一个初步的认识,这里会发现很多不明白,但是还是要看一遍,等以后遇到相关的问题时,可以返回来看看,这样的学习效果会比较好的。
参考书籍:《Windows_CE嵌入式系统》---何宗键
第四,BSP学习。前面都是理论基础的学习,从这里开始源码学习。源码的学习肯定得从BSP开始,选择一款开发板,看看别人的源码是怎么写的,最好能比较几款开发板的BSP,这样通过比较的学习效果会比较好。重点是BootLoader启动过程以及WinCE的启动过程,这部分一定要细细的看,虽然这部分改动会比较小,但是看懂了,对以后WinCE的底层开发非常有帮助。
参考书籍:《Windows CE工程实践完全解析》---大牛推荐
第五,WinCE驱动学习。其实BSP开发过程中,已经渗透了一些驱动的知识,所以上一步如果学好了,这一步就比较好走了。驱动可以分两步,刚开始做一些简单的流驱动类的,之后进行分层驱动的开发。
参考书籍:《WinCE 设备驱动程序开发指南》
《Windows CE设备驱动及BSP开发指南.》---周建设
最后,恭喜你,你已经入门了,现在可以挑战一些小项目了。要成为高手还是要实践出真知的。
目前我已经进行完了第四步,正在第五步进行中。记住一点不要急,把每一步都学扎实了,你会发现,后面的学习总是渗透着前面的知识,回头再学习的时候,就会明白很多的。