摘要:
wince6.0移植之底层变化WINCE6.0与以前的版本最大的区别莫过于它能支持多达32K的应用程序,每个程序的内存都能达到2G,但这些似乎与BSP无关。BSP只需要关心以下几个方面: 1. OAL与KERNEL不再链接到一起成KEREN.EXE, WINCE6.0中kernel只是一个DLL,它被OAL.EXEL(运行时刻为KERN.EXE)加载,而OAL与KERNEL之间通过两个函数表来初始化自己的函数,得到对方的函数。2. KITL从OAL中分离出来,成为一个单独的DLL,KITL.DLL.3. MapCallerPtr 一类与内存映射相关的函数不再支持也不需要。4. SetKMode 阅读全文
摘要:
一 WinCE中断体系结构中断涉及4层,即:硬件层、内核层、OAL层、IST处理层;1 硬件层:硬件层就是实际触发中断的硬件,这里主要有两方面作用,一个是触发中断,第二个是enable/disable硬件中断。2 内核层:这一层由内核来处理,包括中断异常产生后跳转到相应的ISR,以及根据SYSINTR来触发相应的Event。3 OAL层这一层主要就是我们需要实现的代码了,来识别硬件IRQ,对应到SYSINTR。4 IST处理层一般使用IST来做实际的中断处理,这样不会占用很多的锁定系统时间来处理中断,但是对中断的实时性大打折扣。二 IRQ,ISR,IST和SYSINTRIRQ:IRQ (Int 阅读全文
摘要:
设置事件的状态为有标记,释放任意等待线程。如果事件是手工的,此事件将保持有标记直到调用ResetEvent。这种情况下将释放多个线程,如果事件是自动的,此事件将保持有标记,直到一个线程被释放,系统将设置事件的状态为无标记。如果没有线程在等待,则此事件将保持有标记,直到一个线程被释放。SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定的OBJECT成为发信号状态时才返回,OBJECT可以是EVENT,也可以是其它内核对象。 当你创建一个线程时,其实那个线程是一个循环,不像上面那样只运行一次的 阅读全文