3.4 中断驱动程序的动态分析

3.4.1 中断驱动程序的初始化

中断驱动程序结构比较简单,因此该驱动的构建过程也比较简单,几个函数库都是静态构建的,唯一需要动态创建的就是中断控制芯片的初始化。

在函数sysHwInit()中调用了函数sysIntInitPIC ()完成了中断控制芯片的初始化,并指定intEoiGet = sysIntEoiGet。此后就可以正常使用中断驱动了。如图3.7。

VxWorks Interrupt Routine

图3.7 中断控制器的初始化过程

3.4.2 中断驱动程序的应用

中断驱动程序为上层应用程序提供了通用的函数接口,这些函数接口如表3.2所示。注意有些函数如sysLib中的sysIntInitPIC虽然属于提供给上层的函数,但是他的上层用户只有sysLib库的sysHwInit函数,因此不作为为上层应用软件提供的接口。

表格 3.2 中断驱动程序提供的通用函数接口

VxWorks Interrupt Routine

注意:控制CPU屏蔽中断和控制中断控制器屏蔽中断的作用是不同的,前者可以控制的中断范围更大,只要是可屏蔽中断都能完成;而后置控制的范围则较小,只有链接到中断控制器的外围中断才是可以屏蔽的。