阅读:3696回复:37
求助!InterruptInitialize调用的问题
我在进行InterruptInitialize调用时“DEMO: InterruptInitialize failed!!!”
求教各位大侠 快帮忙 谢谢 |
|
沙发#
发布于:2005-01-19 14:53
能否把调用InterruptInitialize函数的那部分代码贴在这里?
|
|
|
板凳#
发布于:2005-01-19 15:36
我的操作是:
1 定义了 #define SYSINTR_EXT2 (SYSINTR_FIRMWARE+0); 2 将它和硬件中断的INT2_EXT2连接起来的; 3 然后就是现在的初始化程序 [编辑 - 1/19/05 by jinhualee] [编辑 - 1/19/05 by jinhualee] [编辑 - 1/20/05 by jinhualee] |
|
地板#
发布于:2005-01-19 15:46
喜欢美女的wwei_wang
我看你刚刚做过这方面的工作,请教你汗子撒 |
|
地下室#
发布于:2005-01-19 15:47
#define SYSINTR_EXT2 (SYSINTR_FIRMWARE+0);
这么定义好像不对吧? 你的硬件中断号是多少啊? |
|
|
5楼#
发布于:2005-01-19 15:53
wwei_wang:
实际我定义的是 #define SYSINTR_EXT2 (SYSINTR_FIRMWARE+26) 你指的中断号是什么意思? |
|
6楼#
发布于:2005-01-19 16:04
你定义的 SYSINTR_EXT2 好像超出了范围啊?
#define SYSINTR_EXT2 (SYSINTR_FIRMWARE+26) 下面是nkintr.h中的定义 #define SYSINTR_FIRMWARE (SYSINTR_DEVICES+8) #define SYSINTR_MAX_DEVICES 32 #define SYSINTR_MAXIMUM (SYSINTR_DEVICES+SYSINTR_MAX_DEVICES) 兄弟,你喜欢丑女是吗?:)))) |
|
|
7楼#
发布于:2005-01-19 16:11
一般来说丑女比较放人放心
:) 那你说她的最大值是多少? 下面是nkintr.h中的定义 #define SYSINTR_FIRMWARE (SYSINTR_DEVICES+8) #define SYSINTR_MAX_DEVICES 32 #define SYSINTR_MAXIMUM (SYSINTR_DEVICES+SYSINTR_MAX_DEVICES) 这个可是到32的哦 |
|
8楼#
发布于:2005-01-19 16:19
怎么都变成数学问题了?:)))
你看好: SYSINTR_DEVICES+SYSINTR_MAX_DEVICES =SYSINTR_DEVICES+32 =(SYSINTR_DEVICES+8)+24 =SYSINTR_FIRMWARE+24 而你的呢? #define SYSINTR_EXT2 (SYSINTR_FIRMWARE+26) 是不是超了? :D :D |
|
|
9楼#
发布于:2005-01-19 16:38
呕!
我换个小点的值试试 谢了啊 |
|
10楼#
发布于:2005-01-19 17:14
就是这个问题
但是捕捉不到中断信号 明天再弄 给点建议哦 呵呵 :) |
|
11楼#
发布于:2005-01-19 18:58
你做的是什么硬件的驱动啊?
|
|
|
12楼#
发布于:2005-01-20 08:39
说不上是什么驱动
只是个处理接GPIO键盘的中断处理程序 在调试中 |
|
13楼#
发布于:2005-01-20 08:44
那isr是你自己写的吗?
isr和硬件中断挂上了吗? |
|
|
14楼#
发布于:2005-01-20 09:03
irs是自己写的
在调试呢 对了,对于ARM心片“isr和硬件中断挂上”你觉得应该怎么处理?它不能用HookInterrupt函数的 |
|
15楼#
发布于:2005-01-20 09:16
对于Arm处理器,中断应该在OemInterrupthandler函数里处理吧
|
|
|
16楼#
发布于:2005-01-20 09:21
对于Arm处理器,中断应该在OemInterrupthandler函数里处理吧
==================================== 对头,我就是在那里将INT2_EXT2和硬件中断挂上的 但是你说的“isr和硬件中断挂上了吗?”是什么意思? |
|
17楼#
发布于:2005-01-20 09:31
"对头,我就是在那里将INT2_EXT2和硬件中断挂上的
但是你说的“isr和硬件中断挂上了吗?”是什么意思?" /////////////// (1)INT2_EXT2指的是什么?值是多少? (2)“我就是在那里将INT2_EXT2和硬件中断挂上的”是什么意思?怎么挂上的? |
|
|
18楼#
发布于:2005-01-20 09:40
(1)INT2_EXT2指的是什么?值是多少?
(2)“我就是在那里将INT2_EXT2和硬件中断挂上的”是什么意思?怎么挂上的? ======================== 1) INT2_EXT2是外部硬件中断2, #define SYSINTR_EXT2 (SYSINTR_FIRMWARE+4) 2) 在int OEMInterruptHandler(unsigned int ra)下 : // Check to see if it the EXT2 interrupt. // else if (ulVic2Irq & INT2_EXT2 ) { *VIC2_INTCLEAR = INT2_EXT2; retval = SYSINTR_EXT2; } 3)你说的“isr和硬件中断挂上了吗?”是什么意思? |
|
19楼#
发布于:2005-01-20 09:57
(1)你的中断是2号,#define SYSINTR_EXT2 (SYSINTR_FIRMWARE+4)这么定义会不会有问题啊?我觉得应该定义成
#define SYSINTR_EXT2 (SYSINTR_FIRMWARE+2) (2)因为你的是arm平台,中断在OEMInterruptHandler中处理就行了。我前面说的“isr和硬件中断挂上了吗?”是针对x86平台的。 [编辑 - 1/20/05 by wwei_wang] |
|
|
上一页
下一页