jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3696回复:37

求助!InterruptInitialize调用的问题

楼主#
更多 发布于:2005-01-19 14:51
我在进行InterruptInitialize调用时“DEMO: InterruptInitialize failed!!!”
求教各位大侠  快帮忙
谢谢
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-19 14:53
能否把调用InterruptInitialize函数的那部分代码贴在这里?
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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]
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-19 15:46
喜欢美女的wwei_wang
我看你刚刚做过这方面的工作,请教你汗子撒
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-19 15:47
#define SYSINTR_EXT2 (SYSINTR_FIRMWARE+0);

这么定义好像不对吧?
你的硬件中断号是多少啊?
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-19 15:53
wwei_wang:
实际我定义的是  #define SYSINTR_EXT2 (SYSINTR_FIRMWARE+26)
你指的中断号是什么意思?
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
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)

兄弟,你喜欢丑女是吗?:))))
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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的哦
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
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
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-01-19 16:38
呕!
我换个小点的值试试
谢了啊
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-01-19 17:14
就是这个问题
但是捕捉不到中断信号
明天再弄
给点建议哦  呵呵
:)
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-01-19 18:58
你做的是什么硬件的驱动啊?
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-01-20 08:39
说不上是什么驱动
只是个处理接GPIO键盘的中断处理程序
在调试中
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-01-20 08:44
那isr是你自己写的吗?
isr和硬件中断挂上了吗?
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-01-20 09:03
irs是自己写的
在调试呢

对了,对于ARM心片“isr和硬件中断挂上”你觉得应该怎么处理?它不能用HookInterrupt函数的
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-01-20 09:16
对于Arm处理器,中断应该在OemInterrupthandler函数里处理吧
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-01-20 09:21
对于Arm处理器,中断应该在OemInterrupthandler函数里处理吧
====================================

对头,我就是在那里将INT2_EXT2和硬件中断挂上的
但是你说的“isr和硬件中断挂上了吗?”是什么意思?
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-01-20 09:31
"对头,我就是在那里将INT2_EXT2和硬件中断挂上的
但是你说的“isr和硬件中断挂上了吗?”是什么意思?"

///////////////
(1)INT2_EXT2指的是什么?值是多少?
(2)“我就是在那里将INT2_EXT2和硬件中断挂上的”是什么意思?怎么挂上的?
Come on, let us drive the world.
jinhualee
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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和硬件中断挂上了吗?”是什么意思?
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
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]
Come on, let us drive the world.
上一页
游客

返回顶部