首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

Wince驱动开发与Linux驱动开发解决思路

2012-03-25 
Wince驱动开发与Linux驱动开发这两天刚接触wince驱动开发,有几个问题:(1)wince驱动开发是不是就是写BSP ?

Wince驱动开发与Linux驱动开发
这两天刚接触wince驱动开发,有几个问题:

(1)wince驱动开发是不是就是写BSP ?就像天嵌提供的BSP是不是就是他们自己写的?

(2)我看到wince网卡驱动中用到了那么多的NDIS接口API,还有什么操作注册表的,这么多API是不是都是需要驱动开发人员掌握的?

(3)Linux驱动开发中有没有和wince驱动开发中的“驱动模型”对应的部分?

(4)大家觉得Linux驱动开发和wince驱动开发差别大么?

[解决办法]
一般的说来,国内的板子大都是抄国外的同类板子,BSP之类或驱动程序,大都是移植过来;
 特别是CPU厂家自己开发的驱动程序,更是应该抄(利用)的;
 LINUX有驱动模型,platform就是在,linux2.6引入的设备驱动模型;
 WinCe的驱动,你可以仔细看文档,学会用API,通过实践,就上路了。但源码看不见,不开放;
 LINUX驱动,没有详细的文档,只有通过自己看源代码和注解。看参考书,再通过艰苦的实践,才能慢慢入门。
 LINUX免费,代价就必然有。不过LINUX源码开放,学会了,你可以到处移植,应用范围宽广。
[解决办法]
(1)wince系统驱动开发不是开发BSP。开发BSP是系统移植时需要做的。
驱动程序开发是针对具体的系统,和硬件外设需要,对具体的硬件外设模块开发驱动的。
天嵌的BSP是在对应芯片公司提供的BSP基础上修改(也就是系统移植)适合自己开发板的bsp这样才可以在上边跑自己的系统。
(2)API函数最好还是自己掌握,而且越详细越好。这样在开发对应系统上边的驱动时就好多了。
(3)linux中没有和WINCE中相对应的。
(4)linux驱动和wince中的驱动开发还是有差别的,linux说简单的就是填写相应的函数接口,而wince中的驱动分为流驱动和本地驱动,前边的简单后边的比较难的。
大概就是这样的。不对或者不具体的还望楼主谅解。
或者看书吧。
[解决办法]
(1)wince驱动开发是不是就是写BSP ?就像天嵌提供的BSP是不是就是他们自己写的?
wince驱动开发是BSP开发的一部分,因为wince的驱动程序是包含在BSP之内的,天嵌的BSP不全都是它们自己写的,比如三星厂商会提供基本的BSP,天嵌是增删改。

(2)我看到wince网卡驱动中用到了那么多的NDIS接口API,还有什么操作注册表的,这么多API是不是都是需要驱动开发人员掌握的?
如果你要精通网卡驱动,这些是要掌握。东西太多就先掌握它的框架,了解每一个层次或者模块是做什么的,完成哪一部分功能。不要转入实现细节。细节用到哪再看哪。

(4)大家觉得Linux驱动开发和wince驱动开发差别大么?
Linux接触的不多。WinCE的驱动开发是填空式的开发。也就是微软规定框架,微软完成尽可能多的,不涉及具体硬件的那一部分。对于设计具体硬件的,微软也不知道你不知道你到底用的哪个,所以它只能留下行数接口或者函数名称,之后由用户完成。

[解决办法]
mark,偶也是才看wince,感觉微软的东西,应该只是填空,不会自己搞很多,搞懂框架很重要

热点排行