金华网站建设方案开发,玫瑰花代码编程python,网店推广新思维,网站开发 网页设计北京师范大学出版社所有SGI都是边缘触发的#xff0c;sgi的灵敏度类型是固定的#xff0c;不能改变。
软中断初始化流程
1、初始化异常处理
2、初始化中断控制器
3、注册异常处理回调函数到CPU
4、连接软中断信号与注册软中断回调函数
5、使能中断控制器中的软中断中断
6、使能异常处理 …所有SGI都是边缘触发的sgi的灵敏度类型是固定的不能改变。
软中断初始化流程
1、初始化异常处理
2、初始化中断控制器
3、注册异常处理回调函数到CPU
4、连接软中断信号与注册软中断回调函数
5、使能中断控制器中的软中断中断
6、使能异常处理
int initSwIntr(){int status;Xil_ExceptionInit();GicPtrXScuGic_LookupConfig(GIC_VEC_ID);statusXScuGic_CfgInitialize(ScuGic,GicPtr,GicPtr-CpuBaseAddress);if(status!XST_SUCCESS){return XST_FAILURE;}Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT,(Xil_ExceptionHandler)XScuGic_InterruptHandler,(void *)ScuGic);statusXScuGic_Connect(ScuGic,CPU0_SW_INTR,(Xil_ExceptionHandler)cpu0IntrHandler,(void *)ScuGic);if(status!XST_SUCCESS){return XST_FAILURE;}Xil_ExceptionEnable();return XST_SUCCESS;}
使用时
例中断cpu1
XScuGic_SoftwareIntr(ScuGic,CPU1_SW_INTR,XSCUGIC_SPI_CPU1_MASK); XScuGic_SoftwareIntr(XScuGic *InstancePtr, u32 Int_Id, u32 Cpu_Id)
u32 Int_Id中断目标的cpu的中断ID。
u32 Cpu_Id目的cpu号Cpu_Id is the list of CPUs to send the interrupt.例如cpu1 XSCUGIC_SPI_CPU1_MASK
cpu0 XSCUGIC_SPI_CPU0_MASK