上一页 1 ··· 5 6 7 8 9
摘要: DWORD WaitForMultipleObjects( DWORD nCount, const HANDLE* lpHandles, BOOL bWaitAll, DWORD dwMilliseconds);其中参数 nCount 句柄的数量 最大值为MAXIMUM_WAIT_OBJECTS(64)HANDLE 句柄数组的指针。HANDLE 类型可以为(Event,Mutex,Process,Thread,Semaphore )数组BOOL bWaitAll 等待的类型,如果为TRUE 则等待所有信号量有效在往下执行,FALSE 当有其中一个信号量有效时就向下执行DWORD dwMilli 阅读全文
posted @ 2009-02-25 17:22 gmh 阅读(10375) 评论(1) 推荐(0) 编辑
摘要: 在16位Windows中是有区别的,因为在16位windows用一个全局堆和局部堆来管理内存,每一个应用程序或dll装入内存时,代码段被装入全局堆,而系统又为每个实例从全局堆中分配了一个64kb的数据段作为该实例的局部堆,用来存放应用程序的堆栈和所有全局或静态变量。而LocalAlloc/GlobalAlloc就是分别用于在局部堆或全局堆中分配内存。 由于每个进程的局部堆很小,所以在局部堆中分配内存会受到空间的限制。但这个堆是每个进程私有的,相对而言分配数据较安全,数据访问出错不至于影响到整个系统。 而在全局堆中分配的内存是为各个进程共享的,每个进程只要拥有这个内存块的句柄都可以访问这块内存, 阅读全文
posted @ 2009-02-25 15:33 gmh 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 1、你的bib文件里加入了MyDriver.exe,但是没有找到这个文件。所以有2种方法:1,从bib文件中把MyDriver.exe删除掉;2.找到MyDriver.exe2、如果已经将gspi8686.dll copy到debug目录,只能Make Image,不能Sysgen。否则文件会丢失。 如果要Systen,则采用以下的方法: 修改配置以便拷贝文件到debug目录的主要步骤如下: 1 pb中从platform菜单选setting 2 Custom Build Actions选项卡中的Build step下拉框,选择Pre-Make Image (有四个选项,分 阅读全文
posted @ 2009-01-11 20:13 gmh 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 這個error出現的原因是 platform builder 很好心的幫你紀錄每一個foler的檔案內容(不管他有沒有列在 sources 中)。同時 nmake 有沒有處理檔名中的"空白",所以一旦folder中有檔案(不管有沒有用到)的檔名包含空白,他就會掛掉..... 像上面的error message,就是我有一個file 叫"複製 -iodev.c"。而windows中複製一個file到自己的folder,就會自訂在前面加上"複製"和一個space.... 所以解決的方法就是找到error 顯示的那個file,刪掉後,打开release directory, 键入:command / 阅读全文
posted @ 2009-01-09 09:43 gmh 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 一般在ARM架构的CPU上,物理地址都是统一编址的,寻址空间为4GB(32Bit CPU)。也就是说,针对一个ARM的处理器,它可以访问的物理空间是4GB。在WinCE中,ARM中的4GB物理地址空间将被映射为512MB的虚拟内存空间。OEMAddressTable就是一个4GB物理地址空间到WinCE Kernel中的512MB虚拟地址空间的映射表。   在BSP中,会定义OEMAddressTable来描述系统中可访问的物理空间及对应的虚拟地址空间,还有大小。这个表会在WinCE系统开始启动的时候传给MMU,具体到BSP中应该是在OAL中的startup.s中,OEMAddressTabl 阅读全文
posted @ 2009-01-08 15:49 gmh 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 首先是wince驱动的分类问题。按照书上讲的说CE下驱动分成单体驱动和分层驱动,而看到另一种说法是本机驱动和流式驱动。经过microsun大哥的指点,把这两种分类法分开了。在这里引用一下: “单体与分层只是从代码的形式上做的分类.分层驱动代码上分为PDD与MDD,一般的微软已经实现了MDD,可能也实现了PDD,我们只需要对PDD做些修改就能使用,比如音频的驱动,显示的驱动。单层驱动是把PDD与MDD写在一起,没有做严格的区分,通常这种驱动比较简单,比如:ATADISK。 至于本地驱动和流式驱动是从驱动与系统其它模块(调用者)的接口形式上做的分类.其实,本地驱动这个名称不大恰当,可能叫专用驱动或 阅读全文
posted @ 2009-01-08 15:42 gmh 阅读(2922) 评论(0) 推荐(2) 编辑
摘要: WinCE 流驱动一步一步来(理论基础)在WinCE.net中,最简单的一个驱动程序莫过于一个内置(Built-in)设备的流接口驱动。对于一个不支持热拔插的设备,最快捷的方法就是为其实现一个内置的流接口的驱动。对于这样一类驱动程序,我们只需要按一种特定的规则实现一个动态库,其中实现对所有的硬件功能的调用,再将这个动态库加入系统中,然后设置相关的注册表项,使得在系统启动时设备管理器能识别并且加载这个设备即可。1.实现动态链接库此动态链接库与应用程序层所用的库并不很大差别,源文件可以是C、C++、甚至汇编,只是它要实现以下函数。u DllEntry(HINSTANCE DllInstance, 阅读全文
posted @ 2009-01-08 15:37 gmh 阅读(1071) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9