WIN CE6中如何防止驱动及OAL同时读写NANDFLASH的冲突
在WIN CE5中,在OAL可以使用内核函数SC_WaitForMultiple 与驱动中使用WaitForSingleObject来实现对FLASH的读写互斥
但是在CE6中不能实现SC_WaitForMultiple 函数的调用,我们采用全局变量的方式,把变量保存在固定的RAM中,在不同的驱动中去读取该变量值判断,从而实现夸进程的读写判断保护,但是采用该方式,测试中还是出现写FLASH死机的问题??
请问在CE6下有什么好的方式,能够解决该问题
使用event的方式不可以吗?
可以考虑用临界区进行同步,在OAL中维护一个CriticalSection,驱动中通过KernelIoControl间接调用。
驱动和应用的通信都可以用event的方式,应该在OAL层也可以,不过我没有验证过。