Wince驱动开发与Linux驱动开发

小弟季义钦 2012-02-15 07:37:51
这两天刚接触wince驱动开发,有几个问题:

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

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

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

(4)大家觉得Linux驱动开发和wince驱动开发差别大么?
...全文
263 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
InsaneCode 2012-02-24
  • 打赏
  • 举报
回复
顶一下,楼主有什么问题可以一起讨论,我的email:kacyquan@live.cn
小弟季义钦 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 pacao 的回复:]
mark,偶也是才看wince,感觉微软的东西,应该只是填空,不会自己搞很多,搞懂框架很重要
[/Quote]
同感了,感觉微软把好多东西弄来隐藏了,这样反而让想要知道底层的人很疑惑。。。哎~~~
pacao 2012-02-23
  • 打赏
  • 举报
回复
mark,偶也是才看wince,感觉微软的东西,应该只是填空,不会自己搞很多,搞懂框架很重要
SailorXing 2012-02-18
  • 打赏
  • 举报
回复
BSP:板级支持包
WvW 2012-02-17
  • 打赏
  • 举报
回复
如果你不是BSP开发公司, 你用CE做流驱动, 你会觉得相当简单!

linux没接触过.
小弟季义钦 2012-02-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 huangdi19880612 的回复:]
wince驱动程序部分属于BSP开发的范畴.
和bootloader,oem开发一起的.
楼主,误解了.呵呵
[/Quote]

对,我的意思就是bootloader,OAL,还有驱动程序(都是属于BSP)都需要硬件厂商来进行开发。

但是不可能是从头开发,都是拿已有的相似的来修改修改而已。就是移植!

但是我发现wince的驱动种类有点混乱,NDIS,流式驱动,还有的什么“专用接口”。。。还得再看看,不像Linux中字符,块,网络设备那么分的明确。
northcan 2012-02-17
  • 打赏
  • 举报
回复
(1)wince驱动开发是不是就是写BSP ?就像天嵌提供的BSP是不是就是他们自己写的?
wince驱动开发是BSP开发的一部分,因为wince的驱动程序是包含在BSP之内的,天嵌的BSP不全都是它们自己写的,比如三星厂商会提供基本的BSP,天嵌是增删改。

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

(4)大家觉得Linux驱动开发和wince驱动开发差别大么?
Linux接触的不多。WinCE的驱动开发是填空式的开发。也就是微软规定框架,微软完成尽可能多的,不涉及具体硬件的那一部分。对于设计具体硬件的,微软也不知道你不知道你到底用的哪个,所以它只能留下行数接口或者函数名称,之后由用户完成。
李氏康荣 2012-02-17
  • 打赏
  • 举报
回复
wince驱动程序部分属于BSP开发的范畴.
和bootloader,oem开发一起的.
楼主,误解了.呵呵
  • 打赏
  • 举报
回复
驱动开发需要有一定的硬件方面的基础的
Frog1228 2012-02-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jiq408694711 的回复:]
引用 5 楼 mjjackey 的回复:
引用 2 楼 huangdi19880612 的回复:
(1)wince系统驱动开发不是开发BSP。开发BSP是系统移植时需要做的。
驱动程序开发是针对具体的系统,和硬件外设需要,对具体的硬件外设模块开发驱动的。
天嵌的BSP是在对应芯片公司提供的BSP基础上修改(也就是系统移植)适合自己开发板的bsp这样才可以在上边跑自己的系统。
(2)API……
[/Quote]
BSP包含bootloader?那Linux中的BSP也包含bootloader?
李氏康荣 2012-02-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 northcan 的回复:]
(1)wince驱动开发是不是就是写BSP ?就像天嵌提供的BSP是不是就是他们自己写的?
wince驱动开发是BSP开发的一部分,因为wince的驱动程序是包含在BSP之内的,天嵌的BSP不全都是它们自己写的,比如三星厂商会提供基本的BSP,天嵌是增删改。

(2)我看到wince网卡驱动中用到了那么多的NDIS接口API,还有什么操作注册表的,这么多API是不是都是需要驱动开发人员掌……
[/Quote]
支持楼上的
小弟季义钦 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mjjackey 的回复:]
引用 2 楼 huangdi19880612 的回复:
(1)wince系统驱动开发不是开发BSP。开发BSP是系统移植时需要做的。
驱动程序开发是针对具体的系统,和硬件外设需要,对具体的硬件外设模块开发驱动的。
天嵌的BSP是在对应芯片公司提供的BSP基础上修改(也就是系统移植)适合自己开发板的bsp这样才可以在上边跑自己的系统。
(2)API函数最好还是自己掌握,而且越详细越好。这样在……
[/Quote]

BSP包含bootloader,后者属于前者的一部分。
wince中的BSP主要有bootloader,驱动程序,驱动模型(就是所有硬件平台都通用的驱动代码),还有配置文件四个部分组成的。

BSP是最初由微软做好的,类似Linux中除了启动代码,基本的进程调度,同步,通信,内存管理,中断管理之外的代码部分,后来的硬件厂商在开发除硬件之后都会提供BSP,而这个BSP并不是从头开发的,都是从最初微软的BSP开始进行硬件相关的修改的来的。

大家如果对我理解的有异议欢迎踊跃讨论。
就像我,就对Linux中的platform机制,驱动模型那部分,是不是类似wince中的驱动模型比较困惑。
Frog1228 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huangdi19880612 的回复:]
(1)wince系统驱动开发不是开发BSP。开发BSP是系统移植时需要做的。
驱动程序开发是针对具体的系统,和硬件外设需要,对具体的硬件外设模块开发驱动的。
天嵌的BSP是在对应芯片公司提供的BSP基础上修改(也就是系统移植)适合自己开发板的bsp这样才可以在上边跑自己的系统。
(2)API函数最好还是自己掌握,而且越详细越好。这样在开发对应系统上边的驱动时就好多了。
(3)linux中没……
[/Quote]
那BSP有什么作用,和bootloader比有什么区别?
小弟季义钦 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huangdi19880612 的回复:]
(1)wince系统驱动开发不是开发BSP。开发BSP是系统移植时需要做的。
驱动程序开发是针对具体的系统,和硬件外设需要,对具体的硬件外设模块开发驱动的。
天嵌的BSP是在对应芯片公司提供的BSP基础上修改(也就是系统移植)适合自己开发板的bsp这样才可以在上边跑自己的系统。
(2)API函数最好还是自己掌握,而且越详细越好。这样在开发对应系统上边的驱动时就好多了。
(3)linux中没……
[/Quote]

你说的没有对应,这个我还是不大认可!

另外wince中驱动就分为流式接口驱动和本地驱动么?本地驱动是什么?我没听说过。有没有相关资料?
小弟季义钦 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bjtea 的回复:]
LINUX有驱动模型,platform就是在,linux2.6引入的设备驱动模型;
[/Quote]
也就是说Linux中的Platform其实就是驱动模型,并不是属于OS的一部分,只是驱动层的通用代码???

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

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧