怎么使用EVC开发WinCE驱动

来源:百度知道 编辑:UC知道 时间:2024/06/11 18:40:01
我的Wince驱动开发流程是:
-》编写驱动源程序
-》在BP下编译生成NK.bin
-》板子nor启动进入bios下载菜单
-》用USB下载NK。bin,然后几分钟的安装的等待
-》nand启动进入系统后,在EVC4.0下编写驱动测试程序
-》运行结果。
这样开发效率太低了,修改一次,大概需要5分钟才能看结果。
听说有一种更为快捷的方法:
在EVC下编写dll驱动拷贝到目标平台的windows下,然后通过编写应用程序动态加载驱动来测试驱动。
我尝试了在evc4.0建立一个dll工程,编译最简单的LED驱动,最后产生了链接错误,如下:
--------------------Configuration: led - Win32 (WCE ARMV4I) Debug--------------------
Linking...
led.obj : error LNK2001: unresolved external symbol dpCurSettings
ARMV4IDbg/led.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
led.dll - 2 error(s), 0 warning(s)
代码如下:
#include <windows.h>
//#include <ceddk.h>
#include <nkintr.h>
#include <oalintr.h>
#include <pm.h>
#include "pmplatform.h"
#include "Pkfuncs.h"
#include "s2440.h"
#define IO_CTL_LED_1_ON 0x01
#define IO_CTL_LED_2_ON 0x02
#define IO_CTL

对于显示驱动,这是wince一种内建驱动,就是说wince为显示驱动自定义了一些接口,所以开发上不比流驱动
dpCurSettings这个变量没记错的话应该是和调试开关有关系的变量,就是调试信息的开关参数变量,详细请看这个http://www.armce.com/bbs/thread-176-1-2.html
$(_COMMONOAKROOT)这些宏都是PB的环境变量里来的,你一定要用EVC的话其实也可以,就是把所有用到的环境变量都翻译成实际你的路径,手动指定引用的各种库文件和dll

并不建议对显示驱动是用EVC,但是流驱动很方便调试
完全可以在EVC上开发一个流驱动的Dll然后在机器上调试,甚至可以用动态的加载卸载驱动来调试,感觉就像调试应用程序,可以参考这个
http://www.armce.cn/bbs/thread-263-1-1.html
动态加载驱动
否则每次改动驱动都要重新烧OS,确实很麻烦