+ -
当前位置:首页 → 问答吧 → 【求助】Linux2.4.19,IRQ的中断处理程序在哪里呢

【求助】Linux2.4.19,IRQ的中断处理程序在哪里呢

时间:2005-08-17

来源:互联网

各位高手,
    在INTEL的Sitsang开发板上,处理器PXA255有六个GPIO引脚(GP0,4,5,7,9,10)接收来自经CPLD初步处理的板级中断信号,PXA255收到中断信号后,操作系统应进行中断处理:保留当前运行环境信息,转入中断处理程序,由于是外部中断控制器(CPLD中)提供的中断信号,所以还要读CPLD上中断控制器的内容,以判断具体是谁发出的中断请求(例如GP7收到的中断信号就可能是CF卡或USB主口的),然后转入相应的具体的中断处理程序中.

    在网上看到一些ARM架构处理器中断处理的内容,似乎大体上中断处理的过程如下:  
    收到中断->保持PC等环境变量->跳到固定地址的中断处理程序->跳到用户自定义的固定地址的中断解析程序->初步判断中断类型,读中断向量表,如果是IRQ/FIQ中断则根据中断向量表跳到IRQ/FIQ中断服务程序位置->判断中断源->查中断向量表,跳至相应的具体的(如CF卡的)中断处理程序中.

    但是这个不知正确与否的粗略概念远不能解决我的问题,

   :confused:  我的问题是,在使用Linux2.4.19的前提下,这个收到GP引脚信号后的中断处理过程具体是怎样的,在Linux的哪一个源文件中进行处理(例如那个中断解析程序在哪个源文件里)?:confused:

    我对CPLD上进行的处理比较清楚,但对linux怎样响应来自GPIO引脚上的中断一无所知,由于对linux内核不熟悉,现在千头万绪,不知从哪里入手,请斑竹和大家多多指教.      

作者: andwayne   发布时间: 2005-08-17

中断程序由irq_request()申请,并指定中断程序地址,中断源程序可在模块里编写      

作者: sjzaly   发布时间: 2005-09-01