ce 5.0 USB驱动
USBDeviceAttach函数中使用LocalAlloc(LPTR,sizeof(struct pointer))
我现在的问题是:驱动在加载时,通常会在LocalAlloc处冒异常,不一定在哪个地方(不一定是哪一次调用),但基本上在连续两次调用LocalAlloc处(或前或后)。偶尔,会顺利的加载驱动。
我的理解是:在Device.exe的64K空间中分配内存给Drivers,可能由于我的板子上驱动比较多,分配在Device.exe堆空间中的内存也接近与64K(我用的NK是厂商给的,自己做的没法ActiveSync),所以我在分配时就出现异常:
信息如下:
ENDPOINT WILL be saved!
Pipe will be saved!
Data Abort: Thread=83d334a8 Proc=82126340 'device.exe'
AKY=00000005 PC=03fc3c18(coredll.dll+0x00053c18) RA=01b316f4(mbf_dll.dll+0x000016f4) BVA=06000004 FSR=00000007
Exception walking device interfaces