CN107025186A - 中断号分配方法及装置 - Google Patents
中断号分配方法及装置 Download PDFInfo
- Publication number
- CN107025186A CN107025186A CN201610067788.7A CN201610067788A CN107025186A CN 107025186 A CN107025186 A CN 107025186A CN 201610067788 A CN201610067788 A CN 201610067788A CN 107025186 A CN107025186 A CN 107025186A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- allocated
- equipment
- mark
- interrupt number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明提供一种中断号分配方法及装置,其中,该方法通过获取待分配设备标识和与待分配设备标识连接的中断线的标识,了解硬件设备的连接情况,并根据待分配设备的标识和中断线的标识将预设的中断号分配给待分配设备。本发明通过将预设的中断号分配到与中断线的标识对应的中断线连接的待分配设备中,实现自动分配设备中断号,操作简便,节省时间,避免了现有技术中需要操作人员手动完成,操作比较繁琐,且浪费时间的缺陷。
Description
技术领域
本发明涉及处理器中断处理技术,尤其涉及一种中断号分配方法及装置。
背景技术
中断是指在中央处理器(Central Processing Unit,简称CPU)运行期间,被CPU内部或外部事件打断、暂停当前程序的执行而转去执行一段特定的处理内部或外部时间程序的过程。中断号是可以使CPU能够判断是哪个设备提出中断请求的标识。
目前,在VxWorks系统下无内部互锁流水级的微处理器(Microprocessorwithout Interlocked Piped Stages,简称MIPS)架构中挂接外部设备互连总线(Peripheral Component Interconnect,简称PCI)设备时,需要将该PCI设备资源注册到VxWorks系统中用于支持设备驱动的特有的架构VxBus中,同时,由操作人员根据资源注册信息在路由为PCI设备分配对应的中断号,使得该PCI设备提出中断请求的时候,CPU能够根据中断号判断出是哪个设备提出的中断请求。
但是,在上述的技术方案中,每增加一个新的PCI设备之后,都需要修改VxBus中的资源注册信息,同时操作人员需要重新在路由设置PCI设备对应的中断号,也就是说,现有的VxWorks系统下MIPS架构中分配中断号的方式操作需要操作人员手动完成,操作比较繁琐,且浪费时间。
发明内容
本发明提供一种中断号分配方法及装置,实现自动分配设备中断号,操作简便,节省时间。
本发明提供一种中断号分配方法,包括:
获取待分配设备标识和与所述待分配设备连接的中断线的标识;
根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备;
其中,所述中断号与所述中断线的标识对应。
本发明还提供一种中断号分配装置,包括:
第一获取模块,用于获取待分配设备标识和与所述待分配设备连接的中断线的标识;
分配模块,用于根据所述第一获取模块获取得到的所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备;
其中,所述中断号与所述中断线的标识对应。
本发明提供一种中断号分配方法及装置,其中,该方法通过获取待分配设备标识和与所述待分配设备连接的中断线的标识,了解硬件设备的连接情况,并根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备。本发明通过将预设的中断号分配到与中断线的标识对应的中断线连接的待分配设备中,实现自动分配设备中断号,操作简便,节省时间,避免了现有技术中需要操作人员手动完成,操作比较繁琐,且浪费时间的缺陷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的中断号分配方法实施例一的流程图;
图2为本发明实施例提供的中断号分配方法实施例二的流程图;
图3为本发明实施例提供的中断号分配方法实施例四的流程图;
图4为本发明实施例提供的中断号分配装置实施例一的结构示意图;
图5为本发明实施例提供的中断号分配装置实施例二的结构示意图;
图6为本发明实施例提供的中断号分配装置实施例四的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的中断号分配方法实施例一的流程图;如图1所示,本发明提供的中断号分配方法具体包括以下步骤:
步骤110、获取待分配设备标识和与待分配设备连接的中断线的标识。
其中,待分配设备指的是插在PCI槽上,且满足PCI标准的设备。
步骤120、根据待分配设备的标识和中断线的标识将预设的中断号分配给待分配设备。
其中,中断号与中断线的标识对应。
需要说明的是,在本实施例中,执行主体为外部设备互连总线PCI控制器与处理器计算机设备或者其他的设备。
具体的,在Vxworks操作系统中,外部设备互连总线PCI有四根中断线A、B、C和D,其中,每根中断线对应不同的中断号。
另外,一个待分配设备只与一个中断线连接,而一根中断线却可以多个待分配设备连接。而在为待分配设备分配预设中断号的时候,可以为与中断线连接的多个待分配设备分配多个中断号,也可以为多个待分配设备分配一个中断号。当多个待分配设备分配一个中断号的时候,在执行中断的过程中Vxworks操作系统也可以识别出来是对应的需要中断的外接设备。
本发明实施例提供的中断号分配方法通过获取待分配设备标识和与待分配设备连接的中断线的标识,了解硬件设备的连接情况,并根据待分配设备的标识和中断线的标识将预设的中断号分配给待分配设备。本发明通过将预设的中断号分配到与中断线的标识对应的中断线连接的待分配设备中,实现自动分配设备中断号,操作简便,节省时间,避免了现有技术中需要操作人员手动完成,操作比较繁琐,且浪费时间的缺陷。
进一步地,在上述实施例一的技术方案的基础上,在实施例二中,图2为本发明实施例提供的中断号分配方法实施例二的流程图,如图2所示,若待分配设备与外部设备互连总线PCI连接;本实施例提供的方法中步骤120,具体包括以下步骤:
步骤121、根据待分配设备的标识和中断线的标识得到分配给待分配设备的中断号。
步骤122、将待分配设备的中断号写入PCI配置空间中的中断请求域。
进一步地,上述实施例一和实施例二的技术方案的基础上,在实施例三中,步骤120之前还包括:
获取分配函数。
在本实施例中,步骤120包括:以调用分配函数的形式,根据待分配设备的标识和中断线的标识将预设的中断号分配给待分配设备。
具体的,在本实施例中,分配函数是由用户自定义设置的,只要能够为待分配设备分配中断号都可以,本发明并不对此做进一步的限定。
举例来说,分配函数可以为:
LOCAL UCHAR pciAutoconfigIntrAssign
(
PCI_SYSTEM*pSys,/*PCI_SYSTEM structure pointer*/
PCI_LOC*pLoc,/*pointer to function in question*/
UCHAR pin/*contents of PCI int pin register*/
)
{if(pLoc->bus==0&&pin!=0&&pin<=4)
{
/*pin1-4–>PCI A-D*/
line=func;
return(UCHAR)((line-1));
}
}。
其中,pciAutoconfigIntrAssign指的就是分配函数,pLoc是结构体pLoc中的一个对象;pin1-4指的中断线A、B、C和D;pLoc->bus指的是待分配设备的标识,func是用户预先设置的中断号;line指的是中断线连接的待分配设备的中断号。
另外,在本实施例中,获取分配函数包括:从驱动资源中获取已注册的分配函数。
举例来说,在VxWorks系统MIPS架构下可以通过以下方式实现在驱动资源中添加分配函数的注册信息:
{"intAssignFuncSet",HCF_RES_ADDR,{(void*)pciAutoconfigIntrAssign}}。
进一步地,在上述实施例三的技术方案的基础上,在实施例四中,图3为本发明实施例提供的中断号分配方法实施例四的流程图,如图3所示,中断号分配方法,还包括:
步骤130、读取中断请求域中的中断号。
步骤140、调用中断挂接函数,将中断号对应的中断处理函数挂接到中断线的标识对应的中断链表中。
其中,中断线与中断链表一一对应,也就是说,每个中断线对应一个中断链表。
具体的,本实施例通过读取中断号,并通过中断挂接函数将中断号对应的中断处理函数挂接到与中断号对应的中断线的标识对应的中断链表中,实现当处理器响应待分配设备的中断请求时,待分配设备能够即刻响应,开始工作。
可选地,在VxWorks操作系统中,中断挂接函数从VxWorks系统中的库函数获取得到,另外,中断挂接函数还可以为用户自己添加的可以实现中断响应的函数。
具体的,采用中断挂接函数,将中断号对应的中断处理函数挂接到中断线的标识对应的中断链表中;可以如下代码实现:
pciIntConnect(vector,routine,parameter),其中vector指的是中断号,routine指的是中断处理函数,parameter指的是参数。
值得说明的是,针对本发明实施例提供的中断号分配的方法,在有外接设备接入时,若是标准类中断,通过本发明实施例二提供的将中断号写入PCI配置空间中的中断请求IRQ域中即可实现中断号的分配,若非标准类中断,则需要在将中断号写入PCI配置空间中的中断请求IRQ域中即可实现中断号的分配之后调用中断挂接函数,将所述中断号对应的中断处理函数挂接到所述中断线的标识对应的中断链表中以实现中断号分配后实现中断处理的有效执行。不管是标准类中断亦或是非标准类中断,都实现了中断号的自动分配,免去了现有技术中技术人员人工干预的情况发生。
在本发明实施例五中,以包含PCI控制器和CPU的设备为例进行详细的说明,该设备为MIPS架构,基于Vxworks系统实现中断号的自动分配。具体的,本发明实施例五提供了一种中断号分配方法,包括:
PCI控制器扫描获取待分配设备标识和与待分配设备连接的中断线的标识,了解硬件的设备连接情况,然后,从驱动资源中获取已注册的分配函数,以调用分配函数的形式,根据待分配设备的标识和中断线的标识得到分配给待分配设备的中断号;将待分配设备的中断号写入PCI配置空间中的中断请求域中,实现为待分配设备分配中断号;
当中断类型为非标准类型时,还需要CPU读取中断请求域中的中断号;并且调用中断挂接函数,将中断号对应的中断处理函数挂接到中断线的标识对应的中断链表中,使得处理器响应待分配设备的中断请求时,待分配设备能够即刻响应,开始工作。
本发明还提供一种中断号分配装置,图4为本发明实施例提供的中断号分配装置实施例一的结构示意图,如图4所示,本发明实施例提供的装置包括:第一获取模块210和分配模块220。
具体的,第一获取模块210,用于获取待分配设备标识和与待分配设备连接的中断线的标识;分配模块220,用于根据第一获取模块210获取得到的待分配设备的标识和中断线的标识将预设的中断号分配给待分配设备。
其中,中断号与中断线的标识对应。
其中,该装置是用于实现图1所示的方法,其实现原理和实现效果类似,在此不再赘述。
进一步地,在上述实施例一的技术方案的技术上,在实施例二中,图5为本发明实施例提供的中断号分配装置实施例二的结构示意图,如图5所示,若待分配设备与外部设备互连总线PCI连接;则分配模块220包括:分配模块220包括:获取单元221和写入单元222。
具体的,获取单元221,根据待分配设备的标识和中断线的标识得到分配给待分配设备的中断号;写入单元222,将获取单元221获取到的待分配设备的中断号写入PCI配置空间中的中断请求域。
其中,在本实施例中实现图2的方法,其实现原理和实现效果类似,在此不再赘述。
进一步地,在上述实施例一和实施例二的技术方案的基础上,在本实施例三中,该装置还包括:第二获取模块,用于获取分配函数;分配模块220具体用于以调用第二获取模块获得的分配函数的形式,根据待分配设备的标识和中断线的标识将预设的中断号分配给待分配设备。
具体的,第二获取模块具体用于从驱动资源中获取已注册的分配函数。
进一步地,在上述实施例三的技术方案的基础上,在实施例四中,图6本发明实施例提供的中断线分配装置实施例四的结构示意图,如图6所示,中断号分配装置还包括:读取模块230和挂接模块240。
具体的,读取模块230,用于读取中断请求域中的中断号;挂接模块240,用于调用中断挂接函数,将读取模块230读取到的中断号对应的中断处理函数挂接到中断线的标识对应的中断链表中。
其中,中断线与中断链表一一对应。
可选地,在VxWorks操作系统中,中断挂接函数从VxWorks系统中的库函数获取得到,另外,中断挂接函数还可以为用户自己添加的可以实现中断响应的函数。
其中,本实施例提供的装置用于实现图3所示的方法,实现原理与效果类似,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种中断号分配方法,其特征在于,包括:
获取待分配设备标识和与所述待分配设备连接的中断线的标识;
根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备;
其中,所述中断号与所述中断线的标识对应。
2.根据权利要求1所述的分配方法,其特征在于,若所述待分配设备与外部设备互连总线PCI连接;
则所述根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备,包括:
根据所述待分配设备的标识和所述中断线的标识得到分配给所述待分配设备的中断号;
将所述待分配设备的中断号写入PCI配置空间中的中断请求域。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备之前,还包括:
获取分配函数;
所述根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备,包括:
以调用所述分配函数的形式,根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
读取所述中断请求域中的中断号;
调用中断挂接函数,将所述中断号对应的中断处理函数挂接到所述中断线的标识对应的中断链表中;
其中,所述中断线与所述中断链表一一对应。
5.根据权利要求3所述的方法,其特征在于,所述获取分配函数,包括:
从驱动资源中获取已注册的分配函数。
6.根据权利要求4所述的方法,其特征在于,在VxWorks操作系统中,所述中断挂接函数从所述VxWorks系统中的库函数中获取得到。
7.一种中断号分配装置,其特征在于,包括:
第一获取模块,用于获取待分配设备标识和与所述待分配设备连接的中断线的标识;
分配模块,用于根据所述第一获取模块获取得到的所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备;
其中,所述中断号与所述中断线的标识对应。
8.根据权利要求7所述的装置,其特征在于,若所述待分配设备与外部设备互连总线PCI连接;
则分配模块包括:
获取单元,根据所述待分配设备的标识和所述中断线的标识得到分配给所述待分配设备的中断号;
写入单元,将所述获取单元获取到的待分配设备的中断号写入PCI配置空间中的中断请求域。
9.根据权利要求7或8所述的装置,其特征在于,还包括:
第二获取模块,用于获取分配函数;
所述分配模块具体用于以调用所述第二获取模块获得的分配函数的形式,根据所述待分配设备的标识和所述中断线的标识将预设的中断号分配给所述待分配设备。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
读取模块,用于读取所述中断请求域中的中断号;
挂接模块,用于调用中断挂接函数,将所述读取模块读取到的所述中断号对应的中断处理函数挂接到所述中断线的标识对应的中断链表中;
其中,所述中断线与所述中断链表一一对应。
11.根据权利要求9所述的装置,其特征在于,所述获取单元具体用于从驱动资源中获取已注册的分配函数。
12.根据权利要求10所述的装置,其特征在于,在VxWorks操作系统中,所述中断挂接函数从所述VxWorks系统中的库函数中获取得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610067788.7A CN107025186A (zh) | 2016-01-29 | 2016-01-29 | 中断号分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610067788.7A CN107025186A (zh) | 2016-01-29 | 2016-01-29 | 中断号分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107025186A true CN107025186A (zh) | 2017-08-08 |
Family
ID=59525137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610067788.7A Pending CN107025186A (zh) | 2016-01-29 | 2016-01-29 | 中断号分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107025186A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416317A (zh) * | 2022-01-20 | 2022-04-29 | 科东(广州)软件科技有限公司 | 核间中断执行方法、处理方法及装置、设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572282A (zh) * | 2015-01-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种将sas控制器中断绑定到cpu的自动化方法 |
-
2016
- 2016-01-29 CN CN201610067788.7A patent/CN107025186A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572282A (zh) * | 2015-01-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种将sas控制器中断绑定到cpu的自动化方法 |
Non-Patent Citations (6)
Title |
---|
NIEFANGNA: ""PCI Configuration For BSP Developers"", 《百度文库》 * |
周启平 张杨: "《VxWorks下设备驱动程序及BSP开发指南》", 30 September 2004, 中国电力出版社 * |
唐晓平: "VxWorks在cPCI高速数据采集系统中的应用研究", 《中国优秀硕士学位论文全文数据库》 * |
孙海彬: "支持PCI总线的CORBA可插拔协议研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
怯肇乾: "基于底层硬件的软件设计", 《北京航空航天大学出版社》 * |
王迪: "基于X86体系结构VxWorks_SMP调度和中断机制研究与优化", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416317A (zh) * | 2022-01-20 | 2022-04-29 | 科东(广州)软件科技有限公司 | 核间中断执行方法、处理方法及装置、设备和存储介质 |
CN114416317B (zh) * | 2022-01-20 | 2022-12-02 | 科东(广州)软件科技有限公司 | 核间中断执行方法、处理方法及装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595353B (zh) | 一种基于PCIe总线的控制数据传输的方法及装置 | |
US7293119B2 (en) | DMA data transfer between low-overhead processor and connected external circuitry using transactions log | |
US7823131B2 (en) | Debugger for a hardware-implemented operating system | |
CN102184122B (zh) | 一种龙芯CPU主板bios及中断的实现方法 | |
DE69031547T2 (de) | Befehlsausgabe für ein Rechnersystem | |
JP5357972B2 (ja) | コンピュータシステムにおける割り込み通信技術 | |
CN101211323A (zh) | 一种硬件中断的处理方法和处理装置 | |
JPS6336461A (ja) | 汎用チャネル制御方式 | |
CN103544105B (zh) | 多核处理器中基于vcpu的调试方法和装置 | |
DE102021107336A1 (de) | VORRICHTUNGEN, SYSTEME, UND VERFAHREN FÜR PCIe ENDPUNKT INTERRUPT | |
CN112084128A (zh) | 消息中断通信方法、计算机设备和存储介质 | |
CN106933512B (zh) | 一种数据读写的方法及其设备 | |
CN110421974B (zh) | 打标方法及装置、激光打标机 | |
CN115827518A (zh) | 外接设备管理方法、装置、设备及存储介质 | |
CN108845946B (zh) | 一种终端、调试系统以及终端调试方法 | |
CN107025186A (zh) | 中断号分配方法及装置 | |
CN102884515B (zh) | 串口重定向处理方法、设备和系统 | |
CN116302006B (zh) | 模拟器的热升级方法及相关装置 | |
DE112012005663B4 (de) | Vorrichtung, Verfahren und System zur Zuweisung von Prozesen oder Threads an Agenten | |
CN113051149A (zh) | 一种用例参数生成方法及装置 | |
CN110493365A (zh) | 一种共用通道网络切换方法和装置 | |
CN108694040B (zh) | 调用处理方法及装置、通信系统 | |
US20200327091A1 (en) | Device communication control module and device communication control method | |
CN105874764A (zh) | 计算机及设备访问方法 | |
JP3085730B2 (ja) | 複合cpuシステムの並列シミュレーション方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170808 |
|
RJ01 | Rejection of invention patent application after publication |