wince 驱动中断问题

[复制链接]
查看11 | 回复1 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
问题是这样的,我用周立功的开发板自带的wince 5.0的I2C驱动(是正常的)移植到我的板子上我的板子硬件接口和周的基本一样,只是BSP不同,我把I2C编译进
内核(用了两种方法,一种是直接把周生成的DLL文件直接编译进去,并增加BIB和REG信息,另一种是把驱动程序放到我的BSP里重新编译)然后下载到板子上时,启动时在串口均输出这样的信息:
IC: DLL_PROCESS_ATTACH
>>> IIC_initalization address..set..
ERROR: I2C Bus: Failed to request sysintr value for I2C Bus interrupt.
IIC: DLL_PROCESS_DETACH
也就是说申请逻辑中断失败,我用同样的方法把周的can驱动也移植进去后也出现
了同样的问题,但pwm,gpio,ADC等驱动移植过后都正常工作,我总结了一下
I2C和CAN的驱动都涉及到中断的申请,而其他的没涉及到。所以现在的问题就是
为什么会中断申请失败。我的BSP是从4.2升级到5.0的,里面带的一些驱动
的中断申请用的都是静态映射。而周那驱动用的都是动态申请,我想问题关键就是出
在这里了,但就是不知道怎么搞定,是不是中断申请和BSP中的某些文件是生死关联的?。我用getlasterror 放到I2C驱动中得到的返回直是:50
查了下错误原因是:the network request is not supported。
问题就这样,如果大虾有什么好的方法或思路的话,望赐教!
如果有需要,我可以把我的BSP和驱动都传上
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
动态申请IRQ,调用KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR, &g_EINTIrq, sizeof(UINT32), &g_EINTSysIntr, sizeof(UINT32), NULL)
这个又调用OEMIoControl.,这个函数在oemioctl.c文件内,但是我看了我的BSP里这个文件内的OEMIoControl函数里没有IOCTL_HAL_REQUEST_SYSINTR,不知道为什么!也许你可以沿着这个方向找找问题;希望多交流,最好别误导,呵呵!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行