您的位置:首页 > 其它

应该如何学习wince驱动?

2013-08-18 09:44 155 查看
应该如何学习wince驱动? ---2013/8/18
cds
网上看到一篇旧贴,发帖人是gooogleman老师,和大家探讨“应该如何学习wince驱动?”。我把他提的问题和大家的跟帖总结一下,便于学习。

原帖:http://bbs.csdn.net/topics/330117028

我的CSDN博客:http://blog.csdn.net/chendesheng1988

问题:

一、你认为wince驱动工程师有必要学习bootloader吗?

回答:


有必要!!!

(1)
因为bootloader涉及了ARM的大量体系结构知识,通过学习bootloader,我们会掌握很多ARM的基础知识,还有调试板子硬件是要bootloader配合的,这个在一些中小型公司都要求具备这个能力的。

(2)
虽然bootloader和wince实体image是分离的但是还是需要了解,因为一般公司面试都会问你bootloader,作为一个产品是一体的。

(3)
对于了解ARM9、ARM11的工作过程及WINCE会有初步了解,且BOOTLOADER的某些知识比简单的驱动还有价值。

(4)
如果做底层很有必要。

(5)
我觉得学习bootloader是必须的,否则没有经过bootloader这一个阶段而直接跳到Wince驱动开发就会给人架空的感觉



二、你认为wince驱动工程师应该掌握什么硬件技能?

回答:

(1)
数字电路尤其重要,模拟电路也要适当的懂一些,一般说来驱动工程师需要有分辨硬件和驱动的问题能力,所以一些基础调试技巧是必要的,最基本的就是示波器,万用表的使用了。

(2)
会看原理图,会看pcb,会用示波器万用表,能给出硬件工程师一些硬件上开发的建议。

(3)
常用的数字电路分析,常用芯片及接口的原理及时序。

(4) pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路;SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬件描述语言做专用芯片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发。

(5)
数电、模电和单片机



三、你认为wince驱动工程师应该掌握什么软件技能?

回答:

(1)
调试一个驱动,需要用应用程序配合的,一些简单的应用程序要会写的,比如MFC的一些应用,调用驱动,验证是否成功等。不过可怜的是很多公司要求驱动和应用都做;wince驱动工程师以前一直有人网上说用C就够了,后来才发现c++在多层驱动中大量采用,所以wince驱动工程师需要具备汇编,C以及C++的能力的。

(2)
熟练C/C++,掌握汇编的基本知识,至少bootloader能读的差不多知道是干吗。

(3)
最起码要会用C语言等基于VS或者EVC编写简单的测试程序。

(4) bootloader的编写,修改,通过这步熟悉ARM硬件结构,学习ARM汇编语言,阅读ARM的芯片手册,感觉就是像操作51单片机一样操作ARM芯片.这一步最好的两个参考资料就是:芯片手册和bootloader源代码。

(5)
关键是调试和嵌入式操作系统



四、你认为wince驱动工程师第一个驱动应该是什么?

回答:

(1)
我觉得第一个驱动应该选个单层的流驱动开始,具体就不做限制了,比如按键驱动就是比较好的选择。

(2) IO口控制的一个流式驱动。

(3) USB、串口

五、你认为wince驱动工程师有哪几个驱动有必要当做经典驱动来学习?

回答:

(1)
单层流驱动:关机按键驱动;多层流驱动:串口驱动;本机驱动:触摸屏驱动。

(2) LCD,USB,DM9000等。

(3) Backlight、USB、网络、LCD

六、你认为懂单片机C51能够直接跳到wince驱动学习吗?

回答:

(1)
可以,因为俺就是没有学过ARM7,支持从c51到ARM9 2440的。呵呵。貌似也经历了很多波折,大学买2410想直接Linux,bootloader也不看,结果被打击了,把板子卖了,呜呜,提起了伤心往事。后来毕业设计又买个2440来做,就终于有点上道了

(2)
需要一个porting的过程。不过应该还行吧。

七、你认为wince驱动工程师应该掌握哪些操作系统知识?

回答:

(1) ucos很简单,值得学习的,还有win32多线程编程也要的,我记得windows核心编程之类的书也不错的。其实wince和windows下的win32编程很像的,所以大家不要抱怨wince书籍少。

(2) wince系统的进程线程同步机制,操作系统的中断服务机制,文件系统等等。。很多了主要看做什么方向的术业有分工。

(3)
任务切换、调度等

(4)
系统移植, 驱动开发。

(5)
内存管理、进程管理、OS的搭建和调试。



八、wince驱动工程师应该掌握哪些应用开发?

回答:

(1)
至少要懂写MFC程序测试驱动。

(2)
简单的对话框程序用来测试驱动及为驱动所编写的API,简单的界面开发更有益于测试程序的使用。

(3)
驱动的测试。

(4)
至少知道如何调用驱动接口来做AP测试你的驱动。至于是MFC还是win32看个人,MFC就比较快,但是一般正规一些的项目还是win32来的多,看测试的可重用度要求如何,如果对重用要求比较高就按照目标要求来选择.

(5)
小游戏



九、你有什么好的wince驱动书籍推荐?

回答:

(1)
驱动方向:

①ARM体系结构与编程-------有点乱,感觉不怎么样,译文好的强烈推荐ARM ArchitectureReference Manual(ARM官方才是最好的)

②ARM汇编指令大全------网上大把

③ARM嵌入式系统开发:软件设计与优化——我个人感觉这是国内翻译ARM书籍最好的一本之一,比ARM体系结构与编程好千倍。

④《windows CE嵌入式系统》——比较不错,对初学者认识wince、BSP架构帮助比较大

⑤《windows CE实用开发技术》——有些章节不错,分析比较详细——像个实验书。



⑥《Windows CE工程实践完全解析》——这本书针对wince6.0的架构驱动,配合程序。可惜没有文件系统。



⑦《32位嵌入式系统硬件设计与调试》——这是一本难得书籍,很实用,把电路接口和程序结合起来,ARM的外围都有,很实用

⑧《ARM & WinCE实验与实践--基于S3C2410》,很不错,有很多例子的。

路线:最好找个ADS的BIOS——这个东西没有操作系统,也没有PB的神秘,也好编译操作,搞定这个你就对ARM体系结构,以及汇编有一定的了解,然后再弄wince下的驱动,你会感觉很爽的。
http://www.arm.com/documentation/books.html——ARM官方网站推荐的书籍。很多是英文,网上也有些电子版。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: