所有基于WinCE的驱动程序都是以用户态下的dll文件的形式存在的。也就是说,一方面所有WinCE下的驱动程序都是运行在用户态下的,另一方面我们开发WinCE驱动程序的方法与开发普通的win32dll是完全一致的,还需要补充的一点就是所有的WinCE驱动程序都需要其他的进程动态地加载才能完成其功能。
WinCE驱动程序采用如斯的存在形式是经过科学地规划的,其意义至少表现为以下三点:
首先,操作系统可以在运行时动态地加载驱动程序可以方便地实现外设的即插即用功能(Plug &Play)。
其次,驱动程序运行在用户态下能够有效地提高系统的稳定性。如果驱动程序被运行在内核态下,那么驱动程序的崩溃直接导致整个系统的崩溃,大大地降低了系统的稳定性。交与第三方开发的驱动程序运行在核心态下是系统的一大安全隐患。
最后,由于编写WinCE驱动程序与编写Win32 Dll毫无二致,这就给开发带来了极大的便利。开发人员可以使用应用程序开发能使用的所有资源,可以使用高级字符处理函数,也可以使用Win32 API与用户交互,甚至可以调用MFC函数库。
参考文献:
1.何宗键 Windows CE 嵌入式系统 北京航空航天大学出版社 2006.9
本文转自:http://www.itxxh.cn/news/Driver/info-193.html
只要能让设备正常工作,没有驱动也可以啊!
哈哈...,这样说是不是有点不负责任。
如果知道硬件的具体实现的话,直接读写硬件是不是也可以呀?
CE的框架下,驱动才可以操作硬件。
如果其它OS,就没有这些限制,即驱动与应用的区分不明显。
LZ不是要讨论CE下驱动存在的必要性吗?
一般情况下,存在用户模式和内核模式(或类似)的操作系统,用户态下是不可以直接操作硬件的
wince是受保护的操作系统,系统一旦启动,用户是无法直接操作硬件的,用户只能访问虚拟地址。
没有驱动,系统是无法跑起来的
wince是受保护的操作系统,系统一旦启动,用户是无法直接操作硬件的,用户只能访问虚拟地址。
没有驱动,系统是无法跑起来的