阅读:2012回复:6
为什么调用LoadIntChainHandler总是失败
我自己建了一个ISR DLL,用下面的方法加载,但是总是失败,为什么呀
if((LoadIntChainHandler(_T("TimeISR.dll"),_T("ISRHandler"),5))==NULL) RETAILMSG(1,(TEXT("LoadIntChainHandler Failed!\n"))); 还有我用 InterruptInitialize(SYSINTR_MYINTR,hEvent,NULL,0)是也是失败,其中 #define SYSINTR_MYINTR (SYSINTR_FIRMWARE+5) 我在cfwpc.c里看到中断关联了 SETUP_INTERRUPT_MAP(SYSINTR_FIRMWARE+5, 5); 为什么初始化还会失败 |
|
论坛版主
|
沙发#
发布于:2005-07-29 13:54
TimerISR.dll放到os image里面了吗?记住,在platform.bib里面写在files section
你的那个逻辑中断号和其他事件关联过没有?sysintr和event只能1对1哈(虽然这不是必需的,但你的这个bsp应该是这样)。 你看看oeminterruptenable里面是否有SYSINTR_MYINTR 的使能代码 对了你那个SYSINTR_MYINTR 不要定的和系统定义过的一样哈!如果被使用过(可能在某个地方)就可能不对了,具体原因说起来太多,反正最好保证SYSINTR_MYINTR 和event在任何地方都没有过,就在这儿你定义 |
|
板凳#
发布于:2005-07-30 08:44
可是我初始化的是系统定义好的SYSINTR,我想直接拿来用,因为我要处理IRQ5。
是不是被系统定义过的就不能自己用InterruptInitialize调用了 |
|
地板#
发布于:2005-08-01 13:19
请问我在
FILES ; Name Path Memory Type ; -------------- --------------------------------------------- ----------- giisrtime.dll D:\giisrtime.dll NK S 为什么编译的时候老是出现找不到.rel文件的错误。 谢谢! |
|
地下室#
发布于:2005-08-01 13:44
|
|
论坛版主
|
5楼#
发布于:2005-08-01 17:38
FILES
; Name Path Memory Type ; -------------- --------------------------------------------- ----------- giisrtime.dll $(_FLATRELEASEDIR)\giisrtime.dll NK S 记住,你们用的bsp中,物理中断号,逻辑中断号,事件三者只能是一一对应的,我再说一次,这个本来不是必需的,但他们那种管理方式只能一对一。由于牵扯的地方多,你自己找找,反正不要用重了 |
|
6楼#
发布于:2005-08-02 14:58
请问njutiger
在PB上怎样添加.rel文件,我添加这个http://dev.yesky.com/SoftChannel/72342371878043648/20041030/1870213.shtml 网址添加不对? 请你指教。 |
|